xref: /llvm-project/llvm/test/tools/dsymutil/X86/dwarf5-addrbase-broken.test (revision 53d40b973913f60caee2e21908a48bf865e5ba1c)
1fa2fb885SShubham Sandeep Rastogi## This test checks handling of DWARFv5 address attribute.
2fa2fb885SShubham Sandeep Rastogi## It contains two compile units. One is a good one and
3fa2fb885SShubham Sandeep Rastogi## should be processed correctly. Second is a bad - it
4fa2fb885SShubham Sandeep Rastogi## missing DW_AT_addr_base attribute. All address attributes
5fa2fb885SShubham Sandeep Rastogi## inside this unit should be skipped.
6fa2fb885SShubham Sandeep Rastogi
7fa2fb885SShubham Sandeep Rastogi# RUN: yaml2obj %s -o %t.o
8fa2fb885SShubham Sandeep Rastogi# RUN: echo '---' > %t2.map
9fa2fb885SShubham Sandeep Rastogi# RUN: echo "triple:          'x86_64-apple-darwin'" >> %t2.map
10fa2fb885SShubham Sandeep Rastogi# RUN: echo 'objects:'  >> %t2.map
11fa2fb885SShubham Sandeep Rastogi# RUN: echo " -  filename: '%t.o'" >> %t2.map
12fa2fb885SShubham Sandeep Rastogi# RUN: echo '    symbols:' >> %t2.map
13fa2fb885SShubham Sandeep Rastogi# RUN: echo '      - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }' >> %t2.map
14fa2fb885SShubham Sandeep Rastogi# RUN: echo '...' >> %t2.map
15fa2fb885SShubham Sandeep Rastogi# RUN: dsymutil -y %t2.map -f -o - | llvm-dwarfdump -a - | FileCheck %s
16fa2fb885SShubham Sandeep Rastogi
17fa2fb885SShubham Sandeep Rastogi# CHECK: file format Mach-O 64-bit x86-64
18fa2fb885SShubham Sandeep Rastogi# CHECK: .debug_info contents:
19fa2fb885SShubham Sandeep Rastogi# CHECK: Compile Unit:
20fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_compile_unit
21fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"GoodCU"
22fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_low_pc
23fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_subprogram
24fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"foo"
25fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_variable
26fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"var1"
27fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_location        (DW_OP_addr
28*53d40b97SShubham Sandeep Rastogi# CHECK: 0x00000043:   NULL
29fa2fb885SShubham Sandeep Rastogi# CHECK: Compile Unit:
30fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_compile_unit
31fa2fb885SShubham Sandeep Rastogi# CHECK-NOT: DW_AT_low_pc
32fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"BadCU"
33fa2fb885SShubham Sandeep Rastogi# CHECK-NOT: DW_TAG_subprogram
34fa2fb885SShubham Sandeep Rastogi# CHECK-NOT: DW_TAG_variable
35*53d40b97SShubham Sandeep Rastogi# CHECK: 0x0000005b:   NULL
36fa2fb885SShubham Sandeep Rastogi
37fa2fb885SShubham Sandeep Rastogi--- !mach-o
38fa2fb885SShubham Sandeep RastogiFileHeader:
39fa2fb885SShubham Sandeep Rastogi  magic:      0xFEEDFACF
40fa2fb885SShubham Sandeep Rastogi  cputype:    0x01000007
41fa2fb885SShubham Sandeep Rastogi  cpusubtype: 0x00000003
42fa2fb885SShubham Sandeep Rastogi  filetype:   0x00000001
43fa2fb885SShubham Sandeep Rastogi  ncmds:      2
44fa2fb885SShubham Sandeep Rastogi  sizeofcmds: 472
45fa2fb885SShubham Sandeep Rastogi  flags:      0x00002000
46fa2fb885SShubham Sandeep Rastogi  reserved:   0x00000000
47fa2fb885SShubham Sandeep RastogiLoadCommands:
48fa2fb885SShubham Sandeep Rastogi  - cmd:      LC_SEGMENT_64
49fa2fb885SShubham Sandeep Rastogi    cmdsize:  312
50fa2fb885SShubham Sandeep Rastogi    segname:  ''
51fa2fb885SShubham Sandeep Rastogi    vmaddr:   0x00
52fa2fb885SShubham Sandeep Rastogi    vmsize:   0x300
53fa2fb885SShubham Sandeep Rastogi    fileoff:  0x300
54fa2fb885SShubham Sandeep Rastogi    filesize: 0x300
55fa2fb885SShubham Sandeep Rastogi    maxprot:  7
56fa2fb885SShubham Sandeep Rastogi    initprot: 7
57fa2fb885SShubham Sandeep Rastogi    nsects:   3
58fa2fb885SShubham Sandeep Rastogi    flags:    0
59fa2fb885SShubham Sandeep Rastogi    Sections:
60fa2fb885SShubham Sandeep Rastogi      - sectname:  __debug_abbrev
61fa2fb885SShubham Sandeep Rastogi        segname:   __DWARF
62fa2fb885SShubham Sandeep Rastogi        addr:      0x000000000000000F
63fa2fb885SShubham Sandeep Rastogi        size:      0x60
64fa2fb885SShubham Sandeep Rastogi        offset:    0x00000210
65fa2fb885SShubham Sandeep Rastogi        align:     0
66fa2fb885SShubham Sandeep Rastogi        reloff:    0x00000000
67fa2fb885SShubham Sandeep Rastogi        nreloc:    0
68fa2fb885SShubham Sandeep Rastogi        flags:     0x00000000
69fa2fb885SShubham Sandeep Rastogi        reserved1: 0x00000000
70fa2fb885SShubham Sandeep Rastogi        reserved2: 0x00000000
71fa2fb885SShubham Sandeep Rastogi        reserved3: 0x00000000
72fa2fb885SShubham Sandeep Rastogi      - sectname:  __debug_info
73fa2fb885SShubham Sandeep Rastogi        segname:   __DWARF
74fa2fb885SShubham Sandeep Rastogi        addr:      0x000000000000100
75fa2fb885SShubham Sandeep Rastogi        size:      0x9e
76fa2fb885SShubham Sandeep Rastogi        offset:    0x00000310
77fa2fb885SShubham Sandeep Rastogi        align:     0
78fa2fb885SShubham Sandeep Rastogi        reloff:    0x00000000
79fa2fb885SShubham Sandeep Rastogi        nreloc:    0
80fa2fb885SShubham Sandeep Rastogi        flags:     0x00000000
81fa2fb885SShubham Sandeep Rastogi        reserved1: 0x00000000
82fa2fb885SShubham Sandeep Rastogi        reserved2: 0x00000000
83fa2fb885SShubham Sandeep Rastogi        reserved3: 0x00000000
84fa2fb885SShubham Sandeep Rastogi      - sectname:  __debug_addr
85fa2fb885SShubham Sandeep Rastogi        segname:   __DWARF
86fa2fb885SShubham Sandeep Rastogi        addr:      0x0000000000000200
87fa2fb885SShubham Sandeep Rastogi        size:      0x30
88fa2fb885SShubham Sandeep Rastogi        offset:    0x00000400
89fa2fb885SShubham Sandeep Rastogi        align:     0
90fa2fb885SShubham Sandeep Rastogi        reloff:    0x00000600
91fa2fb885SShubham Sandeep Rastogi        nreloc:    2
92fa2fb885SShubham Sandeep Rastogi        flags:     0x02000000
93fa2fb885SShubham Sandeep Rastogi        reserved1: 0x00000000
94fa2fb885SShubham Sandeep Rastogi        reserved2: 0x00000000
95fa2fb885SShubham Sandeep Rastogi        reserved3: 0x00000000
96fa2fb885SShubham Sandeep Rastogi        relocations:
97fa2fb885SShubham Sandeep Rastogi          - address:         0x8
98fa2fb885SShubham Sandeep Rastogi            symbolnum:       1
99fa2fb885SShubham Sandeep Rastogi            pcrel:           true
100fa2fb885SShubham Sandeep Rastogi            length:          3
101fa2fb885SShubham Sandeep Rastogi            extern:          true
102fa2fb885SShubham Sandeep Rastogi            type:            0
103fa2fb885SShubham Sandeep Rastogi            scattered:       false
104fa2fb885SShubham Sandeep Rastogi            value:           0
105fa2fb885SShubham Sandeep Rastogi          - address:         0x1c
106fa2fb885SShubham Sandeep Rastogi            symbolnum:       1
107fa2fb885SShubham Sandeep Rastogi            pcrel:           true
108fa2fb885SShubham Sandeep Rastogi            length:          3
109fa2fb885SShubham Sandeep Rastogi            extern:          true
110fa2fb885SShubham Sandeep Rastogi            type:            0
111fa2fb885SShubham Sandeep Rastogi            scattered:       false
112fa2fb885SShubham Sandeep Rastogi            value:           0
113fa2fb885SShubham Sandeep Rastogi  - cmd:             LC_SYMTAB
114fa2fb885SShubham Sandeep Rastogi    cmdsize:         24
115fa2fb885SShubham Sandeep Rastogi    symoff:          0x700
116fa2fb885SShubham Sandeep Rastogi    nsyms:           2
117fa2fb885SShubham Sandeep Rastogi    stroff:          0x720
118fa2fb885SShubham Sandeep Rastogi    strsize:         10
119fa2fb885SShubham Sandeep RastogiLinkEditData:
120fa2fb885SShubham Sandeep Rastogi  NameList:
121fa2fb885SShubham Sandeep Rastogi    - n_strx:          1
122fa2fb885SShubham Sandeep Rastogi      n_type:          0x0F
123fa2fb885SShubham Sandeep Rastogi      n_sect:          1
124fa2fb885SShubham Sandeep Rastogi      n_desc:          0
125fa2fb885SShubham Sandeep Rastogi      n_value:         0
126fa2fb885SShubham Sandeep Rastogi    - n_strx:          1
127fa2fb885SShubham Sandeep Rastogi      n_type:          0x0F
128fa2fb885SShubham Sandeep Rastogi      n_sect:          1
129fa2fb885SShubham Sandeep Rastogi      n_desc:          0
130fa2fb885SShubham Sandeep Rastogi      n_value:         0
131fa2fb885SShubham Sandeep Rastogi  StringTable:
132fa2fb885SShubham Sandeep Rastogi    - ''
133fa2fb885SShubham Sandeep Rastogi    - '__Z3foov'
134fa2fb885SShubham Sandeep Rastogi    - ''
135fa2fb885SShubham Sandeep RastogiDWARF:
136fa2fb885SShubham Sandeep Rastogi  debug_abbrev:
137fa2fb885SShubham Sandeep Rastogi    - Table:
138fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_compile_unit
139fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_yes
140fa2fb885SShubham Sandeep Rastogi        Attributes:
141fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_producer
142fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
143fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_language
144fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_data2
145fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
146fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
147fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_low_pc
148fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_addrx
149fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_high_pc
150fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_data8
151fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_addr_base
152fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_sec_offset
153fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_subprogram
154fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_yes
155fa2fb885SShubham Sandeep Rastogi        Attributes:
156fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
157fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
158fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_low_pc
159fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_addrx
160fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_high_pc
161fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_data8
162fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_type
163fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_ref4
164fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_base_type
165fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_no
166fa2fb885SShubham Sandeep Rastogi        Attributes:
167fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
168fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
169fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_variable
170fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_no
171fa2fb885SShubham Sandeep Rastogi        Attributes:
172fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
173fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
174fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_type
175fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_ref4
176fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_location
177fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_exprloc
178fa2fb885SShubham Sandeep Rastogi    - Table:
179fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_compile_unit
180fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_yes
181fa2fb885SShubham Sandeep Rastogi        Attributes:
182fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_producer
183fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
184fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_language
185fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_data2
186fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
187fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
188fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_low_pc
189fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_addrx
190fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_high_pc
191fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_data8
192fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_subprogram
193fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_yes
194fa2fb885SShubham Sandeep Rastogi        Attributes:
195fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
196fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
197fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_low_pc
198fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_addrx
199fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_high_pc
200fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_data8
201fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_type
202fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_ref4
203fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_base_type
204fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_no
205fa2fb885SShubham Sandeep Rastogi        Attributes:
206fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
207fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
208fa2fb885SShubham Sandeep Rastogi      - Tag:      DW_TAG_variable
209fa2fb885SShubham Sandeep Rastogi        Children: DW_CHILDREN_no
210fa2fb885SShubham Sandeep Rastogi        Attributes:
211fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_name
212fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_string
213fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_type
214fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_ref4
215fa2fb885SShubham Sandeep Rastogi          - Attribute: DW_AT_location
216fa2fb885SShubham Sandeep Rastogi            Form:      DW_FORM_exprloc
217fa2fb885SShubham Sandeep Rastogi  debug_info:
218fa2fb885SShubham Sandeep Rastogi    - Version: 5
219fa2fb885SShubham Sandeep Rastogi      UnitType:   DW_UT_compile
220fa2fb885SShubham Sandeep Rastogi      Entries:
221fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 1
222fa2fb885SShubham Sandeep Rastogi          Values:
223fa2fb885SShubham Sandeep Rastogi            - CStr: by_hand
224fa2fb885SShubham Sandeep Rastogi            - Value:  0x04
225fa2fb885SShubham Sandeep Rastogi            - CStr: GoodCU
226fa2fb885SShubham Sandeep Rastogi            - Value:  0x0
227fa2fb885SShubham Sandeep Rastogi            - Value:  0x10
228fa2fb885SShubham Sandeep Rastogi            - Value:  0x8
229fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 2
230fa2fb885SShubham Sandeep Rastogi          Values:
231fa2fb885SShubham Sandeep Rastogi            - CStr: foo
232fa2fb885SShubham Sandeep Rastogi            - Value: 0x0
233fa2fb885SShubham Sandeep Rastogi            - Value: 0x10
234fa2fb885SShubham Sandeep Rastogi            - Value: 0x3e
235fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 0
236fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 3
237fa2fb885SShubham Sandeep Rastogi          Values:
238fa2fb885SShubham Sandeep Rastogi            - CStr: int
239fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 4
240fa2fb885SShubham Sandeep Rastogi          Values:
241fa2fb885SShubham Sandeep Rastogi            - CStr: var1
242fa2fb885SShubham Sandeep Rastogi            - Value:  0x0000003e
243fa2fb885SShubham Sandeep Rastogi            - BlockData:
244fa2fb885SShubham Sandeep Rastogi                - 0xa1
245fa2fb885SShubham Sandeep Rastogi                - 0x00
246fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 0
247fa2fb885SShubham Sandeep Rastogi    - Version: 5
248fa2fb885SShubham Sandeep Rastogi      UnitType:   DW_UT_compile
249fa2fb885SShubham Sandeep Rastogi      Entries:
250fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 1
251fa2fb885SShubham Sandeep Rastogi          Values:
252fa2fb885SShubham Sandeep Rastogi            - CStr: by_hand
253fa2fb885SShubham Sandeep Rastogi            - Value:  0x04
254fa2fb885SShubham Sandeep Rastogi            - CStr: BadCU
255fa2fb885SShubham Sandeep Rastogi            - Value:  0x0
256fa2fb885SShubham Sandeep Rastogi            - Value:  0x10
257fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 2
258fa2fb885SShubham Sandeep Rastogi          Values:
259fa2fb885SShubham Sandeep Rastogi            - CStr: foo1
260fa2fb885SShubham Sandeep Rastogi            - Value: 0x0
261fa2fb885SShubham Sandeep Rastogi            - Value: 0x10
262fa2fb885SShubham Sandeep Rastogi            - Value: 0x3e
263fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 0
264fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 3
265fa2fb885SShubham Sandeep Rastogi          Values:
266fa2fb885SShubham Sandeep Rastogi            - CStr: int
267fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 4
268fa2fb885SShubham Sandeep Rastogi          Values:
269fa2fb885SShubham Sandeep Rastogi            - CStr: var1
270fa2fb885SShubham Sandeep Rastogi            - Value:  0x0000003e
271fa2fb885SShubham Sandeep Rastogi            - BlockData:
272fa2fb885SShubham Sandeep Rastogi                - 0xa1
273fa2fb885SShubham Sandeep Rastogi                - 0x00
274fa2fb885SShubham Sandeep Rastogi        - AbbrCode: 0
275fa2fb885SShubham Sandeep Rastogi  debug_addr:
276fa2fb885SShubham Sandeep Rastogi    - Version: 5
277fa2fb885SShubham Sandeep Rastogi      AddressSize: 0x08
278fa2fb885SShubham Sandeep Rastogi      Entries:
279fa2fb885SShubham Sandeep Rastogi        - Address: 0x1130
280fa2fb885SShubham Sandeep Rastogi    - Version: 5
281fa2fb885SShubham Sandeep Rastogi      AddressSize: 0x08
282fa2fb885SShubham Sandeep Rastogi      Entries:
283fa2fb885SShubham Sandeep Rastogi        - Address: 0x10
284fa2fb885SShubham Sandeep Rastogi...
285