xref: /llvm-project/bolt/test/X86/Inputs/plt-mold.yaml (revision 20204db50389d9c2b7796722d69e9c94a6a37be5)
1--- !ELF
2FileHeader:
3  Class:           ELFCLASS64
4  Data:            ELFDATA2LSB
5  Type:            ET_DYN
6  Machine:         EM_X86_64
7  Entry:           0x13D0
8ProgramHeaders:
9  - Type:            PT_PHDR
10    Flags:           [ PF_R ]
11    VAddr:           0x40
12    Align:           0x8
13  - Type:            PT_INTERP
14    Flags:           [ PF_R ]
15    FirstSec:        .interp
16    LastSec:         .interp
17    VAddr:           0x270
18  - Type:            PT_LOAD
19    Flags:           [ PF_R ]
20    FirstSec:        .interp
21    LastSec:         .rodata.str
22    Align:           0x1000
23  - Type:            PT_LOAD
24    Flags:           [ PF_X, PF_R ]
25    FirstSec:        .plt
26    LastSec:         .text
27    VAddr:           0x13A0
28    Align:           0x1000
29  - Type:            PT_LOAD
30    Flags:           [ PF_W, PF_R ]
31    FirstSec:        .dynamic
32    LastSec:         .relro_padding
33    VAddr:           0x23F8
34    Align:           0x1000
35  - Type:            PT_LOAD
36    Flags:           [ PF_W, PF_R ]
37    FirstSec:        .got.plt
38    LastSec:         .got.plt
39    VAddr:           0x3550
40    Align:           0x1000
41  - Type:            PT_DYNAMIC
42    Flags:           [ PF_W, PF_R ]
43    FirstSec:        .dynamic
44    LastSec:         .dynamic
45    VAddr:           0x23F8
46    Align:           0x8
47  - Type:            PT_GNU_EH_FRAME
48    Flags:           [ PF_R ]
49    FirstSec:        .eh_frame_hdr
50    LastSec:         .eh_frame_hdr
51    VAddr:           0x37C
52    Align:           0x4
53  - Type:            PT_GNU_STACK
54    Flags:           [ PF_W, PF_R ]
55  - Type:            PT_GNU_RELRO
56    Flags:           [ PF_R ]
57    FirstSec:        .dynamic
58    LastSec:         .relro_padding
59    VAddr:           0x23F8
60Sections:
61  - Name:            .interp
62    Type:            SHT_PROGBITS
63    Flags:           [ SHF_ALLOC ]
64    Address:         0x270
65    AddressAlign:    0x1
66    Content:         2F6C696236342F6C642D6C696E75782D7838362D36342E736F2E3200
67  - Name:            .gnu.hash
68    Type:            SHT_GNU_HASH
69    Flags:           [ SHF_ALLOC ]
70    Address:         0x290
71    Link:            .dynsym
72    AddressAlign:    0x8
73    Header:
74      SymNdx:          0x2
75      Shift2:          0x1A
76    BloomFilter:     [ 0x0 ]
77    HashBuckets:     [ 0x0 ]
78    HashValues:      [  ]
79  - Name:            .dynsym
80    Type:            SHT_DYNSYM
81    Flags:           [ SHF_ALLOC ]
82    Address:         0x2B0
83    Link:            .dynstr
84    AddressAlign:    0x8
85  - Name:            .dynstr
86    Type:            SHT_STRTAB
87    Flags:           [ SHF_ALLOC ]
88    Address:         0x2E0
89    AddressAlign:    0x1
90  - Name:            .gnu.version
91    Type:            SHT_GNU_versym
92    Flags:           [ SHF_ALLOC ]
93    Address:         0x2FE
94    Link:            .dynsym
95    AddressAlign:    0x2
96    Entries:         [ 0, 2 ]
97  - Name:            .gnu.version_r
98    Type:            SHT_GNU_verneed
99    Flags:           [ SHF_ALLOC ]
100    Address:         0x308
101    Link:            .dynstr
102    AddressAlign:    0x8
103    Dependencies:
104      - Version:         1
105        File:            libc.so.6
106        Entries:
107          - Name:            GLIBC_2.2.5
108            Hash:            157882997
109            Flags:           0
110            Other:           2
111  - Name:            .rela.plt
112    Type:            SHT_RELA
113    Flags:           [ SHF_ALLOC, SHF_INFO_LINK ]
114    Address:         0x328
115    Link:            .dynsym
116    AddressAlign:    0x8
117    Info:            .got.plt
118    Relocations:
119      - Offset:          0x3568
120        Symbol:          printf
121        Type:            R_X86_64_JUMP_SLOT
122  - Name:            .eh_frame
123    Type:            SHT_PROGBITS
124    Flags:           [ SHF_ALLOC ]
125    Address:         0x340
126    AddressAlign:    0x8
127    Content:         1400000000000000017A5200017810011B0C0708900100001C0000001C000000701000002500000000410E108602430D06600C070800000000000000
128  - Name:            .eh_frame_hdr
129    Type:            SHT_PROGBITS
130    Flags:           [ SHF_ALLOC ]
131    Address:         0x37C
132    AddressAlign:    0x4
133    Content:         011B033BC0FFFFFF0100000054100000DCFFFFFF
134  - Name:            .rodata.str
135    Type:            SHT_PROGBITS
136    Flags:           [ SHF_ALLOC ]
137    Address:         0x390
138    AddressAlign:    0x1
139    Content:         48656C6C6F20776F726C64210A00
140  - Name:            .plt
141    Type:            SHT_PROGBITS
142    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
143    Address:         0x13A0
144    AddressAlign:    0x10
145    Content:         F30F1EFA4153FF35AC210000FF25AE210000CCCCCCCCCCCCCCCCCCCCCCCCCCCCF30F1EFA41BB00000000FF2598210000
146  - Name:            .text
147    Type:            SHT_PROGBITS
148    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
149    Address:         0x13D0
150    AddressAlign:    0x10
151    Content:         554889E54883EC10C745FC00000000488D3DAAEFFFFFB000E8D3FFFFFF31C04883C4105DC3
152  - Name:            .dynamic
153    Type:            SHT_DYNAMIC
154    Flags:           [ SHF_WRITE, SHF_ALLOC ]
155    Address:         0x23F8
156    Link:            .dynstr
157    AddressAlign:    0x8
158    Entries:
159      - Tag:             DT_NEEDED
160        Value:           0x1
161      - Tag:             DT_JMPREL
162        Value:           0x328
163      - Tag:             DT_PLTRELSZ
164        Value:           0x18
165      - Tag:             DT_PLTREL
166        Value:           0x7
167      - Tag:             DT_PLTGOT
168        Value:           0x3550
169      - Tag:             DT_SYMTAB
170        Value:           0x2B0
171      - Tag:             DT_SYMENT
172        Value:           0x18
173      - Tag:             DT_STRTAB
174        Value:           0x2E0
175      - Tag:             DT_STRSZ
176        Value:           0x1E
177      - Tag:             DT_VERSYM
178        Value:           0x2FE
179      - Tag:             DT_VERNEED
180        Value:           0x308
181      - Tag:             DT_VERNEEDNUM
182        Value:           0x1
183      - Tag:             DT_GNU_HASH
184        Value:           0x290
185      - Tag:             DT_FLAGS_1
186        Value:           0x8000000
187      - Tag:             DT_DEBUG
188        Value:           0x0
189      - Tag:             DT_NULL
190        Value:           0x0
191      - Tag:             DT_NULL
192        Value:           0x0
193      - Tag:             DT_NULL
194        Value:           0x0
195      - Tag:             DT_NULL
196        Value:           0x0
197      - Tag:             DT_NULL
198        Value:           0x0
199      - Tag:             DT_NULL
200        Value:           0x0
201  - Name:            .got
202    Type:            SHT_PROGBITS
203    Flags:           [ SHF_WRITE, SHF_ALLOC ]
204    Address:         0x2548
205    AddressAlign:    0x8
206    Content:         '0000000000000000'
207  - Name:            .relro_padding
208    Type:            SHT_NOBITS
209    Flags:           [ SHF_WRITE, SHF_ALLOC ]
210    Address:         0x2550
211    AddressAlign:    0x1
212    Size:            0xAB0
213  - Name:            .got.plt
214    Type:            SHT_PROGBITS
215    Flags:           [ SHF_WRITE, SHF_ALLOC ]
216    Address:         0x3550
217    AddressAlign:    0x8
218    Content:         F82300000000000000000000000000000000000000000000A013000000000000
219  - Name:            .rela.text
220    Type:            SHT_RELA
221    Flags:           [ SHF_INFO_LINK ]
222    Link:            .symtab
223    AddressAlign:    0x8
224    Info:            .text
225    Relocations:
226      - Offset:          0x13E2
227        Symbol:          .L.str
228        Type:            R_X86_64_PC32
229        Addend:          -4
230      - Offset:          0x13E9
231        Symbol:          printf
232        Type:            R_X86_64_PLT32
233        Addend:          -4
234  - Type:            SectionHeaderTable
235    Sections:
236      - Name:            .interp
237      - Name:            .gnu.hash
238      - Name:            .dynsym
239      - Name:            .dynstr
240      - Name:            .gnu.version
241      - Name:            .gnu.version_r
242      - Name:            .rela.plt
243      - Name:            .eh_frame
244      - Name:            .eh_frame_hdr
245      - Name:            .rodata.str
246      - Name:            .plt
247      - Name:            .text
248      - Name:            .rela.text
249      - Name:            .dynamic
250      - Name:            .got
251      - Name:            .relro_padding
252      - Name:            .got.plt
253      - Name:            .symtab
254      - Name:            .strtab
255      - Name:            .shstrtab
256Symbols:
257  - Name:            .interp
258    Type:            STT_SECTION
259    Section:         .interp
260    Value:           0x270
261  - Name:            .gnu.hash
262    Type:            STT_SECTION
263    Section:         .gnu.hash
264    Value:           0x290
265  - Name:            .dynsym
266    Type:            STT_SECTION
267    Section:         .dynsym
268    Value:           0x2B0
269  - Name:            .dynstr
270    Type:            STT_SECTION
271    Section:         .dynstr
272    Value:           0x2E0
273  - Name:            .gnu.version
274    Type:            STT_SECTION
275    Section:         .gnu.version
276    Value:           0x2FE
277  - Name:            .gnu.version_r
278    Type:            STT_SECTION
279    Section:         .gnu.version_r
280    Value:           0x308
281  - Name:            .rela.plt
282    Type:            STT_SECTION
283    Section:         .rela.plt
284    Value:           0x328
285  - Name:            .eh_frame
286    Type:            STT_SECTION
287    Section:         .eh_frame
288    Value:           0x340
289  - Name:            .eh_frame_hdr
290    Type:            STT_SECTION
291    Section:         .eh_frame_hdr
292    Value:           0x37C
293  - Name:            .rodata.str
294    Type:            STT_SECTION
295    Section:         .rodata.str
296    Value:           0x390
297  - Name:            .plt
298    Type:            STT_SECTION
299    Section:         .plt
300    Value:           0x13A0
301  - Name:            .text
302    Type:            STT_SECTION
303    Section:         .text
304    Value:           0x13D0
305  - Name:            .dynamic
306    Type:            STT_SECTION
307    Section:         .dynamic
308    Value:           0x23F8
309  - Name:            .got
310    Type:            STT_SECTION
311    Section:         .got
312    Value:           0x2548
313  - Name:            .relro_padding
314    Type:            STT_SECTION
315    Section:         .relro_padding
316    Value:           0x2550
317  - Name:            .got.plt
318    Type:            STT_SECTION
319    Section:         .got.plt
320    Value:           0x3550
321  - Name:            'printf$plt'
322    Type:            STT_FUNC
323    Section:         .plt
324    Value:           0x13C0
325  - Name:            hello.c
326    Type:            STT_FILE
327    Index:           SHN_ABS
328  - Name:            .L.str
329    Type:            STT_OBJECT
330    Section:         .rodata.str
331    Value:           0x390
332  - Name:            main
333    Type:            STT_FUNC
334    Section:         .text
335    Value:           0x13D0
336    Size:            0x25
337  - Name:            __ehdr_start
338    Section:         .interp
339  - Name:            __init_array_start
340    Index:           SHN_ABS
341  - Name:            __init_array_end
342    Index:           SHN_ABS
343  - Name:            __fini_array_start
344    Index:           SHN_ABS
345  - Name:            __fini_array_end
346    Index:           SHN_ABS
347  - Name:            __preinit_array_start
348    Index:           SHN_ABS
349  - Name:            __preinit_array_end
350    Index:           SHN_ABS
351  - Name:            _DYNAMIC
352    Section:         .dynamic
353    Value:           0x23F8
354  - Name:            _GLOBAL_OFFSET_TABLE_
355    Section:         .got.plt
356    Value:           0x3550
357  - Name:            _PROCEDURE_LINKAGE_TABLE_
358    Section:         .plt
359    Value:           0x13A0
360  - Name:            __bss_start
361    Index:           SHN_ABS
362  - Name:            _end
363    Section:         .got.plt
364    Value:           0x3570
365  - Name:            _etext
366    Section:         .text
367    Value:           0x13F5
368  - Name:            _edata
369    Section:         .got.plt
370    Value:           0x3570
371  - Name:            __executable_start
372    Section:         .interp
373  - Name:            __rela_iplt_start
374    Index:           SHN_ABS
375  - Name:            __rela_iplt_end
376    Index:           SHN_ABS
377  - Name:            __GNU_EH_FRAME_HDR
378    Section:         .eh_frame_hdr
379    Value:           0x37C
380  - Name:            end
381    Section:         .got.plt
382    Value:           0x3570
383  - Name:            etext
384    Section:         .text
385    Value:           0x13F5
386  - Name:            edata
387    Section:         .got.plt
388    Value:           0x3570
389  - Name:            __dso_handle
390    Section:         .interp
391  - Name:            _TLS_MODULE_BASE_
392    Section:         .interp
393  - Name:            printf
394    Binding:         STB_GLOBAL
395DynamicSymbols:
396  - Name:            printf
397    Type:            STT_FUNC
398    Binding:         STB_GLOBAL
399...
400