|
198 | 198 | // RUN: llvm-readobj -r %t2.a64 | FileCheck --check-prefix=UNPACKED64 %s
|
199 | 199 |
|
200 | 200 | // UNPACKED64: Section ({{.+}}) .rela.dyn {
|
201 |
| -// UNPACKED64-NEXT: 0x30690 R_AARCH64_RELATIVE - 0x0 |
202 |
| -// UNPACKED64-NEXT: 0x30698 R_AARCH64_RELATIVE - 0x1 |
| 201 | +// UNPACKED64-NEXT: 0x30690 R_AARCH64_RELATIVE - 0x30690 |
| 202 | +// UNPACKED64-NEXT: 0x30698 R_AARCH64_RELATIVE - 0x30691 |
203 | 203 | // UNPACKED64-NEXT: 0x306A0 R_AARCH64_RELATIVE - 0x2
|
204 | 204 | // UNPACKED64-NEXT: 0x306A8 R_AARCH64_RELATIVE - 0xFFFFFFFFFFFFFFFF
|
205 | 205 | // UNPACKED64-NEXT: 0x306B0 R_AARCH64_RELATIVE - 0x80000000
|
206 | 206 | // UNPACKED64-NEXT: 0x306B8 R_AARCH64_RELATIVE - 0x6
|
207 | 207 | // UNPACKED64-NEXT: 0x306C0 R_AARCH64_RELATIVE - 0x7
|
208 |
| -// UNPACKED64-NEXT: 0x306C8 R_AARCH64_RELATIVE - 0x8 |
| 208 | +// UNPACKED64-NEXT: 0x306C8 R_AARCH64_RELATIVE - 0x30698 |
209 | 209 |
|
210 |
| -// UNPACKED64-NEXT: 0x306D8 R_AARCH64_RELATIVE - 0x1 |
| 210 | +// UNPACKED64-NEXT: 0x306D8 R_AARCH64_RELATIVE - 0x30691 |
211 | 211 | // UNPACKED64-NEXT: 0x306E0 R_AARCH64_RELATIVE - 0x2
|
212 | 212 | // UNPACKED64-NEXT: 0x306E8 R_AARCH64_RELATIVE - 0x3
|
213 | 213 | // UNPACKED64-NEXT: 0x306F0 R_AARCH64_RELATIVE - 0x4
|
214 | 214 | // UNPACKED64-NEXT: 0x306F8 R_AARCH64_RELATIVE - 0x5
|
215 | 215 | // UNPACKED64-NEXT: 0x30700 R_AARCH64_RELATIVE - 0x6
|
216 |
| -// UNPACKED64-NEXT: 0x30708 R_AARCH64_RELATIVE - 0x7 |
| 216 | +// UNPACKED64-NEXT: 0x30708 R_AARCH64_RELATIVE - 0x30697 |
217 | 217 |
|
218 |
| -// UNPACKED64-NEXT: 0x30720 R_AARCH64_RELATIVE - 0x1 |
| 218 | +// UNPACKED64-NEXT: 0x30720 R_AARCH64_RELATIVE - 0x30691 |
219 | 219 | // UNPACKED64-NEXT: 0x30728 R_AARCH64_RELATIVE - 0x2
|
220 | 220 | // UNPACKED64-NEXT: 0x30730 R_AARCH64_RELATIVE - 0x3
|
221 | 221 | // UNPACKED64-NEXT: 0x30738 R_AARCH64_RELATIVE - 0x4
|
222 | 222 | // UNPACKED64-NEXT: 0x30740 R_AARCH64_RELATIVE - 0x5
|
223 | 223 | // UNPACKED64-NEXT: 0x30748 R_AARCH64_RELATIVE - 0x6
|
224 | 224 | // UNPACKED64-NEXT: 0x30750 R_AARCH64_RELATIVE - 0x7
|
225 | 225 | // UNPACKED64-NEXT: 0x30758 R_AARCH64_RELATIVE - 0x8
|
226 |
| -// UNPACKED64-NEXT: 0x30760 R_AARCH64_RELATIVE - 0x9 |
| 226 | +// UNPACKED64-NEXT: 0x30760 R_AARCH64_RELATIVE - 0x30699 |
227 | 227 |
|
228 |
| -// UNPACKED64-NEXT: 0x30769 R_AARCH64_RELATIVE - 0xA |
| 228 | +// UNPACKED64-NEXT: 0x30769 R_AARCH64_RELATIVE - 0x3069A |
229 | 229 |
|
230 | 230 | // UNPACKED64-NEXT: 0x306D0 R_AARCH64_ABS64 bar2 0x1
|
231 | 231 | // UNPACKED64-NEXT: 0x30718 R_AARCH64_ABS64 bar2 0x0
|
|
247 | 247 |
|
248 | 248 | // ANDROID64: (DEBUG) 0x0
|
249 | 249 | // ANDROID64-NEXT: (ANDROID_RELA) 0x[[#ANDROID]]
|
250 |
| -// ANDROID64-NEXT: (ANDROID_RELASZ) 122 (bytes) |
| 250 | +// ANDROID64-NEXT: (ANDROID_RELASZ) 136 (bytes) |
251 | 251 | // ANDROID64-NEXT: (RELAENT) 24 (bytes)
|
252 | 252 |
|
253 | 253 | // ANDROID64-HEADERS: 0x0000000060000011 ANDROID_RELA [[ADDR]]
|
254 | 254 | // ANDROID64-HEADERS: 0x0000000060000012 ANDROID_RELASZ [[SIZE]]
|
255 | 255 |
|
256 | 256 | // ANDROID64: Relocation section '.rela.dyn' at offset {{.*}} contains 33 entries:
|
257 | 257 | // ANDROID64-NEXT: Offset Info Type Symbol's Value Symbol's Name + Addend
|
258 |
| -// ANDROID64-NEXT: 00000000000303e8 0000000000000403 R_AARCH64_RELATIVE 0 |
259 |
| -// ANDROID64-NEXT: 00000000000303f0 0000000000000403 R_AARCH64_RELATIVE 1 |
260 |
| -// ANDROID64-NEXT: 00000000000303f8 0000000000000403 R_AARCH64_RELATIVE 2 |
261 |
| -// ANDROID64-NEXT: 0000000000030400 0000000000000403 R_AARCH64_RELATIVE ffffffffffffffff |
262 |
| -// ANDROID64-NEXT: 0000000000030408 0000000000000403 R_AARCH64_RELATIVE 80000000 |
263 |
| -// ANDROID64-NEXT: 0000000000030410 0000000000000403 R_AARCH64_RELATIVE 6 |
264 |
| -// ANDROID64-NEXT: 0000000000030418 0000000000000403 R_AARCH64_RELATIVE 7 |
265 |
| -// ANDROID64-NEXT: 0000000000030420 0000000000000403 R_AARCH64_RELATIVE 8 |
266 |
| -// ANDROID64-NEXT: 0000000000030478 0000000000000403 R_AARCH64_RELATIVE 1 |
267 |
| -// ANDROID64-NEXT: 0000000000030480 0000000000000403 R_AARCH64_RELATIVE 2 |
268 |
| -// ANDROID64-NEXT: 0000000000030488 0000000000000403 R_AARCH64_RELATIVE 3 |
269 |
| -// ANDROID64-NEXT: 0000000000030490 0000000000000403 R_AARCH64_RELATIVE 4 |
270 |
| -// ANDROID64-NEXT: 0000000000030498 0000000000000403 R_AARCH64_RELATIVE 5 |
271 |
| -// ANDROID64-NEXT: 00000000000304a0 0000000000000403 R_AARCH64_RELATIVE 6 |
272 |
| -// ANDROID64-NEXT: 00000000000304a8 0000000000000403 R_AARCH64_RELATIVE 7 |
273 |
| -// ANDROID64-NEXT: 00000000000304b0 0000000000000403 R_AARCH64_RELATIVE 8 |
274 |
| -// ANDROID64-NEXT: 00000000000304b8 0000000000000403 R_AARCH64_RELATIVE 9 |
275 |
| -// ANDROID64-NEXT: 0000000000030430 0000000000000403 R_AARCH64_RELATIVE 1 |
276 |
| -// ANDROID64-NEXT: 0000000000030438 0000000000000403 R_AARCH64_RELATIVE 2 |
277 |
| -// ANDROID64-NEXT: 0000000000030440 0000000000000403 R_AARCH64_RELATIVE 3 |
278 |
| -// ANDROID64-NEXT: 0000000000030448 0000000000000403 R_AARCH64_RELATIVE 4 |
279 |
| -// ANDROID64-NEXT: 0000000000030450 0000000000000403 R_AARCH64_RELATIVE 5 |
280 |
| -// ANDROID64-NEXT: 0000000000030458 0000000000000403 R_AARCH64_RELATIVE 6 |
281 |
| -// ANDROID64-NEXT: 0000000000030460 0000000000000403 R_AARCH64_RELATIVE 7 |
282 |
| -// ANDROID64-NEXT: 00000000000304c1 0000000000000403 R_AARCH64_RELATIVE a |
283 |
| -// ANDROID64-NEXT: 0000000000030470 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0 |
284 |
| -// ANDROID64-NEXT: 00000000000304c9 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0 |
| 258 | +// ANDROID64-NEXT: 00000000000303f0 0000000000000403 R_AARCH64_RELATIVE 303f0 |
| 259 | +// ANDROID64-NEXT: 00000000000303f8 0000000000000403 R_AARCH64_RELATIVE 303f1 |
| 260 | +// ANDROID64-NEXT: 0000000000030400 0000000000000403 R_AARCH64_RELATIVE 2 |
| 261 | +// ANDROID64-NEXT: 0000000000030408 0000000000000403 R_AARCH64_RELATIVE ffffffffffffffff |
| 262 | +// ANDROID64-NEXT: 0000000000030410 0000000000000403 R_AARCH64_RELATIVE 80000000 |
| 263 | +// ANDROID64-NEXT: 0000000000030418 0000000000000403 R_AARCH64_RELATIVE 6 |
| 264 | +// ANDROID64-NEXT: 0000000000030420 0000000000000403 R_AARCH64_RELATIVE 7 |
| 265 | +// ANDROID64-NEXT: 0000000000030428 0000000000000403 R_AARCH64_RELATIVE 303f8 |
| 266 | +// ANDROID64-NEXT: 0000000000030480 0000000000000403 R_AARCH64_RELATIVE 303f1 |
| 267 | +// ANDROID64-NEXT: 0000000000030488 0000000000000403 R_AARCH64_RELATIVE 2 |
| 268 | +// ANDROID64-NEXT: 0000000000030490 0000000000000403 R_AARCH64_RELATIVE 3 |
| 269 | +// ANDROID64-NEXT: 0000000000030498 0000000000000403 R_AARCH64_RELATIVE 4 |
| 270 | +// ANDROID64-NEXT: 00000000000304a0 0000000000000403 R_AARCH64_RELATIVE 5 |
| 271 | +// ANDROID64-NEXT: 00000000000304a8 0000000000000403 R_AARCH64_RELATIVE 6 |
| 272 | +// ANDROID64-NEXT: 00000000000304b0 0000000000000403 R_AARCH64_RELATIVE 7 |
| 273 | +// ANDROID64-NEXT: 00000000000304b8 0000000000000403 R_AARCH64_RELATIVE 8 |
| 274 | +// ANDROID64-NEXT: 00000000000304c0 0000000000000403 R_AARCH64_RELATIVE 303f9 |
| 275 | +// ANDROID64-NEXT: 0000000000030438 0000000000000403 R_AARCH64_RELATIVE 303f1 |
| 276 | +// ANDROID64-NEXT: 0000000000030440 0000000000000403 R_AARCH64_RELATIVE 2 |
| 277 | +// ANDROID64-NEXT: 0000000000030448 0000000000000403 R_AARCH64_RELATIVE 3 |
| 278 | +// ANDROID64-NEXT: 0000000000030450 0000000000000403 R_AARCH64_RELATIVE 4 |
| 279 | +// ANDROID64-NEXT: 0000000000030458 0000000000000403 R_AARCH64_RELATIVE 5 |
| 280 | +// ANDROID64-NEXT: 0000000000030460 0000000000000403 R_AARCH64_RELATIVE 6 |
| 281 | +// ANDROID64-NEXT: 0000000000030468 0000000000000403 R_AARCH64_RELATIVE 303f7 |
| 282 | +// ANDROID64-NEXT: 00000000000304c9 0000000000000403 R_AARCH64_RELATIVE 303fa |
| 283 | +// ANDROID64-NEXT: 0000000000030478 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0 |
285 | 284 | // ANDROID64-NEXT: 00000000000304d1 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
|
286 |
| -// ANDROID64-NEXT: 00000000000304e9 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0 |
287 |
| -// ANDROID64-NEXT: 0000000000030428 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1 |
288 |
| -// ANDROID64-NEXT: 0000000000030468 0000000200000101 R_AARCH64_ABS64 0000000000000000 zed2 + 0 |
289 |
| -// ANDROID64-NEXT: 00000000000304d9 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1 |
| 285 | +// ANDROID64-NEXT: 00000000000304d9 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0 |
| 286 | +// ANDROID64-NEXT: 00000000000304f1 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0 |
| 287 | +// ANDROID64-NEXT: 0000000000030430 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1 |
| 288 | +// ANDROID64-NEXT: 0000000000030470 0000000200000101 R_AARCH64_ABS64 0000000000000000 zed2 + 0 |
290 | 289 | // ANDROID64-NEXT: 00000000000304e1 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
|
| 290 | +// ANDROID64-NEXT: 00000000000304e9 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1 |
291 | 291 | // ANDROID64-EMPTY:
|
292 | 292 |
|
293 | 293 | // RUN: ld.lld -pie --pack-dyn-relocs=relr %t.a64.o %t.a64.so -o %t4.a64
|
|
317 | 317 | /// Any relative relocations with odd offset stay in SHT_RELA.
|
318 | 318 | // RELR64: Relocation section '.rela.dyn' at offset {{.*}} contains 9 entries:
|
319 | 319 | // RELR64-NEXT: Offset Info Type Symbol's Value Symbol's Name + Addend
|
320 |
| -// RELR64-NEXT: 0000000000030569 0000000000000403 R_AARCH64_RELATIVE a |
| 320 | +// RELR64-NEXT: 0000000000030569 0000000000000403 R_AARCH64_RELATIVE 3049a |
321 | 321 | // RELR64-NEXT: 00000000000304d0 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
|
322 | 322 | // RELR64-NEXT: 0000000000030518 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
|
323 | 323 | // RELR64-NEXT: 0000000000030571 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
|
|
355 | 355 | // RELR64-NEXT: 0000000000030560 0000000000000403 R_AARCH64_RELATIVE
|
356 | 356 | // RELR64-EMPTY:
|
357 | 357 | // RELR64-NEXT: Hex dump of section '.data':
|
358 |
| -// RELR64-NEXT: 0x00030490 00000000 00000000 01000000 00000000 . |
| 358 | +// RELR64-NEXT: 0x00030490 90040300 00000000 91040300 00000000 . |
359 | 359 | // RELR64-NEXT: 0x000304a0 02000000 00000000 ffffffff ffffffff .
|
360 | 360 | // RELR64-NEXT: 0x000304b0 00000080 00000000 06000000 00000000 .
|
361 | 361 |
|
362 | 362 | .data
|
363 | 363 | .balign 2
|
364 |
| -.dc.a __ehdr_start |
365 |
| -.dc.a __ehdr_start + 1 |
| 364 | +.dc.a .data |
| 365 | +.dc.a .data + 1 |
366 | 366 | .dc.a __ehdr_start + 2
|
367 | 367 | .dc.a __ehdr_start - 1
|
368 | 368 | .dc.a __ehdr_start + 0x80000000
|
369 | 369 | .dc.a __ehdr_start + 6
|
370 | 370 | .dc.a __ehdr_start + 7
|
371 |
| -.dc.a __ehdr_start + 8 |
| 371 | +.dc.a .data + 8 |
372 | 372 | .dc.a bar2 + 1
|
373 | 373 |
|
374 |
| -.dc.a __ehdr_start + 1 |
| 374 | +.dc.a .data + 1 |
375 | 375 | .dc.a __ehdr_start + 2
|
376 | 376 | .dc.a __ehdr_start + 3
|
377 | 377 | .dc.a __ehdr_start + 4
|
378 | 378 | .dc.a __ehdr_start + 5
|
379 | 379 | .dc.a __ehdr_start + 6
|
380 |
| -.dc.a __ehdr_start + 7 |
| 380 | +.dc.a .data + 7 |
381 | 381 | .dc.a zed2
|
382 | 382 | .dc.a bar2
|
383 | 383 |
|
384 |
| -.dc.a __ehdr_start + 1 |
| 384 | +.dc.a .data + 1 |
385 | 385 | .dc.a __ehdr_start + 2
|
386 | 386 | .dc.a __ehdr_start + 3
|
387 | 387 | .dc.a __ehdr_start + 4
|
388 | 388 | .dc.a __ehdr_start + 5
|
389 | 389 | .dc.a __ehdr_start + 6
|
390 | 390 | .dc.a __ehdr_start + 7
|
391 | 391 | .dc.a __ehdr_start + 8
|
392 |
| -.dc.a __ehdr_start + 9 |
| 392 | +.dc.a .data + 9 |
393 | 393 | .byte 00
|
394 |
| -.dc.a __ehdr_start + 10 |
| 394 | +.dc.a .data + 10 |
395 | 395 | .dc.a bar2
|
396 | 396 | .dc.a bar2
|
397 | 397 | .dc.a bar2 + 1
|
|
0 commit comments