1 // REQUIRES
: arm
, aarch64
3 // RUN
: llvm-mc
-filetype
=obj
-triple
=armv7a-none-linux-gnueabi
%p
/Inputs
/arm-shared.s
-o
%t.a32.so.o
4 // RUN
: ld.lld
-shared
%t.a32.so.o
-soname
=so
-o
%t.a32.so
5 // RUN
: llvm-mc
-filetype
=obj
-triple
=armv7a-none-linux-gnueabi
%s
-o
%t.a32.o
6 // RUN
: ld.lld
-pie
--pack-dyn-relocs
=none
%t.a32.o
%t.a32.so
-o
%t2.a32
7 // RUN
: llvm-readobj
-r
%t2.a32 | FileCheck
--check-prefix
=UNPACKED32
%s
9 // RUN
: not ld.lld
--pack-dyn-relocs
=invalid
%t.a32.o
%t.a32.so
-o
/dev
/null
2>&1 | FileCheck
%s
--check-prefix
=UNKNOWN
11 // UNKNOWN
: unknown
--pack-dyn-relocs format
: invalid
13 /// Unpacked should have the relative relocations in their natural order.
14 /// UNPACKED32
: Section
({{.+}}) .rel.dyn {
15 // UNPACKED32-NEXT
: 0x30324 R_ARM_RELATIVE
-
16 // UNPACKED32-NEXT
: 0x30328 R_ARM_RELATIVE
-
17 // UNPACKED32-NEXT
: 0x3032C R_ARM_RELATIVE
-
18 // UNPACKED32-NEXT
: 0x30330 R_ARM_RELATIVE
-
19 // UNPACKED32-NEXT
: 0x30334 R_ARM_RELATIVE
-
20 // UNPACKED32-NEXT
: 0x30338 R_ARM_RELATIVE
-
21 // UNPACKED32-NEXT
: 0x3033C R_ARM_RELATIVE
-
22 // UNPACKED32-NEXT
: 0x30340 R_ARM_RELATIVE
-
24 // UNPACKED32-NEXT
: 0x30348 R_ARM_RELATIVE
-
25 // UNPACKED32-NEXT
: 0x3034C R_ARM_RELATIVE
-
26 // UNPACKED32-NEXT
: 0x30350 R_ARM_RELATIVE
-
27 // UNPACKED32-NEXT
: 0x30354 R_ARM_RELATIVE
-
28 // UNPACKED32-NEXT
: 0x30358 R_ARM_RELATIVE
-
29 // UNPACKED32-NEXT
: 0x3035C R_ARM_RELATIVE
-
30 // UNPACKED32-NEXT
: 0x30360 R_ARM_RELATIVE
-
32 // UNPACKED32-NEXT
: 0x3036C R_ARM_RELATIVE
-
33 // UNPACKED32-NEXT
: 0x30370 R_ARM_RELATIVE
-
34 // UNPACKED32-NEXT
: 0x30374 R_ARM_RELATIVE
-
35 // UNPACKED32-NEXT
: 0x30378 R_ARM_RELATIVE
-
36 // UNPACKED32-NEXT
: 0x3037C R_ARM_RELATIVE
-
37 // UNPACKED32-NEXT
: 0x30380 R_ARM_RELATIVE
-
38 // UNPACKED32-NEXT
: 0x30384 R_ARM_RELATIVE
-
39 // UNPACKED32-NEXT
: 0x30388 R_ARM_RELATIVE
-
40 // UNPACKED32-NEXT
: 0x3038C R_ARM_RELATIVE
-
41 // UNPACKED32-NEXT
: 0x30391 R_ARM_RELATIVE
-
43 // UNPACKED32-NEXT
: 0x30344 R_ARM_ABS32 bar2
44 // UNPACKED32-NEXT
: 0x30368 R_ARM_ABS32 bar2
45 // UNPACKED32-NEXT
: 0x30395 R_ARM_ABS32 bar2
46 // UNPACKED32-NEXT
: 0x30399 R_ARM_ABS32 bar2
47 // UNPACKED32-NEXT
: 0x3039D R_ARM_ABS32 bar2
48 // UNPACKED32-NEXT
: 0x303A1 R_ARM_ABS32 bar2
49 // UNPACKED32-NEXT
: 0x303A5 R_ARM_ABS32 bar2
50 // UNPACKED32-NEXT
: 0x30364 R_ARM_ABS32 zed2
53 // RUN
: ld.lld
-pie
--pack-dyn-relocs
=android
%t.a32.o
%t.a32.so
-o
%t3.a32
54 // RUN
: llvm-readobj
-S
--dynamic-table
%t3.a32 | FileCheck
--check-prefix
=ANDROID32-HEADERS
%s
55 // RUN
: llvm-readobj
-r
%t3.a32 | FileCheck
--check-prefix
=ANDROID32
%s
57 // ANDROID32-HEADERS
: Index
: 1
58 // ANDROID32-HEADERS-NEXT
: Name
: .dynsym
60 // ANDROID32-HEADERS
: Name
: .rel.dyn
61 // ANDROID32-HEADERS-NEXT
: Type
: SHT_ANDROID_REL
62 // ANDROID32-HEADERS-NEXT
: Flags
[ (0x2)
63 // ANDROID32-HEADERS-NEXT
: SHF_ALLOC
(0x2)
64 // ANDROID32-HEADERS-NEXT
: ]
65 // ANDROID32-HEADERS-NEXT
: Address
: [[ADDR
:.*]]
66 // ANDROID32-HEADERS-NEXT
: Offset
: [[ADDR
]]
67 // ANDROID32-HEADERS-NEXT
: Size
: [[SIZE
:.*]]
68 // ANDROID32-HEADERS-NEXT
: Link
: 1
69 // ANDROID32-HEADERS-NEXT
: Info
: 0
70 // ANDROID32-HEADERS-NEXT
: AddressAlignment
: 4
71 // ANDROID32-HEADERS-NEXT
: EntrySize
: 1
73 // ANDROID32-HEADERS
: 0x6000000F ANDROID_REL
[[ADDR
]]
74 // ANDROID32-HEADERS
: 0x60000010 ANDROID_RELSZ
[[SIZE
]]
76 /// Packed should have the groups of non-relative relocations first
, followed
77 /// by the larger groups of relative relocations
(i.e. the
8 and 9 followed
79 // ANDROID32
: Section
({{.+}}) .rel.dyn {
80 // ANDROID32-NEXT
: 0x3024C R_ARM_RELATIVE
-
81 // ANDROID32-NEXT
: 0x30250 R_ARM_RELATIVE
-
82 // ANDROID32-NEXT
: 0x30254 R_ARM_RELATIVE
-
83 // ANDROID32-NEXT
: 0x30258 R_ARM_RELATIVE
-
84 // ANDROID32-NEXT
: 0x3025C R_ARM_RELATIVE
-
85 // ANDROID32-NEXT
: 0x30260 R_ARM_RELATIVE
-
86 // ANDROID32-NEXT
: 0x30264 R_ARM_RELATIVE
-
87 // ANDROID32-NEXT
: 0x30268 R_ARM_RELATIVE
-
89 // ANDROID32-NEXT
: 0x30294 R_ARM_RELATIVE
-
90 // ANDROID32-NEXT
: 0x30298 R_ARM_RELATIVE
-
91 // ANDROID32-NEXT
: 0x3029C R_ARM_RELATIVE
-
92 // ANDROID32-NEXT
: 0x302A0 R_ARM_RELATIVE
-
93 // ANDROID32-NEXT
: 0x302A4 R_ARM_RELATIVE
-
94 // ANDROID32-NEXT
: 0x302A8 R_ARM_RELATIVE
-
95 // ANDROID32-NEXT
: 0x302AC R_ARM_RELATIVE
-
96 // ANDROID32-NEXT
: 0x302B0 R_ARM_RELATIVE
-
97 // ANDROID32-NEXT
: 0x302B4 R_ARM_RELATIVE
-
99 // ANDROID32-NEXT
: 0x30270 R_ARM_RELATIVE
-
100 // ANDROID32-NEXT
: 0x30274 R_ARM_RELATIVE
-
101 // ANDROID32-NEXT
: 0x30278 R_ARM_RELATIVE
-
102 // ANDROID32-NEXT
: 0x3027C R_ARM_RELATIVE
-
103 // ANDROID32-NEXT
: 0x30280 R_ARM_RELATIVE
-
104 // ANDROID32-NEXT
: 0x30284 R_ARM_RELATIVE
-
105 // ANDROID32-NEXT
: 0x30288 R_ARM_RELATIVE
-
107 // ANDROID32-NEXT
: 0x302B9 R_ARM_RELATIVE
-
109 // ANDROID32-NEXT
: 0x3026C R_ARM_ABS32 bar2
110 // ANDROID32-NEXT
: 0x30290 R_ARM_ABS32 bar2
111 // ANDROID32-NEXT
: 0x302BD R_ARM_ABS32 bar2
112 // ANDROID32-NEXT
: 0x302C1 R_ARM_ABS32 bar2
113 // ANDROID32-NEXT
: 0x302C5 R_ARM_ABS32 bar2
114 // ANDROID32-NEXT
: 0x302C9 R_ARM_ABS32 bar2
115 // ANDROID32-NEXT
: 0x302CD R_ARM_ABS32 bar2
116 // ANDROID32-NEXT
: 0x3028C R_ARM_ABS32 zed2
119 // RUN
: ld.lld
-pie
--pack-dyn-relocs
=relr
%t.a32.o
%t.a32.so
-o
%t4.a32
120 // RUN
: llvm-readobj
-S
--dynamic-table
%t4.a32 | FileCheck
--check-prefix
=RELR32-HEADERS
%s
121 // RUN
: llvm-readobj
-r
--raw-relr
%t4.a32 | FileCheck
--check-prefix
=RAW-RELR32
%s
122 // RUN
: llvm-readobj
-r
%t4.a32 | FileCheck
--check-prefix
=RELR32
%s
124 // RELR32-HEADERS
: Index
: 1
125 // RELR32-HEADERS-NEXT
: Name
: .dynsym
127 // RELR32-HEADERS
: Name
: .relr.dyn
128 // RELR32-HEADERS-NEXT
: Type
: SHT_RELR
129 // RELR32-HEADERS-NEXT
: Flags
[ (0x2)
130 // RELR32-HEADERS-NEXT
: SHF_ALLOC
(0x2)
131 // RELR32-HEADERS-NEXT
: ]
132 // RELR32-HEADERS-NEXT
: Address
: [[ADDR
:.*]]
133 // RELR32-HEADERS-NEXT
: Offset
: [[ADDR
]]
134 // RELR32-HEADERS-NEXT
: Size
: 8
135 // RELR32-HEADERS-NEXT
: Link
: 0
136 // RELR32-HEADERS-NEXT
: Info
: 0
137 // RELR32-HEADERS-NEXT
: AddressAlignment
: 4
138 // RELR32-HEADERS-NEXT
: EntrySize
: 4
140 // RELR32-HEADERS
: 0x00000024 RELR
[[ADDR
]]
141 // RELR32-HEADERS
: 0x00000023 RELRSZ
8 (bytes
)
142 // RELR32-HEADERS
: 0x00000025 RELRENT
4 (bytes
)
144 /// SHT_RELR section contains address
/bitmap entries
145 /// encoding the offsets for relative relocation.
146 // RAW-RELR32
: Section
({{.+}}) .relr.dyn {
147 // RAW-RELR32-NEXT
: 0x30284
148 // RAW-RELR32-NEXT
: 0x7FCFEFF
149 // RAW-RELR32-NEXT
: }
151 /// Decoded SHT_RELR section is same as UNPACKED
,
152 /// but contains only the relative relocations.
153 /// Any relative relocations with odd offset stay in SHT_REL.
154 // RELR32
: Section
({{.+}}) .rel.dyn {
155 // RELR32-NEXT
: 0x302F1 R_ARM_RELATIVE
-
156 // RELR32-NEXT
: 0x302A4 R_ARM_ABS32 bar2
157 // RELR32-NEXT
: 0x302C8 R_ARM_ABS32 bar2
158 // RELR32-NEXT
: 0x302F5 R_ARM_ABS32 bar2
159 // RELR32-NEXT
: 0x302F9 R_ARM_ABS32 bar2
160 // RELR32-NEXT
: 0x302FD R_ARM_ABS32 bar2
161 // RELR32-NEXT
: 0x30301 R_ARM_ABS32 bar2
162 // RELR32-NEXT
: 0x30305 R_ARM_ABS32 bar2
163 // RELR32-NEXT
: 0x302C4 R_ARM_ABS32 zed2
165 // RELR32-NEXT
: Section
({{.+}}) .relr.dyn {
166 // RELR32-NEXT
: 0x30284 R_ARM_RELATIVE
-
167 // RELR32-NEXT
: 0x30288 R_ARM_RELATIVE
-
168 // RELR32-NEXT
: 0x3028C R_ARM_RELATIVE
-
169 // RELR32-NEXT
: 0x30290 R_ARM_RELATIVE
-
170 // RELR32-NEXT
: 0x30294 R_ARM_RELATIVE
-
171 // RELR32-NEXT
: 0x30298 R_ARM_RELATIVE
-
172 // RELR32-NEXT
: 0x3029C R_ARM_RELATIVE
-
173 // RELR32-NEXT
: 0x302A0 R_ARM_RELATIVE
-
175 // RELR32-NEXT
: 0x302A8 R_ARM_RELATIVE
-
176 // RELR32-NEXT
: 0x302AC R_ARM_RELATIVE
-
177 // RELR32-NEXT
: 0x302B0 R_ARM_RELATIVE
-
178 // RELR32-NEXT
: 0x302B4 R_ARM_RELATIVE
-
179 // RELR32-NEXT
: 0x302B8 R_ARM_RELATIVE
-
180 // RELR32-NEXT
: 0x302BC R_ARM_RELATIVE
-
181 // RELR32-NEXT
: 0x302C0 R_ARM_RELATIVE
-
183 // RELR32-NEXT
: 0x302CC R_ARM_RELATIVE
-
184 // RELR32-NEXT
: 0x302D0 R_ARM_RELATIVE
-
185 // RELR32-NEXT
: 0x302D4 R_ARM_RELATIVE
-
186 // RELR32-NEXT
: 0x302D8 R_ARM_RELATIVE
-
187 // RELR32-NEXT
: 0x302DC R_ARM_RELATIVE
-
188 // RELR32-NEXT
: 0x302E0 R_ARM_RELATIVE
-
189 // RELR32-NEXT
: 0x302E4 R_ARM_RELATIVE
-
190 // RELR32-NEXT
: 0x302E8 R_ARM_RELATIVE
-
191 // RELR32-NEXT
: 0x302EC R_ARM_RELATIVE
-
194 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64-unknown-linux
%p
/Inputs
/shared2.s
-o
%t.a64.so.o
195 // RUN
: ld.lld
-shared
%t.a64.so.o
-soname
=so
-o
%t.a64.so
196 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64-unknown-linux
%s
-o
%t.a64.o
197 // RUN
: ld.lld
-pie
--pack-dyn-relocs
=none
%t.a64.o
%t.a64.so
-o
%t2.a64
198 // RUN
: llvm-readobj
-r
%t2.a64 | FileCheck
--check-prefix
=UNPACKED64
%s
200 // UNPACKED64
: Section
({{.+}}) .rela.dyn {
201 // UNPACKED64-NEXT
: 0x30690 R_AARCH64_RELATIVE
- 0x1
202 // UNPACKED64-NEXT
: 0x30698 R_AARCH64_RELATIVE
- 0x2
203 // UNPACKED64-NEXT
: 0x306A0 R_AARCH64_RELATIVE
- 0x3
204 // UNPACKED64-NEXT
: 0x306A8 R_AARCH64_RELATIVE
- 0x4
205 // UNPACKED64-NEXT
: 0x306B0 R_AARCH64_RELATIVE
- 0x5
206 // UNPACKED64-NEXT
: 0x306B8 R_AARCH64_RELATIVE
- 0x6
207 // UNPACKED64-NEXT
: 0x306C0 R_AARCH64_RELATIVE
- 0x7
208 // UNPACKED64-NEXT
: 0x306C8 R_AARCH64_RELATIVE
- 0x8
210 // UNPACKED64-NEXT
: 0x306D8 R_AARCH64_RELATIVE
- 0x1
211 // UNPACKED64-NEXT
: 0x306E0 R_AARCH64_RELATIVE
- 0x2
212 // UNPACKED64-NEXT
: 0x306E8 R_AARCH64_RELATIVE
- 0x3
213 // UNPACKED64-NEXT
: 0x306F0 R_AARCH64_RELATIVE
- 0x4
214 // UNPACKED64-NEXT
: 0x306F8 R_AARCH64_RELATIVE
- 0x5
215 // UNPACKED64-NEXT
: 0x30700 R_AARCH64_RELATIVE
- 0x6
216 // UNPACKED64-NEXT
: 0x30708 R_AARCH64_RELATIVE
- 0x7
218 // UNPACKED64-NEXT
: 0x30720 R_AARCH64_RELATIVE
- 0x1
219 // UNPACKED64-NEXT
: 0x30728 R_AARCH64_RELATIVE
- 0x2
220 // UNPACKED64-NEXT
: 0x30730 R_AARCH64_RELATIVE
- 0x3
221 // UNPACKED64-NEXT
: 0x30738 R_AARCH64_RELATIVE
- 0x4
222 // UNPACKED64-NEXT
: 0x30740 R_AARCH64_RELATIVE
- 0x5
223 // UNPACKED64-NEXT
: 0x30748 R_AARCH64_RELATIVE
- 0x6
224 // UNPACKED64-NEXT
: 0x30750 R_AARCH64_RELATIVE
- 0x7
225 // UNPACKED64-NEXT
: 0x30758 R_AARCH64_RELATIVE
- 0x8
226 // UNPACKED64-NEXT
: 0x30760 R_AARCH64_RELATIVE
- 0x9
228 // UNPACKED64-NEXT
: 0x30769 R_AARCH64_RELATIVE
- 0xA
230 // UNPACKED64-NEXT
: 0x306D0 R_AARCH64_ABS64 bar2
0x1
231 // UNPACKED64-NEXT
: 0x30718 R_AARCH64_ABS64 bar2
0x0
232 // UNPACKED64-NEXT
: 0x30771 R_AARCH64_ABS64 bar2
0x0
233 // UNPACKED64-NEXT
: 0x30779 R_AARCH64_ABS64 bar2
0x0
234 // UNPACKED64-NEXT
: 0x30781 R_AARCH64_ABS64 bar2
0x1
235 // UNPACKED64-NEXT
: 0x30789 R_AARCH64_ABS64 bar2
0x1
236 // UNPACKED64-NEXT
: 0x30791 R_AARCH64_ABS64 bar2
0x0
237 // UNPACKED64-NEXT
: 0x30710 R_AARCH64_ABS64 zed2
0x0
238 // UNPACKED64-NEXT
: }
240 // RUN
: ld.lld
-pie
--pack-dyn-relocs
=android
%t.a64.o
%t.a64.so
-o
%t3.a64
241 // RUN
: llvm-readobj
-S
--dynamic-table
%t3.a64 | FileCheck
--check-prefix
=ANDROID64-HEADERS
%s
242 // RUN
: llvm-readobj
-r
%t3.a64 | FileCheck
--check-prefix
=ANDROID64
%s
244 // ANDROID64-HEADERS
: Index
: 1
245 // ANDROID64-HEADERS-NEXT
: Name
: .dynsym
247 // ANDROID64-HEADERS
: Name
: .rela.dyn
248 // ANDROID64-HEADERS-NEXT
: Type
: SHT_ANDROID_RELA
249 // ANDROID64-HEADERS-NEXT
: Flags
[ (0x2)
250 // ANDROID64-HEADERS-NEXT
: SHF_ALLOC
(0x2)
251 // ANDROID64-HEADERS-NEXT
: ]
252 // ANDROID64-HEADERS-NEXT
: Address
: [[ADDR
:.*]]
253 // ANDROID64-HEADERS-NEXT
: Offset
: [[ADDR
]]
254 // ANDROID64-HEADERS-NEXT
: Size
: [[SIZE
:.*]]
255 // ANDROID64-HEADERS-NEXT
: Link
: 1
256 // ANDROID64-HEADERS-NEXT
: Info
: 0
257 // ANDROID64-HEADERS-NEXT
: AddressAlignment
: 8
258 // ANDROID64-HEADERS-NEXT
: EntrySize
: 1
260 // ANDROID64-HEADERS
: 0x0000000060000011 ANDROID_RELA
[[ADDR
]]
261 // ANDROID64-HEADERS
: 0x0000000060000012 ANDROID_RELASZ
[[SIZE
]]
263 // ANDROID64
: Section
({{.+}}) .rela.dyn {
264 // ANDROID64-NEXT
: 0x303E0 R_AARCH64_RELATIVE
- 0x1
265 // ANDROID64-NEXT
: 0x303E8 R_AARCH64_RELATIVE
- 0x2
266 // ANDROID64-NEXT
: 0x303F0 R_AARCH64_RELATIVE
- 0x3
267 // ANDROID64-NEXT
: 0x303F8 R_AARCH64_RELATIVE
- 0x4
268 // ANDROID64-NEXT
: 0x30400 R_AARCH64_RELATIVE
- 0x5
269 // ANDROID64-NEXT
: 0x30408 R_AARCH64_RELATIVE
- 0x6
270 // ANDROID64-NEXT
: 0x30410 R_AARCH64_RELATIVE
- 0x7
271 // ANDROID64-NEXT
: 0x30418 R_AARCH64_RELATIVE
- 0x8
272 // ANDROID64-NEXT
: 0x30470 R_AARCH64_RELATIVE
- 0x1
273 // ANDROID64-NEXT
: 0x30478 R_AARCH64_RELATIVE
- 0x2
274 // ANDROID64-NEXT
: 0x30480 R_AARCH64_RELATIVE
- 0x3
275 // ANDROID64-NEXT
: 0x30488 R_AARCH64_RELATIVE
- 0x4
276 // ANDROID64-NEXT
: 0x30490 R_AARCH64_RELATIVE
- 0x5
277 // ANDROID64-NEXT
: 0x30498 R_AARCH64_RELATIVE
- 0x6
278 // ANDROID64-NEXT
: 0x304A0 R_AARCH64_RELATIVE
- 0x7
279 // ANDROID64-NEXT
: 0x304A8 R_AARCH64_RELATIVE
- 0x8
280 // ANDROID64-NEXT
: 0x304B0 R_AARCH64_RELATIVE
- 0x9
282 // ANDROID64-NEXT
: 0x30428 R_AARCH64_RELATIVE
- 0x1
283 // ANDROID64-NEXT
: 0x30430 R_AARCH64_RELATIVE
- 0x2
284 // ANDROID64-NEXT
: 0x30438 R_AARCH64_RELATIVE
- 0x3
285 // ANDROID64-NEXT
: 0x30440 R_AARCH64_RELATIVE
- 0x4
286 // ANDROID64-NEXT
: 0x30448 R_AARCH64_RELATIVE
- 0x5
287 // ANDROID64-NEXT
: 0x30450 R_AARCH64_RELATIVE
- 0x6
288 // ANDROID64-NEXT
: 0x30458 R_AARCH64_RELATIVE
- 0x7
290 // ANDROID64-NEXT
: 0x304B9 R_AARCH64_RELATIVE
- 0xA
292 // ANDROID64-NEXT
: 0x30468 R_AARCH64_ABS64 bar2
0x0
293 // ANDROID64-NEXT
: 0x304C1 R_AARCH64_ABS64 bar2
0x0
294 // ANDROID64-NEXT
: 0x304C9 R_AARCH64_ABS64 bar2
0x0
295 // ANDROID64-NEXT
: 0x304E1 R_AARCH64_ABS64 bar2
0x0
296 // ANDROID64-NEXT
: 0x30420 R_AARCH64_ABS64 bar2
0x1
297 // ANDROID64-NEXT
: 0x30460 R_AARCH64_ABS64 zed2
0x0
298 // ANDROID64-NEXT
: 0x304D1 R_AARCH64_ABS64 bar2
0x1
299 // ANDROID64-NEXT
: 0x304D9 R_AARCH64_ABS64 bar2
0x1
302 // RUN
: ld.lld
-pie
--pack-dyn-relocs
=relr
%t.a64.o
%t.a64.so
-o
%t4.a64
303 // RUN
: llvm-readobj
-S
--dynamic-table
%t4.a64 | FileCheck
--check-prefix
=RELR64-HEADERS
%s
304 // RUN
: llvm-readobj
-r
--raw-relr
%t4.a64 | FileCheck
--check-prefix
=RAW-RELR64
%s
305 // RUN
: llvm-readobj
-r
%t4.a64 | FileCheck
--check-prefix
=RELR64
%s
307 // RELR64-HEADERS
: Index
: 1
308 // RELR64-HEADERS-NEXT
: Name
: .dynsym
310 // RELR64-HEADERS
: Name
: .relr.dyn
311 // RELR64-HEADERS-NEXT
: Type
: SHT_RELR
312 // RELR64-HEADERS-NEXT
: Flags
[ (0x2)
313 // RELR64-HEADERS-NEXT
: SHF_ALLOC
(0x2)
314 // RELR64-HEADERS-NEXT
: ]
315 // RELR64-HEADERS-NEXT
: Address
: [[ADDR
:.*]]
316 // RELR64-HEADERS-NEXT
: Offset
: [[ADDR
]]
317 // RELR64-HEADERS-NEXT
: Size
: 16
318 // RELR64-HEADERS-NEXT
: Link
: 0
319 // RELR64-HEADERS-NEXT
: Info
: 0
320 // RELR64-HEADERS-NEXT
: AddressAlignment
: 8
321 // RELR64-HEADERS-NEXT
: EntrySize
: 8
323 // RELR64-HEADERS
: 0x0000000000000024 RELR
[[ADDR
]]
324 // RELR64-HEADERS
: 0x0000000000000023 RELRSZ
16 (bytes
)
325 // RELR64-HEADERS
: 0x0000000000000025 RELRENT
8 (bytes
)
327 /// SHT_RELR section contains address
/bitmap entries
328 /// encoding the offsets for relative relocation.
329 // RAW-RELR64
: Section
({{.+}}) .relr.dyn {
330 // RAW-RELR64-NEXT
: 0x30490
331 // RAW-RELR64-NEXT
: 0x7FCFEFF
332 // RAW-RELR64-NEXT
: }
334 /// Decoded SHT_RELR section is same as UNPACKED
,
335 /// but contains only the relative relocations.
336 /// Any relative relocations with odd offset stay in SHT_RELA.
337 // RELR64
: Section
({{.+}}) .rela.dyn {
338 // RELR64-NEXT
: 0x30569 R_AARCH64_RELATIVE
- 0xA
339 // RELR64-NEXT
: 0x304D0 R_AARCH64_ABS64 bar2
0x1
340 // RELR64-NEXT
: 0x30518 R_AARCH64_ABS64 bar2
0x0
341 // RELR64-NEXT
: 0x30571 R_AARCH64_ABS64 bar2
0x0
342 // RELR64-NEXT
: 0x30579 R_AARCH64_ABS64 bar2
0x0
343 // RELR64-NEXT
: 0x30581 R_AARCH64_ABS64 bar2
0x1
344 // RELR64-NEXT
: 0x30589 R_AARCH64_ABS64 bar2
0x1
345 // RELR64-NEXT
: 0x30591 R_AARCH64_ABS64 bar2
0x0
346 // RELR64-NEXT
: 0x30510 R_AARCH64_ABS64 zed2
0x0
348 // RELR64-NEXT
: Section
({{.+}}) .relr.dyn {
349 // RELR64-NEXT
: 0x30490 R_AARCH64_RELATIVE
-
350 // RELR64-NEXT
: 0x30498 R_AARCH64_RELATIVE
-
351 // RELR64-NEXT
: 0x304A0 R_AARCH64_RELATIVE
-
352 // RELR64-NEXT
: 0x304A8 R_AARCH64_RELATIVE
-
353 // RELR64-NEXT
: 0x304B0 R_AARCH64_RELATIVE
-
354 // RELR64-NEXT
: 0x304B8 R_AARCH64_RELATIVE
-
355 // RELR64-NEXT
: 0x304C0 R_AARCH64_RELATIVE
-
356 // RELR64-NEXT
: 0x304C8 R_AARCH64_RELATIVE
-
357 // RELR64-NEXT
: 0x304D8 R_AARCH64_RELATIVE
-
358 // RELR64-NEXT
: 0x304E0 R_AARCH64_RELATIVE
-
359 // RELR64-NEXT
: 0x304E8 R_AARCH64_RELATIVE
-
360 // RELR64-NEXT
: 0x304F0 R_AARCH64_RELATIVE
-
361 // RELR64-NEXT
: 0x304F8 R_AARCH64_RELATIVE
-
362 // RELR64-NEXT
: 0x30500 R_AARCH64_RELATIVE
-
363 // RELR64-NEXT
: 0x30508 R_AARCH64_RELATIVE
-
364 // RELR64-NEXT
: 0x30520 R_AARCH64_RELATIVE
-
365 // RELR64-NEXT
: 0x30528 R_AARCH64_RELATIVE
-
366 // RELR64-NEXT
: 0x30530 R_AARCH64_RELATIVE
-
367 // RELR64-NEXT
: 0x30538 R_AARCH64_RELATIVE
-
368 // RELR64-NEXT
: 0x30540 R_AARCH64_RELATIVE
-
369 // RELR64-NEXT
: 0x30548 R_AARCH64_RELATIVE
-
370 // RELR64-NEXT
: 0x30550 R_AARCH64_RELATIVE
-
371 // RELR64-NEXT
: 0x30558 R_AARCH64_RELATIVE
-
372 // RELR64-NEXT
: 0x30560 R_AARCH64_RELATIVE
-
377 .dc.a __ehdr_start + 1
378 .dc.a __ehdr_start + 2
379 .dc.a __ehdr_start + 3
380 .dc.a __ehdr_start + 4
381 .dc.a __ehdr_start + 5
382 .dc.a __ehdr_start + 6
383 .dc.a __ehdr_start + 7
384 .dc.a __ehdr_start + 8
387 .dc.a __ehdr_start + 1
388 .dc.a __ehdr_start + 2
389 .dc.a __ehdr_start + 3
390 .dc.a __ehdr_start + 4
391 .dc.a __ehdr_start + 5
392 .dc.a __ehdr_start + 6
393 .dc.a __ehdr_start + 7
397 .dc.a __ehdr_start + 1
398 .dc.a __ehdr_start + 2
399 .dc.a __ehdr_start + 3
400 .dc.a __ehdr_start + 4
401 .dc.a __ehdr_start + 5
402 .dc.a __ehdr_start + 6
403 .dc.a __ehdr_start + 7
404 .dc.a __ehdr_start + 8
405 .dc.a __ehdr_start + 9
407 .dc.a __ehdr_start + 10