summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj/dynamic.test
blob: 9ae7b6027470ed68d3822001a639680709187d06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
// Check dynamic section tags in case of shared library file.
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.mips \
RUN:     | FileCheck %s -check-prefix ELF-MIPS

ELF-MIPS: Format: ELF32-mips
ELF-MIPS: Arch: mipsel
ELF-MIPS: AddressSize: 32bit
ELF-MIPS: LoadName:
ELF-MIPS: DynamicSection [ (23 entries)
ELF-MIPS:   Tag        Type                 Name/Value
ELF-MIPS:   0x00000001 NEEDED               SharedLibrary (libc.so.6)
ELF-MIPS:   0x0000000C INIT                 0x528
ELF-MIPS:   0x0000000D FINI                 0x860
ELF-MIPS:   0x00000004 HASH                 0x210
ELF-MIPS:   0x00000005 STRTAB               0x3D8
ELF-MIPS:   0x00000006 SYMTAB               0x2A8
ELF-MIPS:   0x0000000A STRSZ                231 (bytes)
ELF-MIPS:   0x0000000B SYMENT               16 (bytes)
ELF-MIPS:   0x00000003 PLTGOT               0x108E0
ELF-MIPS:   0x00000011 REL                  0x518
ELF-MIPS:   0x00000012 RELSZ                16 (bytes)
ELF-MIPS:   0x00000013 RELENT               8 (bytes)
ELF-MIPS:   0x70000001 MIPS_RLD_VERSION     1
ELF-MIPS:   0x70000005 MIPS_FLAGS           NOTPOT
ELF-MIPS:   0x70000006 MIPS_BASE_ADDRESS    0x0
ELF-MIPS:   0x7000000A MIPS_LOCAL_GOTNO     10
ELF-MIPS:   0x70000011 MIPS_SYMTABNO        19
ELF-MIPS:   0x70000012 MIPS_UNREFEXTNO      26
ELF-MIPS:   0x70000013 MIPS_GOTSYM          0xD
ELF-MIPS:   0x6FFFFFFE VERNEED              0x4E8
ELF-MIPS:   0x6FFFFFFF VERNEEDNUM           1
ELF-MIPS:   0x6FFFFFF0 VERSYM               0x4C0
ELF-MIPS:   0x00000000 NULL                 0x0
ELF-MIPS: ]

// Check dynamic section tags in case of non-pic executable file.
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-exe.mips \
RUN:     | FileCheck %s -check-prefix ELF-MIPS-EXE

ELF-MIPS-EXE: Format: ELF32-mips
ELF-MIPS-EXE: Arch: mipsel
ELF-MIPS-EXE: AddressSize: 32bit
ELF-MIPS-EXE: LoadName:
ELF-MIPS-EXE: DynamicSection [ (26 entries)
ELF-MIPS-EXE:   Tag        Type                 Name/Value
ELF-MIPS-EXE:   0x00000001 NEEDED               SharedLibrary (libc.so.6)
ELF-MIPS-EXE:   0x0000000C INIT                 0x400418
ELF-MIPS-EXE:   0x0000000D FINI                 0x4007B0
ELF-MIPS-EXE:   0x00000004 HASH                 0x4002B8
ELF-MIPS-EXE:   0x00000005 STRTAB               0x40036C
ELF-MIPS-EXE:   0x00000006 SYMTAB               0x4002EC
ELF-MIPS-EXE:   0x0000000A STRSZ                107 (bytes)
ELF-MIPS-EXE:   0x0000000B SYMENT               16 (bytes)
ELF-MIPS-EXE:   0x70000016 MIPS_RLD_MAP         0x410880
ELF-MIPS-EXE:   0x00000015 DEBUG                0x0
ELF-MIPS-EXE:   0x00000003 PLTGOT               0x410890
ELF-MIPS-EXE:   0x70000001 MIPS_RLD_VERSION     1
ELF-MIPS-EXE:   0x70000005 MIPS_FLAGS           NOTPOT
ELF-MIPS-EXE:   0x70000006 MIPS_BASE_ADDRESS    0x400000
ELF-MIPS-EXE:   0x7000000A MIPS_LOCAL_GOTNO     5
ELF-MIPS-EXE:   0x70000011 MIPS_SYMTABNO        8
ELF-MIPS-EXE:   0x70000012 MIPS_UNREFEXTNO      32
ELF-MIPS-EXE:   0x70000013 MIPS_GOTSYM          0x7
ELF-MIPS-EXE:   0x00000014 PLTREL               REL
ELF-MIPS-EXE:   0x00000017 JMPREL               0x400408
ELF-MIPS-EXE:   0x00000002 PLTRELSZ             16 (bytes)
ELF-MIPS-EXE:   0x70000032 MIPS_PLTGOT          0x410854
ELF-MIPS-EXE:   0x6FFFFFFE VERNEED              0x4003E8
ELF-MIPS-EXE:   0x6FFFFFFF VERNEEDNUM           1
ELF-MIPS-EXE:   0x6FFFFFF0 VERSYM               0x4003D8
ELF-MIPS-EXE:   0x00000000 NULL                 0x0
ELF-MIPS-EXE: ]

RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-exe.x86 \
RUN:     | FileCheck %s -check-prefix ELF-X86-EXE

