Files
clang-p2996/llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-template-parameters.test
Alexey Lapshin f1fdfe6888 [dsymutil][llvm-dwarfutil] Rename command line options to avoid using vendor names. (#78135)
This patch renames values of dsymutil/llvm-dwarfutil options:

--linker apple -> --linker classic
--linker llvm -> --linker parallel

The purpose to rename options is to avoid using vendor names and to
match with library names. It should be safe to rename options at current
stage as they are not seemed widely used(we may not preserve backward
compatibility).
2024-01-18 12:55:04 +03:00

202 lines
5.8 KiB
Plaintext

# RUN: yaml2obj %s -o %t.o
# RUN: echo '---' > %t2.map
# RUN: echo "triple: 'x86_64-apple-darwin'" >> %t2.map
# RUN: echo 'objects:' >> %t2.map
# RUN: echo " - filename: '%t.o'" >> %t2.map
# RUN: echo ' symbols:' >> %t2.map
# RUN: echo ' - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }' >> %t2.map
# RUN: echo '...' >> %t2.map
# RUN: dsymutil --linker=parallel -y %t2.map -f -o - | llvm-dwarfdump -a - | FileCheck %s
## This test checks debug info for the template parameters of the class.
## (i.e. number of the parameters is correct, names of the parameters
## are correct, types of the parameters are correct)
# CHECK: file format Mach-O 64-bit x86-64
# CHECK: 0x0000000b: DW_TAG_compile_unit
# CHECK: DW_AT_producer{{.*}}"llvm DWARFLinkerParallel library version
# CHECK: DW_AT_language{{.*}}DW_LANG_C_plus_plus
# CHECK: DW_AT_name{{.*}}"__artificial_type_unit"
# CHECK: 0x[[CHAR:[0-9a-f]*]]: DW_TAG_base_type
# CHECK: DW_AT_name{{.*}}"char"
# CHECK: 0x[[FLOAT:[0-9a-f]*]]: DW_TAG_base_type
# CHECK: DW_AT_name{{.*}}"float"
# CHECK: 0x[[INT:[0-9a-f]*]]: DW_TAG_base_type
# CHECK: DW_AT_name{{.*}}"int"
# CHECK: 0x[[CLASS:[0-9a-f]*]]: DW_TAG_class_type
# CHECK: DW_AT_name{{.*}}"parametrized-class"
# CHECK: DW_TAG_template_type_parameter
# CHECK: DW_AT_type{{.*}}(0x[[INT]] "int"
# CHECK: DW_AT_name{{.*}}"Type1"
# CHECK: DW_AT_type{{.*}}(0x[[CHAR]] "char"
# CHECK: DW_AT_name{{.*}}"Type2"
# CHECK: DW_AT_type{{.*}}(0x[[FLOAT]] "float"
# CHECK: DW_AT_name{{.*}}"Type3"
# CHECK: DW_TAG_compile_unit
# CHECK: DW_TAG_variable
# CHECK: DW_AT_type (0x00000000[[CLASS]]
--- !mach-o
FileHeader:
magic: 0xFEEDFACF
cputype: 0x01000007
cpusubtype: 0x00000003
filetype: 0x00000001
ncmds: 2
sizeofcmds: 376
flags: 0x00002000
reserved: 0x00000000
LoadCommands:
- cmd: LC_SEGMENT_64
cmdsize: 232
segname: ''
vmaddr: 0x00
vmsize: 0x300
fileoff: 0x300
filesize: 0x300
maxprot: 7
initprot: 7
nsects: 2
flags: 0
Sections:
- sectname: __debug_abbrev
segname: __DWARF
addr: 0x000000000000000F
size: 0x37
offset: 0x00000380
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
- sectname: __debug_info
segname: __DWARF
addr: 0x000000000000100
size: 0x7B
offset: 0x000003B7
align: 0
reloff: 0x00000600
nreloc: 1
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
relocations:
- address: 0x000001FC
symbolnum: 1
pcrel: true
length: 3
extern: false
type: 0
scattered: false
value: 0
- cmd: LC_SYMTAB
cmdsize: 24
symoff: 0x700
nsyms: 1
stroff: 0x710
strsize: 10
LinkEditData:
NameList:
- n_strx: 1
n_type: 0x0F
n_sect: 1
n_desc: 0
n_value: 0
StringTable:
- ''
- '__Z3foov'
- ''
DWARF:
debug_abbrev:
- Table:
- Tag: DW_TAG_compile_unit
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_producer
Form: DW_FORM_string
- Attribute: DW_AT_language
Form: DW_FORM_data2
- Tag: DW_TAG_class_type
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_string
- Tag: DW_TAG_template_type_parameter
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Attribute: DW_AT_name
Form: DW_FORM_string
- Tag: DW_TAG_template_value_parameter
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Attribute: DW_AT_name
Form: DW_FORM_string
- Attribute: DW_AT_const_value
Form: DW_FORM_data4
- Tag: DW_TAG_base_type
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_string
- Tag: DW_TAG_variable
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_string
- Attribute: DW_AT_const_value
Form: DW_FORM_data4
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
debug_info:
- Version: 4
Entries:
- AbbrCode: 1
Values:
- CStr: by_hand
- Value: 0x04
- AbbrCode: 2
Values:
- CStr: parametrized-class
- AbbrCode: 3
Values:
- Value: 0x0000005B
- CStr: Type1
- AbbrCode: 3
Values:
- Value: 0x00000060
- CStr: Type2
- AbbrCode: 4
Values:
- Value: 0x0000005B
- CStr: Type1
- Value: 0x0FE
- AbbrCode: 3
Values:
- Value: 0x00000066
- CStr: Type3
- AbbrCode: 0
- AbbrCode: 5
Values:
- CStr: int
- AbbrCode: 5
Values:
- CStr: char
- AbbrCode: 5
Values:
- CStr: float
- AbbrCode: 6
Values:
- CStr: var
- Value: 0x000000FF
- Value: 0x00000016
- AbbrCode: 0
...