ELF-X86-EXE: Format: ELF32-i386
ELF-X86-EXE: Arch: i386
ELF-X86-EXE: AddressSize: 32bit
ELF-X86-EXE: LoadName:
ELF-X86-EXE: DynamicSection [ (30 entries)
ELF-X86-EXE:   Tag        Type                 Name/Value
ELF-X86-EXE:   0x00000001 NEEDED               SharedLibrary (libstdc++.so.6)
ELF-X86-EXE:   0x00000001 NEEDED               SharedLibrary (libgcc_s.so.1)
ELF-X86-EXE:   0x00000001 NEEDED               SharedLibrary (libc.so.6)
ELF-X86-EXE:   0x0000000C INIT                 0x62C
ELF-X86-EXE:   0x0000000D FINI                 0x920
ELF-X86-EXE:   0x00000019 INIT_ARRAY           0x19FC
ELF-X86-EXE:   0x0000001B INIT_ARRAYSZ         4 (bytes)
ELF-X86-EXE:   0x0000001A FINI_ARRAY           0x1A00
ELF-X86-EXE:   0x0000001C FINI_ARRAYSZ         4 (bytes)
ELF-X86-EXE:   0x00000004 HASH                 0x18C
ELF-X86-EXE:   0x6FFFFEF5 GNU_HASH             0x1E4
ELF-X86-EXE:   0x00000005 STRTAB               0x328
ELF-X86-EXE:   0x00000006 SYMTAB               0x218
ELF-X86-EXE:   0x0000000A STRSZ                408 (bytes)
ELF-X86-EXE:   0x0000000B SYMENT               16 (bytes)
ELF-X86-EXE:   0x00000015 DEBUG                0x0
ELF-X86-EXE:   0x00000003 PLTGOT               0x1B30
ELF-X86-EXE:   0x00000002 PLTRELSZ             64 (bytes)
ELF-X86-EXE:   0x00000014 PLTREL               REL
ELF-X86-EXE:   0x00000017 JMPREL               0x5EC
ELF-X86-EXE:   0x00000011 REL                  0x564
ELF-X86-EXE:   0x00000012 RELSZ                136 (bytes)
ELF-X86-EXE:   0x00000013 RELENT               8 (bytes)
ELF-X86-EXE:   0x00000016 TEXTREL
ELF-X86-EXE:   0x0000001E FLAGS                TEXTREL
ELF-X86-EXE:   0x6FFFFFFE VERNEED              0x4E4
ELF-X86-EXE:   0x6FFFFFFF VERNEEDNUM           3
ELF-X86-EXE:   0x6FFFFFF0 VERSYM               0x4C0
ELF-X86-EXE:   0x6FFFFFFA RELCOUNT             6
ELF-X86-EXE:   0x00000000 NULL                 0x0
ELF-X86-EXE: ]

RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.aarch64 \
RUN:     | FileCheck %s -check-prefix ELF-AARCH64-SO

ELF-AARCH64-SO: Format: ELF64-aarch64-little
ELF-AARCH64-SO: Arch: aarch64
ELF-AARCH64-SO: AddressSize: 64bit
ELF-AARCH64-SO: LoadName: 
ELF-AARCH64-SO: DynamicSection [ (26 entries)
ELF-AARCH64-SO:   Tag                Type                 Name/Value
ELF-AARCH64-SO:   0x0000000000000001 NEEDED               SharedLibrary (libc.so.6)
ELF-AARCH64-SO:   0x000000000000000C INIT                 0x660
ELF-AARCH64-SO:   0x000000000000000D FINI                 0x83C
ELF-AARCH64-SO:   0x0000000000000019 INIT_ARRAY           0x10DB8
ELF-AARCH64-SO:   0x000000000000001B INIT_ARRAYSZ         8 (bytes)
ELF-AARCH64-SO:   0x000000000000001A FINI_ARRAY           0x10DC0
ELF-AARCH64-SO:   0x000000000000001C FINI_ARRAYSZ         8 (bytes)
ELF-AARCH64-SO:   0x000000006FFFFEF5 GNU_HASH             0x1F0
ELF-AARCH64-SO:   0x0000000000000005 STRTAB               0x420
ELF-AARCH64-SO:   0x0000000000000006 SYMTAB               0x240
ELF-AARCH64-SO:   0x000000000000000A STRSZ                210 (bytes)
ELF-AARCH64-SO:   0x000000000000000B SYMENT               24 (bytes)
ELF-AARCH64-SO:   0x0000000000000003 PLTGOT               0x10FE8
ELF-AARCH64-SO:   0x0000000000000002 PLTRELSZ             96 (bytes)
ELF-AARCH64-SO:   0x0000000000000014 PLTREL               RELA
ELF-AARCH64-SO:   0x0000000000000017 JMPREL               0x600
ELF-AARCH64-SO:   0x000000006FFFFEF6 TLSDESC_PLT          0x6D0
ELF-AARCH64-SO:   0x000000006FFFFEF7 TLSDESC_GOT          0x10FE0
ELF-AARCH64-SO:   0x0000000000000007 RELA                 0x540
ELF-AARCH64-SO:   0x0000000000000008 RELASZ               192 (bytes)
ELF-AARCH64-SO:   0x0000000000000009 RELAENT              24 (bytes)
ELF-AARCH64-SO:   0x000000006FFFFFFE VERNEED              0x520
ELF-AARCH64-SO:   0x000000006FFFFFFF VERNEEDNUM           1
ELF-AARCH64-SO:   0x000000006FFFFFF0 VERSYM               0x4F2
ELF-AARCH64-SO:   0x000000006FFFFFF9 RELACOUNT            3
ELF-AARCH64-SO:   0x0000000000000000 NULL                 0x0
ELF-AARCH64-SO: ]
OpenPOWER on IntegriCloud