mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-02 18:58:15 +00:00
[llvm-readobj] - For SHT_REL relocations, don't display an addend.
This is https://bugs.llvm.org/show_bug.cgi?id=44257. In LLVM style we always print `0` as addend when dumping SHT_REL relocations. It is confusing, this patch stops printing it as the first comment on the bug page suggests. Differential revision: https://reviews.llvm.org/D93033
This commit is contained in:
parent
e2fc85c69b
commit
98a4289810
@ -26,7 +26,7 @@ bar:
|
||||
// CHECK: Dynamic Relocations {
|
||||
// CHECK-NEXT: 0x30204 R_ARM_RELATIVE
|
||||
// CHECK-NEXT: 0x30208 R_ARM_RELATIVE
|
||||
// CHECK-NEXT: 0x30200 R_ARM_ABS32 foo 0x0
|
||||
// CHECK-NEXT: 0x30200 R_ARM_ABS32 foo
|
||||
// CHECK-NEXT: }
|
||||
|
||||
// CHECK: Symbols [
|
||||
|
@ -38,13 +38,11 @@ _start:
|
||||
// CHECK-NEXT: Offset: 0x40220
|
||||
// CHECK-NEXT: Type: R_ARM_COPY
|
||||
// CHECK-NEXT: Symbol: y
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Relocation {
|
||||
// CHECK-NEXT: Offset: 0x40224
|
||||
// CHECK-NEXT: Type: R_ARM_COPY
|
||||
// CHECK-NEXT: Symbol: z
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
|
||||
|
@ -10,14 +10,14 @@
|
||||
// Check that the IRELATIVE relocations are last in the .got
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section (5) .rel.dyn {
|
||||
// CHECK-NEXT: 0x302E0 R_ARM_GLOB_DAT bar2 0x0
|
||||
// CHECK-NEXT: 0x302E4 R_ARM_GLOB_DAT zed2 0x0
|
||||
// CHECK-NEXT: 0x302E8 R_ARM_IRELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x302EC R_ARM_IRELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x302E0 R_ARM_GLOB_DAT bar2
|
||||
// CHECK-NEXT: 0x302E4 R_ARM_GLOB_DAT zed2
|
||||
// CHECK-NEXT: 0x302E8 R_ARM_IRELATIVE -
|
||||
// CHECK-NEXT: 0x302EC R_ARM_IRELATIVE -
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Section (6) .rel.plt {
|
||||
// CHECK-NEXT: 0x402FC R_ARM_JUMP_SLOT bar2 0x0
|
||||
// CHECK-NEXT: 0x40300 R_ARM_JUMP_SLOT zed2 0x0
|
||||
// CHECK-NEXT: 0x402FC R_ARM_JUMP_SLOT bar2
|
||||
// CHECK-NEXT: 0x40300 R_ARM_JUMP_SLOT zed2
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
|
@ -28,7 +28,7 @@ function:
|
||||
bx lr
|
||||
|
||||
// CHECK: Dynamic Relocations {
|
||||
// CHECK-NEXT: 0x2020C R_ARM_GLOB_DAT function 0x0
|
||||
// CHECK-NEXT: 0x2020C R_ARM_GLOB_DAT function
|
||||
|
||||
// CHECK: Name: _GLOBAL_OFFSET_TABLE_
|
||||
// CHECK-NEXT: Value: 0x2020C
|
||||
|
@ -101,9 +101,9 @@ _start:
|
||||
// DSOREL-NEXT: EntrySize:
|
||||
// DSOREL: Relocations [
|
||||
// DSOREL-NEXT: Section {{.*}} .rel.plt {
|
||||
// DSOREL-NEXT: 0x302E4 R_ARM_JUMP_SLOT func1 0x0
|
||||
// DSOREL-NEXT: 0x302E8 R_ARM_JUMP_SLOT func2 0x0
|
||||
// DSOREL-NEXT: 0x302EC R_ARM_JUMP_SLOT func3 0x0
|
||||
// DSOREL-NEXT: 0x302E4 R_ARM_JUMP_SLOT func1
|
||||
// DSOREL-NEXT: 0x302E8 R_ARM_JUMP_SLOT func2
|
||||
// DSOREL-NEXT: 0x302EC R_ARM_JUMP_SLOT func3
|
||||
|
||||
// Test a large separation between the .plt and .got.plt
|
||||
// The .got.plt and .plt displacement is large but still within the range
|
||||
@ -170,9 +170,9 @@ _start:
|
||||
// DSORELHIGH-NEXT: Address: 0x1100000
|
||||
// DSORELHIGH: Relocations [
|
||||
// DSORELHIGH-NEXT: Section {{.*}} .rel.plt {
|
||||
// DSORELHIGH-NEXT: 0x110000C R_ARM_JUMP_SLOT func1 0x0
|
||||
// DSORELHIGH-NEXT: 0x1100010 R_ARM_JUMP_SLOT func2 0x0
|
||||
// DSORELHIGH-NEXT: 0x1100014 R_ARM_JUMP_SLOT func3 0x0
|
||||
// DSORELHIGH-NEXT: 0x110000C R_ARM_JUMP_SLOT func1
|
||||
// DSORELHIGH-NEXT: 0x1100010 R_ARM_JUMP_SLOT func2
|
||||
// DSORELHIGH-NEXT: 0x1100014 R_ARM_JUMP_SLOT func3
|
||||
|
||||
// Test a very large separation between the .plt and .got.plt so we must use
|
||||
// large plt entries that do not have any range restriction.
|
||||
@ -238,9 +238,9 @@ _start:
|
||||
// DSORELLONG-NEXT: Address: 0x11111100
|
||||
// DSORELLONG: Relocations [
|
||||
// DSORELLONG-NEXT: Section {{.*}} .rel.plt {
|
||||
// DSORELLONG-NEXT: 0x1111110C R_ARM_JUMP_SLOT func1 0x0
|
||||
// DSORELLONG-NEXT: 0x11111110 R_ARM_JUMP_SLOT func2 0x0
|
||||
// DSORELLONG-NEXT: 0x11111114 R_ARM_JUMP_SLOT func3 0x0
|
||||
// DSORELLONG-NEXT: 0x1111110C R_ARM_JUMP_SLOT func1
|
||||
// DSORELLONG-NEXT: 0x11111110 R_ARM_JUMP_SLOT func2
|
||||
// DSORELLONG-NEXT: 0x11111114 R_ARM_JUMP_SLOT func3
|
||||
|
||||
// Test a separation between the .plt and .got.plt that is part in range of
|
||||
// short table entries and part needing long entries. We use the long entries
|
||||
@ -306,6 +306,6 @@ _start:
|
||||
// DSORELMIX-NEXT: ]
|
||||
// DSORELMIX-NEXT: Address: 0x8002020
|
||||
// DSORELMIX: Section {{.*}} .rel.plt {
|
||||
// DSORELMIX-NEXT: 0x800202C R_ARM_JUMP_SLOT func1 0x0
|
||||
// DSORELMIX-NEXT: 0x8002030 R_ARM_JUMP_SLOT func2 0x0
|
||||
// DSORELMIX-NEXT: 0x8002034 R_ARM_JUMP_SLOT func3 0x0
|
||||
// DSORELMIX-NEXT: 0x800202C R_ARM_JUMP_SLOT func1
|
||||
// DSORELMIX-NEXT: 0x8002030 R_ARM_JUMP_SLOT func2
|
||||
// DSORELMIX-NEXT: 0x8002034 R_ARM_JUMP_SLOT func3
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
// RELOC: Relocations [
|
||||
// RELOC: .rel.text {
|
||||
// RELOC: 0x0 R_ARM_TARGET1 patatino 0x0
|
||||
// RELOC: 0x0 R_ARM_TARGET1 patatino
|
||||
// RELOC: }
|
||||
// RELOC: ]
|
||||
|
||||
|
@ -109,6 +109,6 @@ _start:
|
||||
// DSOREL-NEXT: EntrySize:
|
||||
// DSOREL: Relocations [
|
||||
// DSOREL-NEXT: Section (5) .rel.plt {
|
||||
// DSOREL-NEXT: 0x302E4 R_ARM_JUMP_SLOT func1 0x0
|
||||
// DSOREL-NEXT: 0x302E8 R_ARM_JUMP_SLOT func2 0x0
|
||||
// DSOREL-NEXT: 0x302EC R_ARM_JUMP_SLOT func3 0x0
|
||||
// DSOREL-NEXT: 0x302E4 R_ARM_JUMP_SLOT func1
|
||||
// DSOREL-NEXT: 0x302E8 R_ARM_JUMP_SLOT func2
|
||||
// DSOREL-NEXT: 0x302EC R_ARM_JUMP_SLOT func3
|
||||
|
@ -55,7 +55,7 @@ x:
|
||||
// SEC: Size: 4
|
||||
|
||||
// SEC: Dynamic Relocations {
|
||||
// SEC-NEXT: 0x20224 R_ARM_TLS_DTPMOD32 - 0x0
|
||||
// SEC-NEXT: 0x20224 R_ARM_TLS_DTPMOD32 -
|
||||
|
||||
// CHECK: Disassembly of section .text:
|
||||
// CHECK-EMPTY:
|
||||
|
@ -44,7 +44,7 @@
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section ({{.*}}) .rel.dyn {
|
||||
// CHECK-NEXT: 0x21C4 R_386_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x21C4 R_386_RELATIVE -
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
|
@ -16,13 +16,13 @@
|
||||
/// other regular relocations (e.g. GLOB_DAT).
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section (4) .rel.dyn {
|
||||
// CHECK-NEXT: 0x4022C8 R_386_GLOB_DAT bar3 0x0
|
||||
// CHECK-NEXT: 0x4032E0 R_386_IRELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x4032E4 R_386_IRELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x4022C8 R_386_GLOB_DAT bar3
|
||||
// CHECK-NEXT: 0x4032E0 R_386_IRELATIVE -
|
||||
// CHECK-NEXT: 0x4032E4 R_386_IRELATIVE -
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Section (5) .rel.plt {
|
||||
// CHECK-NEXT: 0x4032D8 R_386_JUMP_SLOT bar2 0x0
|
||||
// CHECK-NEXT: 0x4032DC R_386_JUMP_SLOT zed2 0x0
|
||||
// CHECK-NEXT: 0x4032D8 R_386_JUMP_SLOT bar2
|
||||
// CHECK-NEXT: 0x4032DC R_386_JUMP_SLOT zed2
|
||||
// CHECK-NEXT: }
|
||||
|
||||
// Check that IRELATIVE .got.plt entries point to ifunc resolver and not
|
||||
|
@ -24,7 +24,7 @@
|
||||
# CHECK-NEXT: 0000: 00000000
|
||||
# CHECK-NEXT: )
|
||||
|
||||
# CHECK: R_386_GLOB_DAT bar 0x0
|
||||
# CHECK: R_386_GLOB_DAT bar
|
||||
|
||||
movl bar@GOT(%eax), %eax
|
||||
|
||||
|
@ -43,8 +43,8 @@
|
||||
// &.got.plt[4] = 0x403278 + 16 = 0x403288
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section ({{.*}}) .rel.plt {
|
||||
// CHECK-NEXT: 0x403284 R_386_JUMP_SLOT bar 0x0
|
||||
// CHECK-NEXT: 0x403288 R_386_JUMP_SLOT zed 0x0
|
||||
// CHECK-NEXT: 0x403284 R_386_JUMP_SLOT bar
|
||||
// CHECK-NEXT: 0x403288 R_386_JUMP_SLOT zed
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
@ -113,8 +113,8 @@
|
||||
// 0x3000 + got.plt.reserved(12) + 4 = 0x3010
|
||||
// CHECKSHARED: Relocations [
|
||||
// CHECKSHARED-NEXT: Section ({{.*}}) .rel.plt {
|
||||
// CHECKSHARED-NEXT: 0x329C R_386_JUMP_SLOT bar 0x0
|
||||
// CHECKSHARED-NEXT: 0x32A0 R_386_JUMP_SLOT zed 0x0
|
||||
// CHECKSHARED-NEXT: 0x329C R_386_JUMP_SLOT bar
|
||||
// CHECKSHARED-NEXT: 0x32A0 R_386_JUMP_SLOT zed
|
||||
// CHECKSHARED-NEXT: }
|
||||
// CHECKSHARED-NEXT: ]
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section ({{.*}}) .rel.dyn {
|
||||
// CHECK-NEXT: R_386_RELATIVE - 0x0
|
||||
// CHECK-NEXT: R_386_RELATIVE -
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
|
@ -66,13 +66,13 @@ addl tls1@gotntpoff(%ebx),%eax
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK: Section ({{.+}}) .rel.dyn {
|
||||
# CHECK-NEXT: 0x2368 R_386_TLS_DTPMOD32 - 0x0
|
||||
# CHECK-NEXT: 0x2358 R_386_TLS_DTPMOD32 tls0 0x0
|
||||
# CHECK-NEXT: 0x235C R_386_TLS_DTPOFF32 tls0 0x0
|
||||
# CHECK-NEXT: 0x2370 R_386_TLS_TPOFF tls0 0x0
|
||||
# CHECK-NEXT: 0x2360 R_386_TLS_DTPMOD32 tls1 0x0
|
||||
# CHECK-NEXT: 0x2364 R_386_TLS_DTPOFF32 tls1 0x0
|
||||
# CHECK-NEXT: 0x2374 R_386_TLS_TPOFF tls1 0x0
|
||||
# CHECK-NEXT: 0x2368 R_386_TLS_DTPMOD32 -
|
||||
# CHECK-NEXT: 0x2358 R_386_TLS_DTPMOD32 tls0
|
||||
# CHECK-NEXT: 0x235C R_386_TLS_DTPOFF32 tls0
|
||||
# CHECK-NEXT: 0x2370 R_386_TLS_TPOFF tls0
|
||||
# CHECK-NEXT: 0x2360 R_386_TLS_DTPMOD32 tls1
|
||||
# CHECK-NEXT: 0x2364 R_386_TLS_DTPOFF32 tls1
|
||||
# CHECK-NEXT: 0x2374 R_386_TLS_TPOFF tls1
|
||||
# CHECK-NEXT: }
|
||||
|
||||
# DIS: Disassembly of section .text:
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
// NORELOC: Relocations [
|
||||
// NORELOC-NEXT: Section ({{.*}}) .rel.dyn {
|
||||
// NORELOC-NEXT: 0x402258 R_386_TLS_TPOFF tlsshared0 0x0
|
||||
// NORELOC-NEXT: 0x40225C R_386_TLS_TPOFF tlsshared1 0x0
|
||||
// NORELOC-NEXT: 0x402258 R_386_TLS_TPOFF tlsshared0
|
||||
// NORELOC-NEXT: 0x40225C R_386_TLS_TPOFF tlsshared1
|
||||
// NORELOC-NEXT: }
|
||||
// NORELOC-NEXT: ]
|
||||
|
||||
|
@ -22,8 +22,8 @@
|
||||
# CHECK-NEXT: 0000: 00000000 04000000
|
||||
# CHECK-NEXT: )
|
||||
|
||||
# CHECK: R_386_TLS_TPOFF - 0x0
|
||||
# CHECK-NEXT: R_386_TLS_TPOFF - 0x0
|
||||
# CHECK: R_386_TLS_TPOFF -
|
||||
# CHECK-NEXT: R_386_TLS_TPOFF -
|
||||
|
||||
movl bar1@GOTNTPOFF(%eax), %ecx
|
||||
movl bar2@GOTNTPOFF(%eax), %eax
|
||||
|
@ -24,18 +24,18 @@
|
||||
// GOTRELSHARED: 0x6FFFFFFA RELCOUNT 8
|
||||
// GOTRELSHARED: Relocations [
|
||||
// GOTRELSHARED-NEXT: Section ({{.*}}) .rel.dyn {
|
||||
// GOTRELSHARED-NEXT: 0x22DA R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x22E2 R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x22EB R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x22F4 R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x22FC R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x2305 R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x230E R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x2317 R_386_RELATIVE - 0x0
|
||||
// GOTRELSHARED-NEXT: 0x3390 R_386_TLS_TPOFF tlsshared0 0x0
|
||||
// GOTRELSHARED-NEXT: 0x3394 R_386_TLS_TPOFF tlsshared1 0x0
|
||||
// GOTRELSHARED-NEXT: 0x3388 R_386_TLS_TPOFF tlslocal0 0x0
|
||||
// GOTRELSHARED-NEXT: 0x338C R_386_TLS_TPOFF tlslocal1 0x0
|
||||
// GOTRELSHARED-NEXT: 0x22DA R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x22E2 R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x22EB R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x22F4 R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x22FC R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x2305 R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x230E R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x2317 R_386_RELATIVE -
|
||||
// GOTRELSHARED-NEXT: 0x3390 R_386_TLS_TPOFF tlsshared0
|
||||
// GOTRELSHARED-NEXT: 0x3394 R_386_TLS_TPOFF tlsshared1
|
||||
// GOTRELSHARED-NEXT: 0x3388 R_386_TLS_TPOFF tlslocal0
|
||||
// GOTRELSHARED-NEXT: 0x338C R_386_TLS_TPOFF tlslocal1
|
||||
// GOTRELSHARED-NEXT: }
|
||||
// GOTRELSHARED-NEXT: ]
|
||||
|
||||
|
@ -63,9 +63,9 @@ _start:
|
||||
|
||||
# RELOCSHARED: Relocations [
|
||||
# RELOCSHARED-NEXT: Section (5) .rel.dyn {
|
||||
# RELOCSHARED-NEXT: 0x2219 R_386_TLS_TPOFF32 var 0x0
|
||||
# RELOCSHARED-NEXT: 0x223D R_386_TLS_TPOFF var 0x0
|
||||
# RELOCSHARED-NEXT: 0x2227 R_386_TLS_TPOFF32 var1 0x0
|
||||
# RELOCSHARED-NEXT: 0x224A R_386_TLS_TPOFF var1 0x0
|
||||
# RELOCSHARED-NEXT: 0x2219 R_386_TLS_TPOFF32 var
|
||||
# RELOCSHARED-NEXT: 0x223D R_386_TLS_TPOFF var
|
||||
# RELOCSHARED-NEXT: 0x2227 R_386_TLS_TPOFF32 var1
|
||||
# RELOCSHARED-NEXT: 0x224A R_386_TLS_TPOFF var1
|
||||
# RELOCSHARED-NEXT: }
|
||||
# RELOCSHARED-NEXT: ]
|
||||
|
@ -24,8 +24,8 @@
|
||||
// GOTREL-NEXT: }
|
||||
// GOTREL: Relocations [
|
||||
// GOTREL-NEXT: Section ({{.*}}) .rel.dyn {
|
||||
// GOTREL-NEXT: 0x402258 R_386_TLS_TPOFF tlsshared0 0x0
|
||||
// GOTREL-NEXT: 0x40225C R_386_TLS_TPOFF tlsshared1 0x0
|
||||
// GOTREL-NEXT: 0x402258 R_386_TLS_TPOFF tlsshared0
|
||||
// GOTREL-NEXT: 0x40225C R_386_TLS_TPOFF tlsshared1
|
||||
// GOTREL-NEXT: }
|
||||
// GOTREL-NEXT: ]
|
||||
|
||||
|
@ -17,13 +17,13 @@
|
||||
# REL-NEXT: PLTGOT {{.*}}
|
||||
# REL-NEXT: PLTREL REL{{$}}
|
||||
# REL: .rel.dyn {
|
||||
# REL-NEXT: R_386_RELATIVE - 0x0
|
||||
# REL-NEXT: R_386_GLOB_DAT func 0x0
|
||||
# REL-NEXT: R_386_TLS_TPOFF tls 0x0
|
||||
# REL-NEXT: R_386_32 _start 0x0
|
||||
# REL-NEXT: R_386_RELATIVE -
|
||||
# REL-NEXT: R_386_GLOB_DAT func
|
||||
# REL-NEXT: R_386_TLS_TPOFF tls
|
||||
# REL-NEXT: R_386_32 _start
|
||||
# REL-NEXT: }
|
||||
# REL-NEXT: .rel.plt {
|
||||
# REL-NEXT: R_386_JUMP_SLOT func 0x0
|
||||
# REL-NEXT: R_386_JUMP_SLOT func
|
||||
# REL-NEXT: }
|
||||
|
||||
# REL: Hex dump of section '.data':
|
||||
|
@ -62,7 +62,7 @@
|
||||
|
||||
# REL: Relocations [
|
||||
# REL-NEXT: Section (7) .rel.plt {
|
||||
# REL-NEXT: 0x[[PLTSLOT:[0-9A-F]+]] R_MIPS_JUMP_SLOT foo0 0x0
|
||||
# REL-NEXT: 0x[[PLTSLOT:[0-9A-F]+]] R_MIPS_JUMP_SLOT foo0
|
||||
# REL-NEXT: }
|
||||
# REL-NEXT: ]
|
||||
|
||||
|
@ -34,10 +34,10 @@
|
||||
# RUN: llvm-dwarfdump --eh-frame %t-pic32.so | FileCheck %s --check-prefix=PIC-EH-FRAME
|
||||
|
||||
# RELOCS: .rel{{a?}}.eh_frame {
|
||||
# ABS32-RELOCS-NEXT: 0x1C R_MIPS_32 .text 0x0
|
||||
# ABS64-RELOCS-NEXT: 0x1C R_MIPS_64/R_MIPS_NONE/R_MIPS_NONE .text 0x0
|
||||
# PIC64-RELOCS-NEXT: 0x1C R_MIPS_PC32/R_MIPS_NONE/R_MIPS_NONE - 0x0
|
||||
# PIC32-RELOCS-NEXT: 0x1C R_MIPS_PC32 - 0x0
|
||||
# ABS32-RELOCS-NEXT: 0x1C R_MIPS_32 .text
|
||||
# ABS64-RELOCS-NEXT: 0x1C R_MIPS_64/R_MIPS_NONE/R_MIPS_NONE .text
|
||||
# PIC64-RELOCS-NEXT: 0x1C R_MIPS_PC32/R_MIPS_NONE/R_MIPS_NONE -
|
||||
# PIC32-RELOCS-NEXT: 0x1C R_MIPS_PC32 -
|
||||
# RELOCS-NEXT: }
|
||||
|
||||
# ABS64-EH-FRAME: Augmentation data: 0C
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (7) .rel.dyn {
|
||||
# CHECK-NEXT: 0x{{[0-9A-F]+}} R_MIPS_COPY data0 0x0
|
||||
# CHECK-NEXT: 0x{{[0-9A-F]+}} R_MIPS_COPY data0
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: ]
|
||||
|
||||
|
@ -30,20 +30,20 @@
|
||||
|
||||
# GOT: Relocations [
|
||||
# GOT-NEXT: Section (7) .rel.dyn {
|
||||
# GOT-NEXT: 0x70018 R_MIPS_REL32 - 0x0
|
||||
# GOT-NEXT: 0x7001C R_MIPS_REL32 - 0x0
|
||||
# GOT-NEXT: 0x70020 R_MIPS_REL32 - 0x0
|
||||
# GOT-NEXT: 0x70024 R_MIPS_REL32 - 0x0
|
||||
# GOT-NEXT: 0x70028 R_MIPS_REL32 - 0x0
|
||||
# GOT-NEXT: 0x7002C R_MIPS_REL32 - 0x0
|
||||
# GOT-NEXT: 0x70030 R_MIPS_REL32 foo0 0x0
|
||||
# GOT-NEXT: 0x70034 R_MIPS_REL32 foo2 0x0
|
||||
# GOT-NEXT: 0x70044 R_MIPS_TLS_DTPMOD32 - 0x0
|
||||
# GOT-NEXT: 0x70010 R_MIPS_TLS_TPREL32 tls0 0x0
|
||||
# GOT-NEXT: 0x70038 R_MIPS_TLS_TPREL32 tls0 0x0
|
||||
# GOT-NEXT: 0x7003C R_MIPS_TLS_DTPMOD32 tls0 0x0
|
||||
# GOT-NEXT: 0x70040 R_MIPS_TLS_DTPREL32 tls0 0x0
|
||||
# GOT-NEXT: 0x70014 R_MIPS_TLS_TPREL32 tls1 0x0
|
||||
# GOT-NEXT: 0x70018 R_MIPS_REL32 -
|
||||
# GOT-NEXT: 0x7001C R_MIPS_REL32 -
|
||||
# GOT-NEXT: 0x70020 R_MIPS_REL32 -
|
||||
# GOT-NEXT: 0x70024 R_MIPS_REL32 -
|
||||
# GOT-NEXT: 0x70028 R_MIPS_REL32 -
|
||||
# GOT-NEXT: 0x7002C R_MIPS_REL32 -
|
||||
# GOT-NEXT: 0x70030 R_MIPS_REL32 foo0
|
||||
# GOT-NEXT: 0x70034 R_MIPS_REL32 foo2
|
||||
# GOT-NEXT: 0x70044 R_MIPS_TLS_DTPMOD32 -
|
||||
# GOT-NEXT: 0x70010 R_MIPS_TLS_TPREL32 tls0
|
||||
# GOT-NEXT: 0x70038 R_MIPS_TLS_TPREL32 tls0
|
||||
# GOT-NEXT: 0x7003C R_MIPS_TLS_DTPMOD32 tls0
|
||||
# GOT-NEXT: 0x70040 R_MIPS_TLS_DTPREL32 tls0
|
||||
# GOT-NEXT: 0x70014 R_MIPS_TLS_TPREL32 tls1
|
||||
# GOT-NEXT: }
|
||||
# GOT-NEXT: ]
|
||||
|
||||
|
@ -11,12 +11,12 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section ({{.*}}) .rel.dyn {
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_COPY data0 0x0
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_COPY data1 0x0
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_COPY data0
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_COPY data1
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: Section ({{.*}}) .rel.plt {
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_JUMP_SLOT foo0 0x0
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_JUMP_SLOT foo1 0x0
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_JUMP_SLOT foo0
|
||||
# CHECK-DAG: 0x{{[0-9A-F]+}} R_MIPS_JUMP_SLOT foo1
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: ]
|
||||
|
||||
|
@ -41,9 +41,9 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (7) .rel.dyn {
|
||||
# CHECK-NEXT: 0x30010 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
|
||||
# CHECK-NEXT: 0x30020 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
|
||||
# CHECK-NEXT: 0x30028 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
|
||||
# CHECK-NEXT: 0x30010 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo
|
||||
# CHECK-NEXT: 0x30020 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo
|
||||
# CHECK-NEXT: 0x30028 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK: Primary GOT {
|
||||
@ -73,13 +73,13 @@
|
||||
|
||||
# SO: Relocations [
|
||||
# SO-NEXT: Section (7) .rel.dyn {
|
||||
# SO-NEXT: 0x30030 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE - 0x0
|
||||
# SO-NEXT: 0x30018 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
|
||||
# SO-NEXT: 0x30040 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
|
||||
# SO-NEXT: 0x30048 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE bar 0x0
|
||||
# SO-NEXT: 0x30010 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
|
||||
# SO-NEXT: 0x30020 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
|
||||
# SO-NEXT: 0x30028 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo 0x0
|
||||
# SO-NEXT: 0x30030 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE -
|
||||
# SO-NEXT: 0x30018 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE bar
|
||||
# SO-NEXT: 0x30040 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE bar
|
||||
# SO-NEXT: 0x30048 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE bar
|
||||
# SO-NEXT: 0x30010 R_MIPS_TLS_TPREL64/R_MIPS_NONE/R_MIPS_NONE foo
|
||||
# SO-NEXT: 0x30020 R_MIPS_TLS_DTPMOD64/R_MIPS_NONE/R_MIPS_NONE foo
|
||||
# SO-NEXT: 0x30028 R_MIPS_TLS_DTPREL64/R_MIPS_NONE/R_MIPS_NONE foo
|
||||
# SO-NEXT: }
|
||||
# SO-NEXT: ]
|
||||
# SO: Primary GOT {
|
||||
|
@ -39,9 +39,9 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (7) .rel.dyn {
|
||||
# CHECK-NEXT: 0x30008 R_MIPS_TLS_TPREL32 foo 0x0
|
||||
# CHECK-NEXT: 0x30010 R_MIPS_TLS_DTPMOD32 foo 0x0
|
||||
# CHECK-NEXT: 0x30014 R_MIPS_TLS_DTPREL32 foo 0x0
|
||||
# CHECK-NEXT: 0x30008 R_MIPS_TLS_TPREL32 foo
|
||||
# CHECK-NEXT: 0x30010 R_MIPS_TLS_DTPMOD32 foo
|
||||
# CHECK-NEXT: 0x30014 R_MIPS_TLS_DTPREL32 foo
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK: Primary GOT {
|
||||
@ -69,13 +69,13 @@
|
||||
|
||||
# SO: Relocations [
|
||||
# SO-NEXT: Section (7) .rel.dyn {
|
||||
# SO-NEXT: 0x30018 R_MIPS_TLS_DTPMOD32 - 0x0
|
||||
# SO-NEXT: 0x3000C R_MIPS_TLS_TPREL32 bar 0x0
|
||||
# SO-NEXT: 0x30020 R_MIPS_TLS_DTPMOD32 bar 0x0
|
||||
# SO-NEXT: 0x30024 R_MIPS_TLS_DTPREL32 bar 0x0
|
||||
# SO-NEXT: 0x30008 R_MIPS_TLS_TPREL32 foo 0x0
|
||||
# SO-NEXT: 0x30010 R_MIPS_TLS_DTPMOD32 foo 0x0
|
||||
# SO-NEXT: 0x30014 R_MIPS_TLS_DTPREL32 foo 0x0
|
||||
# SO-NEXT: 0x30018 R_MIPS_TLS_DTPMOD32 -
|
||||
# SO-NEXT: 0x3000C R_MIPS_TLS_TPREL32 bar
|
||||
# SO-NEXT: 0x30020 R_MIPS_TLS_DTPMOD32 bar
|
||||
# SO-NEXT: 0x30024 R_MIPS_TLS_DTPREL32 bar
|
||||
# SO-NEXT: 0x30008 R_MIPS_TLS_TPREL32 foo
|
||||
# SO-NEXT: 0x30010 R_MIPS_TLS_DTPMOD32 foo
|
||||
# SO-NEXT: 0x30014 R_MIPS_TLS_DTPREL32 foo
|
||||
# SO-NEXT: }
|
||||
# SO-NEXT: ]
|
||||
# SO: Primary GOT {
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
# PIC-RELOCS: Relocations [
|
||||
# PIC-RELOCS-NEXT: Section (7) .rel.dyn {
|
||||
# PIC-RELOCS-NEXT: {{0x.+}} R_MIPS_REL32/R_MIPS_64/R_MIPS_NONE - 0x0
|
||||
# PIC-RELOCS-NEXT: {{0x.+}} R_MIPS_REL32/R_MIPS_64/R_MIPS_NONE -
|
||||
# PIC-RELOCS-NEXT: }
|
||||
# PIC-RELOCS-NEXT:]
|
||||
|
||||
|
@ -8,40 +8,40 @@
|
||||
// RUN: llvm-readobj -r %t.exe | FileCheck %s
|
||||
|
||||
// CHECK: Section (5) .relr.dyn {
|
||||
// CHECK-NEXT: 0x301E8 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x301EC R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x301F0 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x301F4 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x301F8 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x301FC R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30200 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30204 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30208 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x3020C R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30210 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30214 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30218 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x3021C R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30220 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30224 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30228 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x3022C R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30230 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30234 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30238 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x3023C R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30240 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30244 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30248 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x3024C R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30250 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30254 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30258 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x3025C R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30260 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30264 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x30268 R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x3026C R_ARM_RELATIVE - 0x0
|
||||
// CHECK-NEXT: 0x301E8 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x301EC R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x301F0 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x301F4 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x301F8 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x301FC R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30200 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30204 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30208 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x3020C R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30210 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30214 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30218 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x3021C R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30220 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30224 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30228 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x3022C R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30230 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30234 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30238 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x3023C R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30240 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30244 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30248 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x3024C R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30250 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30254 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30258 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x3025C R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30260 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30264 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x30268 R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: 0x3026C R_ARM_RELATIVE -
|
||||
// CHECK-NEXT: }
|
||||
|
||||
// RUN: llvm-readobj -S --dynamic-table %t.exe | FileCheck --check-prefix=HEADER %s
|
||||
|
@ -12,9 +12,9 @@
|
||||
# CHECK: .relr.dyn needs 1 padding word(s)
|
||||
|
||||
# RELR: .relr.dyn {
|
||||
# RELR-NEXT: 0x2F30 R_AARCH64_RELATIVE - 0x0
|
||||
# RELR-NEXT: 0x2F38 R_AARCH64_RELATIVE - 0x0
|
||||
# RELR-NEXT: 0x3000 R_AARCH64_RELATIVE - 0x0
|
||||
# RELR-NEXT: 0x2F30 R_AARCH64_RELATIVE -
|
||||
# RELR-NEXT: 0x2F38 R_AARCH64_RELATIVE -
|
||||
# RELR-NEXT: 0x3000 R_AARCH64_RELATIVE -
|
||||
# RELR-NEXT: }
|
||||
|
||||
.section .data.rel.ro
|
||||
|
@ -8,42 +8,42 @@
|
||||
|
||||
/// Unpacked should have the relative relocations in their natural order.
|
||||
/// UNPACKED32: Section ({{.+}}) .rel.dyn {
|
||||
// UNPACKED32-NEXT: 0x30324 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30328 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x3032C R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30330 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30334 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30338 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x3033C R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30340 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30324 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30328 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x3032C R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30330 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30334 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30338 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x3033C R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30340 R_ARM_RELATIVE -
|
||||
|
||||
// UNPACKED32-NEXT: 0x30348 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x3034C R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30350 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30354 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30358 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x3035C R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30360 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30348 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x3034C R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30350 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30354 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30358 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x3035C R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30360 R_ARM_RELATIVE -
|
||||
|
||||
// UNPACKED32-NEXT: 0x3036C R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30370 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30374 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30378 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x3037C R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30380 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30384 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30388 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x3038C R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x30391 R_ARM_RELATIVE - 0x0
|
||||
// UNPACKED32-NEXT: 0x3036C R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30370 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30374 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30378 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x3037C R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30380 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30384 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30388 R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x3038C R_ARM_RELATIVE -
|
||||
// UNPACKED32-NEXT: 0x30391 R_ARM_RELATIVE -
|
||||
|
||||
// UNPACKED32-NEXT: 0x30344 R_ARM_ABS32 bar2 0x0
|
||||
// UNPACKED32-NEXT: 0x30368 R_ARM_ABS32 bar2 0x0
|
||||
// UNPACKED32-NEXT: 0x30395 R_ARM_ABS32 bar2 0x0
|
||||
// UNPACKED32-NEXT: 0x30399 R_ARM_ABS32 bar2 0x0
|
||||
// UNPACKED32-NEXT: 0x3039D R_ARM_ABS32 bar2 0x0
|
||||
// UNPACKED32-NEXT: 0x303A1 R_ARM_ABS32 bar2 0x0
|
||||
// UNPACKED32-NEXT: 0x303A5 R_ARM_ABS32 bar2 0x0
|
||||
// UNPACKED32-NEXT: 0x30364 R_ARM_ABS32 zed2 0x0
|
||||
// UNPACKED32-NEXT: 0x30344 R_ARM_ABS32 bar2
|
||||
// UNPACKED32-NEXT: 0x30368 R_ARM_ABS32 bar2
|
||||
// UNPACKED32-NEXT: 0x30395 R_ARM_ABS32 bar2
|
||||
// UNPACKED32-NEXT: 0x30399 R_ARM_ABS32 bar2
|
||||
// UNPACKED32-NEXT: 0x3039D R_ARM_ABS32 bar2
|
||||
// UNPACKED32-NEXT: 0x303A1 R_ARM_ABS32 bar2
|
||||
// UNPACKED32-NEXT: 0x303A5 R_ARM_ABS32 bar2
|
||||
// UNPACKED32-NEXT: 0x30364 R_ARM_ABS32 zed2
|
||||
// UNPACKED32-NEXT: }
|
||||
|
||||
// RUN: ld.lld -pie --pack-dyn-relocs=android %t.a32.o %t.a32.so -o %t3.a32
|
||||
@ -73,40 +73,40 @@
|
||||
/// by the larger groups of relative relocations (i.e. the 8 and 9 followed
|
||||
/// by the 7.)
|
||||
// ANDROID32: Section ({{.+}}) .rel.dyn {
|
||||
// ANDROID32-NEXT: 0x30254 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30258 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x3025C R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30260 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30264 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30268 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x3026C R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30270 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30254 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30258 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x3025C R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30260 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30264 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30268 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x3026C R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30270 R_ARM_RELATIVE -
|
||||
|
||||
// ANDROID32-NEXT: 0x3029C R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302A0 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302A4 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302A8 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302AC R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302B0 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302B4 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302B8 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302BC R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30278 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x3027C R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30280 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30284 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30288 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x3028C R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x30290 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x302C1 R_ARM_RELATIVE - 0x0
|
||||
// ANDROID32-NEXT: 0x3029C R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302A0 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302A4 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302A8 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302AC R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302B0 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302B4 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302B8 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302BC R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30278 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x3027C R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30280 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30284 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30288 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x3028C R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x30290 R_ARM_RELATIVE -
|
||||
// ANDROID32-NEXT: 0x302C1 R_ARM_RELATIVE -
|
||||
|
||||
// ANDROID32-NEXT: 0x30274 R_ARM_ABS32 bar2 0x0
|
||||
// ANDROID32-NEXT: 0x30298 R_ARM_ABS32 bar2 0x0
|
||||
// ANDROID32-NEXT: 0x302C5 R_ARM_ABS32 bar2 0x0
|
||||
// ANDROID32-NEXT: 0x302C9 R_ARM_ABS32 bar2 0x0
|
||||
// ANDROID32-NEXT: 0x302CD R_ARM_ABS32 bar2 0x0
|
||||
// ANDROID32-NEXT: 0x302D1 R_ARM_ABS32 bar2 0x0
|
||||
// ANDROID32-NEXT: 0x302D5 R_ARM_ABS32 bar2 0x0
|
||||
// ANDROID32-NEXT: 0x30274 R_ARM_ABS32 bar2
|
||||
// ANDROID32-NEXT: 0x30298 R_ARM_ABS32 bar2
|
||||
// ANDROID32-NEXT: 0x302C5 R_ARM_ABS32 bar2
|
||||
// ANDROID32-NEXT: 0x302C9 R_ARM_ABS32 bar2
|
||||
// ANDROID32-NEXT: 0x302CD R_ARM_ABS32 bar2
|
||||
// ANDROID32-NEXT: 0x302D1 R_ARM_ABS32 bar2
|
||||
// ANDROID32-NEXT: 0x302D5 R_ARM_ABS32 bar2
|
||||
|
||||
// ANDROID32-NEXT: 0x30294 R_ARM_ABS32 zed2 0x0
|
||||
// ANDROID32-NEXT: }
|
||||
@ -147,43 +147,43 @@
|
||||
/// but contains only the relative relocations.
|
||||
/// Any relative relocations with odd offset stay in SHT_REL.
|
||||
// RELR32: Section ({{.+}}) .rel.dyn {
|
||||
// RELR32-NEXT: 0x302F1 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302A4 R_ARM_ABS32 bar2 0x0
|
||||
// RELR32-NEXT: 0x302C8 R_ARM_ABS32 bar2 0x0
|
||||
// RELR32-NEXT: 0x302F5 R_ARM_ABS32 bar2 0x0
|
||||
// RELR32-NEXT: 0x302F9 R_ARM_ABS32 bar2 0x0
|
||||
// RELR32-NEXT: 0x302FD R_ARM_ABS32 bar2 0x0
|
||||
// RELR32-NEXT: 0x30301 R_ARM_ABS32 bar2 0x0
|
||||
// RELR32-NEXT: 0x30305 R_ARM_ABS32 bar2 0x0
|
||||
// RELR32-NEXT: 0x302C4 R_ARM_ABS32 zed2 0x0
|
||||
// RELR32-NEXT: 0x302F1 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302A4 R_ARM_ABS32 bar2
|
||||
// RELR32-NEXT: 0x302C8 R_ARM_ABS32 bar2
|
||||
// RELR32-NEXT: 0x302F5 R_ARM_ABS32 bar2
|
||||
// RELR32-NEXT: 0x302F9 R_ARM_ABS32 bar2
|
||||
// RELR32-NEXT: 0x302FD R_ARM_ABS32 bar2
|
||||
// RELR32-NEXT: 0x30301 R_ARM_ABS32 bar2
|
||||
// RELR32-NEXT: 0x30305 R_ARM_ABS32 bar2
|
||||
// RELR32-NEXT: 0x302C4 R_ARM_ABS32 zed2
|
||||
// RELR32-NEXT: }
|
||||
// RELR32-NEXT: Section ({{.+}}) .relr.dyn {
|
||||
// RELR32-NEXT: 0x30284 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x30288 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x3028C R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x30290 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x30294 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x30298 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x3029C R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302A0 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x30284 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x30288 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x3028C R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x30290 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x30294 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x30298 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x3029C R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302A0 R_ARM_RELATIVE -
|
||||
|
||||
// RELR32-NEXT: 0x302A8 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302AC R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302B0 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302B4 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302B8 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302BC R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302C0 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302A8 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302AC R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302B0 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302B4 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302B8 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302BC R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302C0 R_ARM_RELATIVE -
|
||||
|
||||
// RELR32-NEXT: 0x302CC R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302D0 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302D4 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302D8 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302DC R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302E0 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302E4 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302E8 R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302EC R_ARM_RELATIVE - 0x0
|
||||
// RELR32-NEXT: 0x302CC R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302D0 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302D4 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302D8 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302DC R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302E0 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302E4 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302E8 R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: 0x302EC R_ARM_RELATIVE -
|
||||
// RELR32-NEXT: }
|
||||
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-linux %p/Inputs/shared2.s -o %t.a64.so.o
|
||||
@ -340,30 +340,30 @@
|
||||
// RELR64-NEXT: 0x30510 R_AARCH64_ABS64 zed2 0x0
|
||||
// RELR64-NEXT: }
|
||||
// RELR64-NEXT: Section ({{.+}}) .relr.dyn {
|
||||
// RELR64-NEXT: 0x30490 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30498 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304A0 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304A8 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304B0 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304B8 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304C0 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304C8 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304D8 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304E0 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304E8 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304F0 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x304F8 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30500 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30508 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30520 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30528 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30530 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30538 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30540 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30548 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30550 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30558 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30560 R_AARCH64_RELATIVE - 0x0
|
||||
// RELR64-NEXT: 0x30490 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30498 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304A0 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304A8 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304B0 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304B8 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304C0 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304C8 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304D8 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304E0 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304E8 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304F0 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x304F8 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30500 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30508 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30520 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30528 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30530 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30538 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30540 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30548 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30550 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30558 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: 0x30560 R_AARCH64_RELATIVE -
|
||||
// RELR64-NEXT: }
|
||||
|
||||
.data
|
||||
|
@ -38,7 +38,7 @@
|
||||
# ^--- Addend for relocation in .rel.dyn
|
||||
# RELA-TO-REL: Relocations [
|
||||
# RELA-TO-REL-NEXT: Section ({{.+}}) .rel.dyn {
|
||||
# RELA-TO-REL-NEXT: 0x[[DATA]] R_MIPS_REL32/R_MIPS_64/R_MIPS_NONE foo 0x0
|
||||
# RELA-TO-REL-NEXT: 0x[[DATA]] R_MIPS_REL32/R_MIPS_64/R_MIPS_NONE foo
|
||||
# RELA-TO-REL-NEXT: }
|
||||
# RELA-TO-REL-NEXT: ]
|
||||
|
||||
|
@ -39,8 +39,8 @@
|
||||
|
||||
# REL: Relocations [
|
||||
# REL-NEXT: Section ({{.*}}) .rel.data {
|
||||
# REL-NEXT: 0x0 R_386_32 .text 0x0
|
||||
# REL-NEXT: 0x4 R_386_32 .text 0x0
|
||||
# REL-NEXT: 0x0 R_386_32 .text
|
||||
# REL-NEXT: 0x4 R_386_32 .text
|
||||
# REL-NEXT: }
|
||||
# REL-NEXT: ]
|
||||
|
||||
|
@ -35,19 +35,16 @@ movl $9, z
|
||||
// CHECK-NEXT: Offset:
|
||||
// CHECK-NEXT: Type: R_386_COPY
|
||||
// CHECK-NEXT: Symbol: x
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Relocation {
|
||||
// CHECK-NEXT: Offset:
|
||||
// CHECK-NEXT: Type: R_386_COPY
|
||||
// CHECK-NEXT: Symbol: y
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Relocation {
|
||||
// CHECK-NEXT: Offset:
|
||||
// CHECK-NEXT: Type: R_386_COPY
|
||||
// CHECK-NEXT: Symbol: z
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
@ -14,7 +14,7 @@
|
||||
# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
|
||||
|
||||
# RELOC: Section ({{.*}}) .rel.text {
|
||||
# RELOC-NEXT: 0x0 R_ARM_NONE .data 0x0
|
||||
# RELOC-NEXT: 0x0 R_ARM_NONE .data
|
||||
# RELOC-NEXT: }
|
||||
|
||||
.globl _start
|
||||
|
@ -14,7 +14,7 @@
|
||||
# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
|
||||
|
||||
# RELOC: Section ({{.*}}) .rel.text {
|
||||
# RELOC-NEXT: 0x0 R_386_NONE .data 0x0
|
||||
# RELOC-NEXT: 0x0 R_386_NONE .data
|
||||
# RELOC-NEXT: }
|
||||
|
||||
.globl _start
|
||||
|
@ -37,12 +37,12 @@
|
||||
# REL-NEXT: PLTGOT {{.*}}
|
||||
# REL-NEXT: PLTREL REL{{$}}
|
||||
# REL: .rel.dyn {
|
||||
# REL-NEXT: R_X86_64_RELATIVE - 0x0
|
||||
# REL-NEXT: R_X86_64_GLOB_DAT func 0x0
|
||||
# REL-NEXT: R_X86_64_64 _start 0
|
||||
# REL-NEXT: R_X86_64_RELATIVE
|
||||
# REL-NEXT: R_X86_64_GLOB_DAT func
|
||||
# REL-NEXT: R_X86_64_64 _start
|
||||
# REL-NEXT: }
|
||||
# REL-NEXT: .rel.plt {
|
||||
# REL-NEXT: R_X86_64_JUMP_SLOT func 0x0
|
||||
# REL-NEXT: R_X86_64_JUMP_SLOT func
|
||||
# REL-NEXT: }
|
||||
|
||||
# REL: Hex dump of section '.data':
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
; ELF: Relocations [
|
||||
; ELF-NEXT: Section (3) .rel.text {
|
||||
; ELF-NEXT: 0x{{[0-9]+}} R_AMDGPU_ABS32 doff_0_0_b {{.*}}
|
||||
; ELF-NEXT: 0x{{[0-9]+}} R_AMDGPU_ABS32 doff_0_0_b{{$}}
|
||||
|
||||
define amdgpu_ps void @ps_main(i32 %arg, i32 inreg %arg1, i32 inreg %arg2) local_unnamed_addr #0 {
|
||||
%rc = call i32 @llvm.amdgcn.reloc.constant(metadata !1)
|
||||
|
@ -6,8 +6,8 @@
|
||||
|
||||
; ELF: Relocations [
|
||||
; ELF-NEXT: Section (3) .rel.text {
|
||||
; ELF-NEXT: 0x{{[0-9a-f]*}} R_AMDGPU_ABS32 lds.external 0x0
|
||||
; ELF-NEXT: 0x{{[0-9a-f]*}} R_AMDGPU_ABS32 lds.defined 0x0
|
||||
; ELF-NEXT: 0x{{[0-9a-f]*}} R_AMDGPU_ABS32 lds.external
|
||||
; ELF-NEXT: 0x{{[0-9a-f]*}} R_AMDGPU_ABS32 lds.defined
|
||||
; ELF-NEXT: }
|
||||
; ELF-NEXT: ]
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
; RUN: llc -mtriple=amdgcn- -mcpu=tonga -filetype=obj < %s | llvm-readobj -r --symbols - | FileCheck %s -check-prefix=GCN
|
||||
; RUN: llc -mtriple=r600- -mcpu=cypress -filetype=obj < %s | llvm-readobj -r --symbols - | FileCheck %s -check-prefix=EG
|
||||
|
||||
; GCN: R_AMDGPU_GOTPCREL32_LO extern_const_addrspace 0x0
|
||||
; GCN: R_AMDGPU_GOTPCREL32_LO extern_const_addrspace
|
||||
; EG: R_AMDGPU_ABS32 extern_const_addrspace
|
||||
|
||||
; CHECK-DAG: Name: extern_const_addrspace
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
; CHECK: Relocations [
|
||||
; CHECK: Section (3) .rel.text {
|
||||
; CHECK: 0x58 R_AMDGPU_ABS32 .text 0x0
|
||||
; CHECK: 0x58 R_AMDGPU_ABS32 .text
|
||||
; CHECK: }
|
||||
; CHECK: ]
|
||||
|
||||
|
@ -9,8 +9,8 @@
|
||||
; RUN: llc -march=amdgcn -mtriple=amdgcn--amdpal -mcpu=gfx900 -mattr=-flat-for-global -amdgpu-use-divergent-register-indexing -amdgpu-enable-flat-scratch -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX9,GFX9_10,FLATSCR,GFX9-FLATSCR-PAL %s
|
||||
; RUN: llc -march=amdgcn -mtriple=amdgcn--amdpal -mcpu=gfx1030 -mattr=-flat-for-global -amdgpu-use-divergent-register-indexing -amdgpu-enable-flat-scratch -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX10_W32,GFX9_10,FLATSCR,GFX10-FLATSCR-PAL,GFX9_10-FLATSCR %s
|
||||
|
||||
; RELS: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD0 0x0
|
||||
; RELS: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD1 0x0
|
||||
; RELS: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD0
|
||||
; RELS: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD1
|
||||
|
||||
; This used to fail due to a v_add_i32 instruction with an illegal immediate
|
||||
; operand that was created during Local Stack Slot Allocation. Test case derived
|
||||
|
@ -34,8 +34,8 @@ test_kernel:
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK: Section (3) .rel.text {
|
||||
// CHECK-NEXT: 0x4 R_AMDGPU_ABS32 lds0 0x0
|
||||
// CHECK-NEXT: 0x1C R_AMDGPU_ABS32 lds4 0x0
|
||||
// CHECK-NEXT: 0x4 R_AMDGPU_ABS32 lds0
|
||||
// CHECK-NEXT: 0x1C R_AMDGPU_ABS32 lds4
|
||||
// CHECK-NEXT: }
|
||||
// CHECK: ]
|
||||
|
||||
|
@ -2,18 +2,18 @@
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK: .rel.text {
|
||||
// CHECK: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD0 0x0
|
||||
// CHECK: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD1 0x0
|
||||
// CHECK: R_AMDGPU_GOTPCREL global_var0 0x0
|
||||
// CHECK: R_AMDGPU_GOTPCREL32_LO global_var1 0x0
|
||||
// CHECK: R_AMDGPU_GOTPCREL32_HI global_var2 0x0
|
||||
// CHECK: R_AMDGPU_REL32_LO global_var3 0x0
|
||||
// CHECK: R_AMDGPU_REL32_HI global_var4 0x0
|
||||
// CHECK: R_AMDGPU_ABS32 var 0x0
|
||||
// CHECK: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD0
|
||||
// CHECK: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD1
|
||||
// CHECK: R_AMDGPU_GOTPCREL global_var0
|
||||
// CHECK: R_AMDGPU_GOTPCREL32_LO global_var1
|
||||
// CHECK: R_AMDGPU_GOTPCREL32_HI global_var2
|
||||
// CHECK: R_AMDGPU_REL32_LO global_var3
|
||||
// CHECK: R_AMDGPU_REL32_HI global_var4
|
||||
// CHECK: R_AMDGPU_ABS32 var
|
||||
// CHECK: }
|
||||
// CHECK: .rel.data {
|
||||
// CHECK: R_AMDGPU_ABS64 temp 0x0
|
||||
// CHECK: R_AMDGPU_REL64 temp 0x0
|
||||
// CHECK: R_AMDGPU_ABS64 temp
|
||||
// CHECK: R_AMDGPU_REL64 temp
|
||||
// CHECK: }
|
||||
// CHECK: ]
|
||||
|
||||
|
@ -11,8 +11,8 @@
|
||||
.byte abs8_1 +255
|
||||
|
||||
@ CHECK: Section {{.*}} .rel.text.r_arm_abs8 {
|
||||
@ CHECK: 0x0 R_ARM_ABS8 abs8_0 0x0
|
||||
@ CHECK: 0x1 R_ARM_ABS8 abs8_1 0x0
|
||||
@ CHECK: 0x0 R_ARM_ABS8 abs8_0
|
||||
@ CHECK: 0x1 R_ARM_ABS8 abs8_1
|
||||
@ CHECK: }
|
||||
|
||||
.section .text.r_arm_abs16
|
||||
@ -21,8 +21,8 @@
|
||||
.short abs16_1 +65535
|
||||
|
||||
@ CHECK: Section {{.*}} .rel.text.r_arm_abs16 {
|
||||
@ CHECK: 0x0 R_ARM_ABS16 abs16_0 0x0
|
||||
@ CHECK: 0x2 R_ARM_ABS16 abs16_1 0x0
|
||||
@ CHECK: 0x0 R_ARM_ABS16 abs16_0
|
||||
@ CHECK: 0x2 R_ARM_ABS16 abs16_1
|
||||
@ CHECK: }
|
||||
|
||||
.section .text.r_arm_sbrel32
|
||||
@ -31,7 +31,7 @@
|
||||
.word target(SBREL)
|
||||
|
||||
@ CHECK: Section {{.*}} .rel.text.r_arm_sbrel32 {
|
||||
@ CHECK: 0x0 R_ARM_SBREL32 target 0x0
|
||||
@ CHECK: 0x4 R_ARM_SBREL32 target 0x0
|
||||
@ CHECK: 0x0 R_ARM_SBREL32 target
|
||||
@ CHECK: 0x4 R_ARM_SBREL32 target
|
||||
@ CHECK: }
|
||||
|
||||
|
@ -24,11 +24,11 @@ global1:
|
||||
|
||||
@ CHECK: Relocations [
|
||||
@ CHECK-NEXT: Section {{.*}} .rel.text {
|
||||
@ CHECK-NEXT: 0x0 R_ARM_ABS32 .text 0x0
|
||||
@ CHECK-NEXT: 0x4 R_ARM_ABS32 bar2@zed 0x0
|
||||
@ CHECK-NEXT: 0x8 R_ARM_ABS32 .text 0x0
|
||||
@ CHECK-NEXT: 0xC R_ARM_ABS32 .text 0x0
|
||||
@ CHECK-NEXT: 0x10 R_ARM_ABS32 bar6@zed 0x0
|
||||
@ CHECK-NEXT: 0x0 R_ARM_ABS32 .text
|
||||
@ CHECK-NEXT: 0x4 R_ARM_ABS32 bar2@zed
|
||||
@ CHECK-NEXT: 0x8 R_ARM_ABS32 .text
|
||||
@ CHECK-NEXT: 0xC R_ARM_ABS32 .text
|
||||
@ CHECK-NEXT: 0x10 R_ARM_ABS32 bar6@zed
|
||||
@ CHECK-NEXT: }
|
||||
@ CHECK-NEXT: ]
|
||||
|
||||
|
@ -20,6 +20,6 @@ attributes #2 = { "target-features"="+thumb-mode" }
|
||||
|
||||
; CHECK: Relocations [
|
||||
; CHECK-NEXT: Section (3) .rel.text {
|
||||
; CHECK-NEXT: 0x0 R_ARM_JUMP24 thumb_fn 0x0
|
||||
; CHECK-NEXT: 0x4 R_ARM_THM_JUMP24 arm_fn 0x0
|
||||
; CHECK-NEXT: 0x0 R_ARM_JUMP24 thumb_fn
|
||||
; CHECK-NEXT: 0x4 R_ARM_THM_JUMP24 arm_fn
|
||||
; CHECK-NEXT: }
|
||||
|
@ -18,10 +18,10 @@ tlsdescseq:
|
||||
.word variable(tlsdesc) + (. - 1b)
|
||||
|
||||
@ CHECK: Relocations [
|
||||
@ CHECK: 0x4 R_ARM_TLS_DESCSEQ variable 0x0
|
||||
@ CHECK: 0x8 R_ARM_TLS_DESCSEQ variable 0x0
|
||||
@ CHECK: 0xC R_ARM_TLS_DESCSEQ variable 0x0
|
||||
@ CHECK: 0x10 R_ARM_TLS_GOTDESC variable 0x0
|
||||
@ CHECK: 0x4 R_ARM_TLS_DESCSEQ variable
|
||||
@ CHECK: 0x8 R_ARM_TLS_DESCSEQ variable
|
||||
@ CHECK: 0xC R_ARM_TLS_DESCSEQ variable
|
||||
@ CHECK: 0x10 R_ARM_TLS_GOTDESC variable
|
||||
@ CHECK: ]
|
||||
|
||||
@ CHECK-ASM: ldr r1, [pc, #8]
|
||||
|
@ -70,8 +70,8 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC-NOAND-NEXT: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
|
||||
@ RELOC-NEXT: 0x0 R_ARM_PREL31 .TEST1 0x0
|
||||
@ RELOC-NOAND-NEXT: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
|
||||
@ RELOC-NEXT: 0x0 R_ARM_PREL31 .TEST1
|
||||
@ RELOC-NEXT: ]
|
||||
|
||||
@-------------------------------------------------------------------------------
|
||||
@ -105,6 +105,6 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST2
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC-NOAND-NEXT: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
|
||||
@ RELOC-NEXT: 0x0 R_ARM_PREL31 .TEST2 0x0
|
||||
@ RELOC-NOAND-NEXT: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
|
||||
@ RELOC-NEXT: 0x0 R_ARM_PREL31 .TEST2
|
||||
@ RELOC-NEXT: ]
|
||||
|
@ -68,7 +68,7 @@ func1:
|
||||
@ will keep __aeabi_unwind_cpp_pr1.
|
||||
@-------------------------------------------------------------------------------
|
||||
@ CHECK: Relocations [
|
||||
@ CHECK: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .TEST1 0x0
|
||||
@ CHECK: 0x4 R_ARM_PREL31 .ARM.extab.TEST1 0x0
|
||||
@ CHECK: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .TEST1
|
||||
@ CHECK: 0x4 R_ARM_PREL31 .ARM.extab.TEST1
|
||||
@ CHECK: ]
|
||||
|
@ -47,5 +47,5 @@ func1:
|
||||
@ CHECK: }
|
||||
@ CHECK: ]
|
||||
@ CHECK: Relocations [
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .text 0x0
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .text
|
||||
@ CHECK: ]
|
||||
|
@ -48,9 +48,9 @@ func1:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -108,8 +108,8 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST2
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST2 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST2 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST2
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST2
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
@ -38,7 +38,7 @@ func1:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.extab.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -52,8 +52,8 @@ func1:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -89,7 +89,7 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.extab.TEST2
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -103,7 +103,7 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST2
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST2 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST2 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST2
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST2
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
@ -28,8 +28,8 @@ pr0:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.pr0
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr0 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr0
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -57,8 +57,8 @@ pr0_nontrivial:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.pr0.nontrivial
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr0.nontrivial 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr0.nontrivial
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -90,9 +90,9 @@ pr1:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.pr1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr1 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr1 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr1
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr1
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -127,9 +127,9 @@ pr1_nontrivial:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.pr1.nontrivial
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr1.nontrivial 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr1.nontrivial 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr1.nontrivial
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr1.nontrivial
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -161,9 +161,9 @@ pr2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.pr2
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr2 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr2 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr2
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr2
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -196,8 +196,8 @@ pr2_nontrivial:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.pr2.nontrivial
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr2.nontrivial 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr2.nontrivial 0x0
|
||||
@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .pr2.nontrivial
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr2.nontrivial
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
@ -76,8 +76,8 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.extab.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0 0x0
|
||||
@ RELOC: 0x8 R_ARM_PREL31 __gxx_personality_v0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0
|
||||
@ RELOC: 0x8 R_ARM_PREL31 __gxx_personality_v0
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -105,10 +105,10 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1 0x0
|
||||
@ RELOC: 0x8 R_ARM_PREL31 .TEST1 0x0
|
||||
@ RELOC: 0xC R_ARM_PREL31 .ARM.extab.TEST1 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1
|
||||
@ RELOC: 0x8 R_ARM_PREL31 .TEST1
|
||||
@ RELOC: 0xC R_ARM_PREL31 .ARM.extab.TEST1
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
|
@ -70,7 +70,7 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.extab.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -99,8 +99,8 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidx.TEST1
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 .TEST1
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -129,7 +129,7 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.extabTEST2
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 __gxx_personality_v0
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
@ -158,8 +158,8 @@ func2:
|
||||
@ RELOC: Section {
|
||||
@ RELOC: Name: .rel.ARM.exidxTEST2
|
||||
@ RELOC: Relocations [
|
||||
@ RELOC: 0x0 R_ARM_PREL31 TEST2 0x0
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extabTEST2 0x0
|
||||
@ RELOC: 0x0 R_ARM_PREL31 TEST2
|
||||
@ RELOC: 0x4 R_ARM_PREL31 .ARM.extabTEST2
|
||||
@ RELOC: ]
|
||||
@ RELOC: }
|
||||
|
||||
|
@ -60,9 +60,9 @@ func2:
|
||||
@ The first word of each entry should be relocated to .text section.
|
||||
@-------------------------------------------------------------------------------
|
||||
@ CHECK: Relocations [
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .text 0x0
|
||||
@ CHECK: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
|
||||
@ CHECK: 0x8 R_ARM_PREL31 .text 0x0
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .text
|
||||
@ CHECK: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
|
||||
@ CHECK: 0x8 R_ARM_PREL31 .text
|
||||
@ CHECK: ]
|
||||
|
||||
|
||||
|
@ -77,6 +77,6 @@ func1:
|
||||
@ add an relocation to __aeabi_unwind_cpp_pr0.
|
||||
@-------------------------------------------------------------------------------
|
||||
@ CHECK: Relocations [
|
||||
@ CHECK: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .text 0x0
|
||||
@ CHECK: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
|
||||
@ CHECK: 0x0 R_ARM_PREL31 .text
|
||||
@ CHECK: ]
|
||||
|
@ -9,10 +9,10 @@
|
||||
|
||||
// OBJ: Relocations [
|
||||
// OBJ-NEXT: Section {{.*}} .rel.text {
|
||||
// OBJ-NEXT: 0x0 R_ARM_JUMP24 some_label 0x0
|
||||
// OBJ-NEXT: 0x4 R_ARM_CALL some_label 0x0
|
||||
// OBJ-NEXT: 0x8 R_ARM_CALL some_label 0x0
|
||||
// OBJ-NEXT: 0xC R_ARM_JUMP24 some_label 0x0
|
||||
// OBJ-NEXT: 0x10 R_ARM_JUMP24 some_label 0x0
|
||||
// OBJ-NEXT: 0x0 R_ARM_JUMP24 some_label
|
||||
// OBJ-NEXT: 0x4 R_ARM_CALL some_label
|
||||
// OBJ-NEXT: 0x8 R_ARM_CALL some_label
|
||||
// OBJ-NEXT: 0xC R_ARM_JUMP24 some_label
|
||||
// OBJ-NEXT: 0x10 R_ARM_JUMP24 some_label
|
||||
// OBJ-NEXT: }
|
||||
// OBJ-NEXT: ]
|
||||
|
@ -23,13 +23,13 @@ ptr:
|
||||
@@ make sure an R_ARM_THM_CALL relocation is generated for the call to g
|
||||
@CHECK: Relocations [
|
||||
@CHECK-NEXT: Section {{.*}} .rel.text {
|
||||
@CHECK-NEXT: 0x4 R_ARM_THM_CALL g 0x0
|
||||
@CHECK-NEXT: 0x4 R_ARM_THM_CALL g
|
||||
@CHECK-NEXT: }
|
||||
|
||||
|
||||
@@ make sure the relocation is with f. That is one way to make sure it includes
|
||||
@@ the thumb bit.
|
||||
@CHECK-NEXT: Section ({{.*}}) .rel.data.rel.local {
|
||||
@CHECK-NEXT: 0x0 R_ARM_ABS32 f 0x0
|
||||
@CHECK-NEXT: 0x0 R_ARM_ABS32 f
|
||||
@CHECK-NEXT: }
|
||||
@CHECK-NEXT: ]
|
||||
|
@ -29,11 +29,11 @@ bar:
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section {{.*}} .rel.text {
|
||||
// CHECK-NEXT: 0x4 R_ARM_THM_CALL foo 0x0
|
||||
// CHECK-NEXT: 0x4 R_ARM_THM_CALL foo
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Section {{.*}} .rel.ARM.exidx {
|
||||
// CHECK-NEXT: 0x0 R_ARM_PREL31 .text 0x0
|
||||
// CHECK-NEXT: 0x8 R_ARM_PREL31 .text 0x0
|
||||
// CHECK-NEXT: 0x0 R_ARM_PREL31 .text
|
||||
// CHECK-NEXT: 0x8 R_ARM_PREL31 .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
|
@ -56,13 +56,13 @@ attributes #0 = { "target-features"="+thumb-mode" }
|
||||
attributes #1 = { "target-features"="-thumb-mode" }
|
||||
|
||||
; LINUX: Section (3) .rel.text {
|
||||
; LINUX-NEXT: 0x2 R_ARM_THM_CALL internal_arm_fn 0x0
|
||||
; LINUX-NEXT: 0x6 R_ARM_THM_CALL global_arm_fn 0x0
|
||||
; LINUX-NEXT: 0xE R_ARM_THM_CALL global_thumb_fn 0x0
|
||||
; LINUX-NEXT: 0x1C R_ARM_CALL internal_arm_fn 0x0
|
||||
; LINUX-NEXT: 0x20 R_ARM_CALL global_arm_fn 0x0
|
||||
; LINUX-NEXT: 0x24 R_ARM_CALL internal_thumb_fn 0x0
|
||||
; LINUX-NEXT: 0x28 R_ARM_CALL global_thumb_fn 0x0
|
||||
; LINUX-NEXT: 0x2 R_ARM_THM_CALL internal_arm_fn
|
||||
; LINUX-NEXT: 0x6 R_ARM_THM_CALL global_arm_fn
|
||||
; LINUX-NEXT: 0xE R_ARM_THM_CALL global_thumb_fn
|
||||
; LINUX-NEXT: 0x1C R_ARM_CALL internal_arm_fn
|
||||
; LINUX-NEXT: 0x20 R_ARM_CALL global_arm_fn
|
||||
; LINUX-NEXT: 0x24 R_ARM_CALL internal_thumb_fn
|
||||
; LINUX-NEXT: 0x28 R_ARM_CALL global_thumb_fn
|
||||
; LINUX-NEXT: }
|
||||
|
||||
; IOS: Section __text {
|
||||
|
@ -37,11 +37,11 @@ foo:
|
||||
|
||||
# ARM relocations use the Elf32_Rel format. Addends are neither stored in the
|
||||
# relocation entries nor applied in the referenced locations.
|
||||
# CHECK: 0x8 R_ARM_NONE .data 0x0
|
||||
# CHECK-NEXT: 0x4 R_ARM_NONE foo 0x0
|
||||
# CHECK-NEXT: 0x0 R_ARM_NONE - 0x0
|
||||
# CHECK-NEXT: 0x0 R_ARM_ALU_PC_G0 .data 0x0
|
||||
# CHECK-NEXT: 0x0 R_ARM_LDR_PC_G0 foo 0x0
|
||||
# CHECK-NEXT: 0x0 R_ARM_THM_ALU_PREL_11_0 - 0x0
|
||||
# CHECK: 0x8 R_ARM_NONE .data
|
||||
# CHECK-NEXT: 0x4 R_ARM_NONE foo
|
||||
# CHECK-NEXT: 0x0 R_ARM_NONE -
|
||||
# CHECK-NEXT: 0x0 R_ARM_ALU_PC_G0 .data
|
||||
# CHECK-NEXT: 0x0 R_ARM_LDR_PC_G0 foo
|
||||
# CHECK-NEXT: 0x0 R_ARM_THM_ALU_PREL_11_0 -
|
||||
|
||||
# HEX: 0x00000000 00000000 00000000
|
||||
|
@ -68,13 +68,13 @@ test:
|
||||
@ CHECK: movt r3, :upper16:(32)
|
||||
|
||||
@ CHECK-RELOCATIONS: Relocations [
|
||||
@ CHECK-RELOCATIONS: 0x4 R_ARM_MOVW_ABS_NC function 0x0
|
||||
@ CHECK-RELOCATIONS: 0x8 R_ARM_MOVT_ABS function 0x0
|
||||
@ CHECK-RELOCATIONS: 0xC R_ARM_MOVW_ABS_NC function 0x0
|
||||
@ CHECK-RELOCATIONS: 0x10 R_ARM_MOVT_ABS function 0x0
|
||||
@ CHECK-RELOCATIONS: 0x34 R_ARM_MOVW_ABS_NC external 0x0
|
||||
@ CHECK-RELOCATIONS: 0x38 R_ARM_MOVT_ABS external 0x0
|
||||
@ CHECK-RELOCATIONS: 0x3C R_ARM_MOVW_ABS_NC external 0x0
|
||||
@ CHECK-RELOCATIONS: 0x40 R_ARM_MOVT_ABS external 0x0
|
||||
@ CHECK-RELOCATIONS: 0x4 R_ARM_MOVW_ABS_NC function
|
||||
@ CHECK-RELOCATIONS: 0x8 R_ARM_MOVT_ABS function
|
||||
@ CHECK-RELOCATIONS: 0xC R_ARM_MOVW_ABS_NC function
|
||||
@ CHECK-RELOCATIONS: 0x10 R_ARM_MOVT_ABS function
|
||||
@ CHECK-RELOCATIONS: 0x34 R_ARM_MOVW_ABS_NC external
|
||||
@ CHECK-RELOCATIONS: 0x38 R_ARM_MOVT_ABS external
|
||||
@ CHECK-RELOCATIONS: 0x3C R_ARM_MOVW_ABS_NC external
|
||||
@ CHECK-RELOCATIONS: 0x40 R_ARM_MOVT_ABS external
|
||||
@ CHECK-RELOCATIONS: ]
|
||||
|
||||
|
@ -22,5 +22,5 @@ end:
|
||||
main2:
|
||||
bx lr
|
||||
|
||||
@ CHECK-NOT: 0x0 R_ARM_THM_CALL end 0x0
|
||||
@ CHECK: 0x2004 R_ARM_THM_CALL main2 0x0
|
||||
@ CHECK-NOT: 0x0 R_ARM_THM_CALL end
|
||||
@ CHECK: 0x2004 R_ARM_THM_CALL main2
|
||||
|
@ -21,7 +21,7 @@ test:
|
||||
@ CHECK: movt r0, :upper16:function
|
||||
|
||||
@ CHECK-RELOCATIONS: Relocations [
|
||||
@ CHECK-RELOCATIONS: 0x2 R_ARM_THM_MOVW_ABS_NC function 0x0
|
||||
@ CHECK-RELOCATIONS: 0x6 R_ARM_THM_MOVT_ABS function 0x0
|
||||
@ CHECK-RELOCATIONS: 0x2 R_ARM_THM_MOVW_ABS_NC function
|
||||
@ CHECK-RELOCATIONS: 0x6 R_ARM_THM_MOVT_ABS function
|
||||
@ CHECK-RELOCATIONS: ]
|
||||
|
||||
|
@ -27,5 +27,5 @@ global:
|
||||
b global
|
||||
|
||||
@CHECK: Section {{.*}} .rel.text.insection {
|
||||
@CHECK-NEXT: 0x2 R_ARM_THM_JUMP11 global 0x0
|
||||
@CHECK-NEXT: 0x2 R_ARM_THM_JUMP11 global
|
||||
@CHECK-NEXT: }
|
||||
|
@ -34,7 +34,7 @@ global_thumb_fn:
|
||||
bx lr
|
||||
|
||||
@ CHECK: Section (3) .rel.text
|
||||
@ CHECK-NEXT: 0x0 R_ARM_THM_JUMP19 internal_arm_fn 0x0
|
||||
@ CHECK-NEXT: 0x4 R_ARM_THM_JUMP19 global_arm_fn 0x0
|
||||
@ CHECK-NEXT: 0x8 R_ARM_THM_JUMP19 global_thumb_fn 0x0
|
||||
@ CHECK-NEXT: 0x0 R_ARM_THM_JUMP19 internal_arm_fn
|
||||
@ CHECK-NEXT: 0x4 R_ARM_THM_JUMP19 global_arm_fn
|
||||
@ CHECK-NEXT: 0x8 R_ARM_THM_JUMP19 global_thumb_fn
|
||||
@ CHECK-NEXT: }
|
||||
|
@ -53,7 +53,7 @@ foo:
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK: Section ({{[^ ]+}}) .rel.debug_line {
|
||||
# CHECK-NEXT: 0x2E R_386_32 .text 0x0
|
||||
# CHECK-NEXT: 0x2E R_386_32 .text
|
||||
# CHECK-NEXT: }
|
||||
|
||||
# DWARF-DUMP: Address Line Column File ISA Discriminator Flags
|
||||
|
@ -22,12 +22,12 @@ foo:
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK: Section ({{[^ ]+}}) .rel.debug_info {
|
||||
// CHECK-NEXT: 0x6 R_386_32 .debug_abbrev 0x0
|
||||
// CHECK-NEXT: 0xC R_386_32 .debug_line 0x0
|
||||
// CHECK-NEXT: 0x6 R_386_32 .debug_abbrev
|
||||
// CHECK-NEXT: 0xC R_386_32 .debug_line
|
||||
// CHECK: }
|
||||
// CHECK-NEXT: Section ({{[^ ]+}}) .rel.debug_aranges {
|
||||
// CHECK-NEXT: 0x6 R_386_32 .debug_info 0x0
|
||||
// CHECK-NEXT: 0x10 R_386_32 .text 0x0
|
||||
// CHECK-NEXT: 0x6 R_386_32 .debug_info
|
||||
// CHECK-NEXT: 0x10 R_386_32 .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK: ]
|
||||
|
||||
|
@ -8,69 +8,69 @@
|
||||
// I386: Format: elf32-i386
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section {{.*}} .rel.text {
|
||||
// CHECK-NEXT: 0x2 R_386_GOTOFF .Lfoo 0x0
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_PLT32 bar2 0x0
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
|
||||
// CHECK-NEXT: 0x2 R_386_GOTOFF .Lfoo
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_PLT32 bar2
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_GOTPC _GLOBAL_OFFSET_TABLE_
|
||||
// Relocation 3 (bar3@GOTOFF) is done with symbol 7 (bss)
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_GOTOFF .bss 0x0
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_GOTOFF .bss
|
||||
// Relocation 4 (bar2@GOT) is of type R_386_GOT32
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_GOT32 bar2j 0x0
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_GOT32 bar2j
|
||||
|
||||
// Relocation 5 (foo@TLSGD) is of type R_386_TLS_GD
|
||||
// CHECK-NEXT: 0x20 R_386_TLS_GD foo 0x0
|
||||
// CHECK-NEXT: 0x20 R_386_TLS_GD foo
|
||||
// Relocation 6 ($foo@TPOFF) is of type R_386_TLS_LE_32
|
||||
// CHECK-NEXT: 0x25 R_386_TLS_LE_32 foo 0x0
|
||||
// CHECK-NEXT: 0x25 R_386_TLS_LE_32 foo
|
||||
// Relocation 7 (foo@INDNTPOFF) is of type R_386_TLS_IE
|
||||
// CHECK-NEXT: 0x2B R_386_TLS_IE foo 0x0
|
||||
// CHECK-NEXT: 0x2B R_386_TLS_IE foo
|
||||
// Relocation 8 (foo@NTPOFF) is of type R_386_TLS_LE
|
||||
// CHECK-NEXT: 0x31 R_386_TLS_LE foo 0x0
|
||||
// CHECK-NEXT: 0x31 R_386_TLS_LE foo
|
||||
// Relocation 9 (foo@GOTNTPOFF) is of type R_386_TLS_GOTIE
|
||||
// CHECK-NEXT: 0x37 R_386_TLS_GOTIE foo 0x0
|
||||
// CHECK-NEXT: 0x37 R_386_TLS_GOTIE foo
|
||||
// Relocation 10 (foo@TLSLDM) is of type R_386_TLS_LDM
|
||||
// CHECK-NEXT: 0x3D R_386_TLS_LDM foo 0x0
|
||||
// CHECK-NEXT: 0x3D R_386_TLS_LDM foo
|
||||
// Relocation 11 (foo@DTPOFF) is of type R_386_TLS_LDO_32
|
||||
// CHECK-NEXT: 0x43 R_386_TLS_LDO_32 foo 0x0
|
||||
// CHECK-NEXT: 0x43 R_386_TLS_LDO_32 foo
|
||||
// Relocation 12 (calll 4096) is of type R_386_PC32
|
||||
// CHECK-NEXT: 0x48 R_386_PC32 - 0x0
|
||||
// CHECK-NEXT: 0x48 R_386_PC32 -
|
||||
// Relocation 13 (zed@GOT) is of type R_386_GOT32 and uses the symbol
|
||||
// CHECK-NEXT: 0x4E R_386_GOT32 zed 0x0
|
||||
// CHECK-NEXT: 0x4E R_386_GOT32 zed
|
||||
// Relocation 14 (zed@GOTOFF) is of type R_386_GOTOFF and uses the symbol
|
||||
// CHECK-NEXT: 0x54 R_386_GOTOFF zed 0x0
|
||||
// CHECK-NEXT: 0x54 R_386_GOTOFF zed
|
||||
// Relocation 15 (zed@INDNTPOFF) is of type R_386_TLS_IE and uses the symbol
|
||||
// CHECK-NEXT: 0x5A R_386_TLS_IE zed 0x0
|
||||
// CHECK-NEXT: 0x5A R_386_TLS_IE zed
|
||||
// Relocation 16 (zed@NTPOFF) is of type R_386_TLS_LE and uses the symbol
|
||||
// CHECK-NEXT: 0x60 R_386_TLS_LE zed 0x0
|
||||
// CHECK-NEXT: 0x60 R_386_TLS_LE zed
|
||||
// Relocation 17 (zed@GOTNTPOFF) is of type R_386_TLS_GOTIE and uses the symbol
|
||||
// CHECK-NEXT: 0x66 R_386_TLS_GOTIE zed 0x0
|
||||
// CHECK-NEXT: 0x66 R_386_TLS_GOTIE zed
|
||||
// Relocation 18 (zed@PLT) is of type R_386_PLT32 and uses the symbol
|
||||
// CHECK-NEXT: 0x6B R_386_PLT32 zed 0x0
|
||||
// CHECK-NEXT: 0x6B R_386_PLT32 zed
|
||||
// Relocation 19 (zed@TLSGD) is of type R_386_TLS_GD and uses the symbol
|
||||
// CHECK-NEXT: 0x71 R_386_TLS_GD zed 0x0
|
||||
// CHECK-NEXT: 0x71 R_386_TLS_GD zed
|
||||
// Relocation 20 (zed@TLSLDM) is of type R_386_TLS_LDM and uses the symbol
|
||||
// CHECK-NEXT: 0x77 R_386_TLS_LDM zed 0x0
|
||||
// CHECK-NEXT: 0x77 R_386_TLS_LDM zed
|
||||
// Relocation 21 (zed@TPOFF) is of type R_386_TLS_LE_32 and uses the symbol
|
||||
// CHECK-NEXT: 0x7D R_386_TLS_LE_32 zed 0x0
|
||||
// CHECK-NEXT: 0x7D R_386_TLS_LE_32 zed
|
||||
// Relocation 22 (zed@DTPOFF) is of type R_386_TLS_LDO_32 and uses the symbol
|
||||
// CHECK-NEXT: 0x83 R_386_TLS_LDO_32 zed 0x0
|
||||
// CHECK-NEXT: 0x83 R_386_TLS_LDO_32 zed
|
||||
// Relocation 23 ($bar) is of type R_386_32 and uses the section
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_32 .text 0x0
|
||||
// CHECK-NEXT: 0x{{[^ ]+}} R_386_32 .text
|
||||
// Relocation 24 (foo@GOTTPOFF(%edx)) is of type R_386_TLS_IE_32 and uses the
|
||||
// symbol
|
||||
// CHECK-NEXT: 0x8E R_386_TLS_IE_32 foo 0x0
|
||||
// CHECK-NEXT: 0x8E R_386_TLS_IE_32 foo
|
||||
// Relocation 25 (_GLOBAL_OFFSET_TABLE_-bar2) is of type R_386_GOTPC.
|
||||
// CHECK-NEXT: 0x94 R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
|
||||
// CHECK-NEXT: 0x94 R_386_GOTPC _GLOBAL_OFFSET_TABLE_
|
||||
// Relocation 26 (und_symbol-bar2) is of type R_386_PC32
|
||||
// CHECK-NEXT: 0x9A R_386_PC32 und_symbol 0x0
|
||||
// CHECK-NEXT: 0x9A R_386_PC32 und_symbol
|
||||
// Relocation 27 (und_symbol-bar2) is of type R_386_PC16
|
||||
// CHECK-NEXT: 0x9E R_386_PC16 und_symbol 0x0
|
||||
// CHECK-NEXT: 0x9E R_386_PC16 und_symbol
|
||||
// Relocation 28 (und_symbol-bar2) is of type R_386_PC8
|
||||
// CHECK-NEXT: 0xA0 R_386_PC8 und_symbol 0x0
|
||||
// CHECK-NEXT: 0xA3 R_386_GOTOFF und_symbol 0x0
|
||||
// CHECK-NEXT: 0xA0 R_386_PC8 und_symbol
|
||||
// CHECK-NEXT: 0xA3 R_386_GOTOFF und_symbol
|
||||
// Relocation 29 (zed@PLT) is of type R_386_PLT32 and uses the symbol
|
||||
// CHECK-NEXT: 0xA9 R_386_PLT32 zed 0x0
|
||||
// CHECK-NEXT: 0xAF R_386_PC32 tr_start 0x0
|
||||
// CHECK-NEXT: 0xB3 R_386_16 foo 0x0
|
||||
// CHECK-NEXT: 0xB5 R_386_8 foo 0x0
|
||||
// CHECK-NEXT: 0xA9 R_386_PLT32 zed
|
||||
// CHECK-NEXT: 0xAF R_386_PC32 tr_start
|
||||
// CHECK-NEXT: 0xB3 R_386_16 foo
|
||||
// CHECK-NEXT: 0xB5 R_386_8 foo
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
# RUN: -mattr=micromips | llvm-readobj -r - \
|
||||
# RUN: | FileCheck %s
|
||||
# CHECK: Relocations [
|
||||
# CHECK: 0x0 R_MIPS_32 bar 0x0
|
||||
# CHECK: 0x4 R_MIPS_32 L1 0x0
|
||||
# CHECK: 0x0 R_MIPS_32 bar
|
||||
# CHECK: 0x4 R_MIPS_32 L1
|
||||
|
||||
.set micromips
|
||||
.type bar,@function
|
||||
|
@ -36,15 +36,15 @@
|
||||
# Check that the appropriate relocations were created.
|
||||
#------------------------------------------------------------------------------
|
||||
# CHECK-ELF: Relocations [
|
||||
# CHECK-ELF: 0x0 R_MICROMIPS_PC26_S1 bar 0x0
|
||||
# CHECK-ELF: 0x4 R_MICROMIPS_PC26_S1 bar 0x0
|
||||
# CHECK-ELF: 0x8 R_MICROMIPS_PC19_S2 bar 0x0
|
||||
# CHECK-ELF: 0xC R_MICROMIPS_PC19_S2 bar 0x0
|
||||
# CHECK-ELF: 0x10 R_MICROMIPS_PC19_S2 bar 0x0
|
||||
# CHECK-ELF: 0x14 R_MICROMIPS_PC21_S1 bar 0x0
|
||||
# CHECK-ELF: 0x18 R_MICROMIPS_PC21_S1 bar 0x0
|
||||
# CHECK-ELF: 0x1C R_MICROMIPS_LO16 bar 0x0
|
||||
# CHECK-ELF: 0x20 R_MICROMIPS_LO16 bar 0x0
|
||||
# CHECK-ELF: 0x0 R_MICROMIPS_PC26_S1 bar
|
||||
# CHECK-ELF: 0x4 R_MICROMIPS_PC26_S1 bar
|
||||
# CHECK-ELF: 0x8 R_MICROMIPS_PC19_S2 bar
|
||||
# CHECK-ELF: 0xC R_MICROMIPS_PC19_S2 bar
|
||||
# CHECK-ELF: 0x10 R_MICROMIPS_PC19_S2 bar
|
||||
# CHECK-ELF: 0x14 R_MICROMIPS_PC21_S1 bar
|
||||
# CHECK-ELF: 0x18 R_MICROMIPS_PC21_S1 bar
|
||||
# CHECK-ELF: 0x1C R_MICROMIPS_LO16 bar
|
||||
# CHECK-ELF: 0x20 R_MICROMIPS_LO16 bar
|
||||
# CHECK-ELF: ]
|
||||
|
||||
balc bar
|
||||
|
@ -24,9 +24,9 @@
|
||||
# CHECK-OBJ: Section {
|
||||
# CHECK-OBJ: Name: .rel.data
|
||||
# CHECK-OBJ: Relocations [
|
||||
# CHECK-OBJ: 0xE R_MIPS_32 .data 0x0
|
||||
# CHECK-OBJ: 0x12 R_MIPS_64 .data 0x0
|
||||
# CHECK-OBJ: 0x1A R_MIPS_16 .data 0x0
|
||||
# CHECK-OBJ: 0xE R_MIPS_32 .data
|
||||
# CHECK-OBJ: 0x12 R_MIPS_64 .data
|
||||
# CHECK-OBJ: 0x1A R_MIPS_16 .data
|
||||
# CHECK-OBJ: ]
|
||||
# CHECK-OBJ: }
|
||||
|
||||
|
@ -34,8 +34,8 @@
|
||||
# We should also check if relocation information was correctly generated.
|
||||
# OBJOUT: Relocations [
|
||||
# OBJOUT-NEXT: Section ({{.*}}) .rel.pdr {
|
||||
# OBJOUT-NEXT: 0x0 R_MIPS_32 .text 0x0
|
||||
# OBJOUT-NEXT: 0x20 R_MIPS_32 _global_foo 0x0
|
||||
# OBJOUT-NEXT: 0x0 R_MIPS_32 .text
|
||||
# OBJOUT-NEXT: 0x20 R_MIPS_32 _global_foo
|
||||
# OBJOUT-NEXT: }
|
||||
# OBJOUT-NEXT: ]
|
||||
|
||||
|
@ -50,19 +50,19 @@
|
||||
# Check that the appropriate relocations were created.
|
||||
#------------------------------------------------------------------------------
|
||||
# CHECK-ELF: Relocations [
|
||||
# CHECK-ELF: 0x0 R_MIPS_PC19_S2 bar 0x0
|
||||
# CHECK-ELF: 0x4 R_MIPS_PC16 bar 0x0
|
||||
# CHECK-ELF: 0x8 R_MIPS_PC16 bar 0x0
|
||||
# CHECK-ELF: 0xC R_MIPS_PC21_S2 bar 0x0
|
||||
# CHECK-ELF: 0x10 R_MIPS_PC21_S2 bar 0x0
|
||||
# CHECK-ELF: 0x14 R_MIPS_PC26_S2 bar 0x0
|
||||
# CHECK-ELF: 0x18 R_MIPS_PC26_S2 bar 0x0
|
||||
# CHECK-ELF: 0x1C R_MIPS_PCHI16 bar 0x0
|
||||
# CHECK-ELF: 0x20 R_MIPS_PCLO16 bar 0x0
|
||||
# CHECK-ELF: 0x24 R_MIPS_PC19_S2 bar 0x0
|
||||
# CHECK-ELF: 0x28 R_MIPS_PC19_S2 bar 0x0
|
||||
# CHECK-ELF: 0x2C R_MIPS_LO16 bar 0x0
|
||||
# CHECK-ELF: 0x30 R_MIPS_LO16 bar 0x0
|
||||
# CHECK-ELF: 0x0 R_MIPS_PC19_S2 bar
|
||||
# CHECK-ELF: 0x4 R_MIPS_PC16 bar
|
||||
# CHECK-ELF: 0x8 R_MIPS_PC16 bar
|
||||
# CHECK-ELF: 0xC R_MIPS_PC21_S2 bar
|
||||
# CHECK-ELF: 0x10 R_MIPS_PC21_S2 bar
|
||||
# CHECK-ELF: 0x14 R_MIPS_PC26_S2 bar
|
||||
# CHECK-ELF: 0x18 R_MIPS_PC26_S2 bar
|
||||
# CHECK-ELF: 0x1C R_MIPS_PCHI16 bar
|
||||
# CHECK-ELF: 0x20 R_MIPS_PCLO16 bar
|
||||
# CHECK-ELF: 0x24 R_MIPS_PC19_S2 bar
|
||||
# CHECK-ELF: 0x28 R_MIPS_PC19_S2 bar
|
||||
# CHECK-ELF: 0x2C R_MIPS_LO16 bar
|
||||
# CHECK-ELF: 0x30 R_MIPS_LO16 bar
|
||||
# CHECK-ELF: ]
|
||||
|
||||
addiupc $2,bar
|
||||
|
@ -48,22 +48,22 @@ bar:
|
||||
nop
|
||||
|
||||
# OBJ-O32-LABEL: Relocations [
|
||||
# OBJ-O32: 0x0 R_MIPS_32 .text 0x0
|
||||
# OBJ-O32-NEXT: 0x4 R_MIPS_NONE .text 0x0
|
||||
# OBJ-O32-NEXT: 0xC R_MIPS_32 .text 0x0
|
||||
# OBJ-O32-NEXT: 0x10 R_MIPS_CALL16 foo 0x0
|
||||
# OBJ-O32-NEXT: 0x1C R_MIPS_GOT_OFST .text 0x0
|
||||
# OBJ-O32-NEXT: 0x20 R_MIPS_GOT_DISP foo 0x0
|
||||
# OBJ-O32-NEXT: 0x24 R_MIPS_GOT_PAGE .text 0x0
|
||||
# OBJ-O32: 0x0 R_MIPS_32 .text
|
||||
# OBJ-O32-NEXT: 0x4 R_MIPS_NONE .text
|
||||
# OBJ-O32-NEXT: 0xC R_MIPS_32 .text
|
||||
# OBJ-O32-NEXT: 0x10 R_MIPS_CALL16 foo
|
||||
# OBJ-O32-NEXT: 0x1C R_MIPS_GOT_OFST .text
|
||||
# OBJ-O32-NEXT: 0x20 R_MIPS_GOT_DISP foo
|
||||
# OBJ-O32-NEXT: 0x24 R_MIPS_GOT_PAGE .text
|
||||
|
||||
# OBJ-N32-LABEL: Relocations [
|
||||
# OBJ-N32: 0x4 R_MIPS_NONE .text 0x0
|
||||
# OBJ-N32-NEXT: 0x1C R_MIPS_GOT_OFST .text 0x0
|
||||
# OBJ-N32-NEXT: 0x0 R_MIPS_32 .text 0x0
|
||||
# OBJ-N32-NEXT: 0xC R_MIPS_32 .text 0x0
|
||||
# OBJ-N32-NEXT: 0x10 R_MIPS_CALL16 foo 0x0
|
||||
# OBJ-N32-NEXT: 0x20 R_MIPS_GOT_DISP foo 0x0
|
||||
# OBJ-N32-NEXT: 0x24 R_MIPS_GOT_PAGE .text 0x0
|
||||
# OBJ-N32: 0x4 R_MIPS_NONE .text
|
||||
# OBJ-N32-NEXT: 0x1C R_MIPS_GOT_OFST .text
|
||||
# OBJ-N32-NEXT: 0x0 R_MIPS_32 .text
|
||||
# OBJ-N32-NEXT: 0xC R_MIPS_32 .text
|
||||
# OBJ-N32-NEXT: 0x10 R_MIPS_CALL16 foo
|
||||
# OBJ-N32-NEXT: 0x20 R_MIPS_GOT_DISP foo
|
||||
# OBJ-N32-NEXT: 0x24 R_MIPS_GOT_PAGE .text
|
||||
|
||||
# OBJ-N64-LABEL: Relocations [
|
||||
# OBJ-N64: 0x4 R_MIPS_NONE/R_MIPS_NONE/R_MIPS_NONE .text 0x0
|
||||
|
@ -96,40 +96,40 @@ foo:
|
||||
# OBJ-O32-NEXT: 0080: 00000000 00000000
|
||||
# OBJ-O32-LABEL: }
|
||||
# OBJ-O32-LABEL: Relocations [
|
||||
# OBJ-O32: 0x0 R_MIPS_NONE .text 0x0
|
||||
# OBJ-O32-NEXT: 0x4 R_MIPS_NONE .text 0x0
|
||||
# OBJ-O32-NEXT: 0x8 R_MIPS_32 .text 0x0
|
||||
# OBJ-O32-NEXT: 0xC R_MIPS_NONE - 0x0
|
||||
# OBJ-O32-NEXT: 0x10 R_MIPS_CALL_HI16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x14 R_MIPS_CALL_LO16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x18 R_MIPS_CALL16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x20 R_MIPS_GOT_PAGE - 0x0
|
||||
# OBJ-O32-NEXT: 0x24 R_MIPS_GOT_OFST - 0x0
|
||||
# OBJ-O32-NEXT: 0x28 R_MIPS_GOT_DISP - 0x0
|
||||
# OBJ-O32-NEXT: 0x2C R_MIPS_GOT_HI16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x30 R_MIPS_GOT_LO16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x34 R_MIPS_TLS_GOTTPREL - 0x0
|
||||
# OBJ-O32-NEXT: 0x38 R_MIPS_TLS_DTPREL_HI16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x3C R_MIPS_TLS_DTPREL_LO16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x40 R_MIPS_TLS_GD - 0x0
|
||||
# OBJ-O32-NEXT: 0x44 R_MIPS_TLS_LDM - 0x0
|
||||
# OBJ-O32-NEXT: 0x48 R_MIPS_TLS_TPREL_HI16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x4C R_MIPS_TLS_TPREL_LO16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x50 R_MICROMIPS_CALL16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x54 R_MICROMIPS_GOT_DISP - 0x0
|
||||
# OBJ-O32-NEXT: 0x58 R_MICROMIPS_GOT_PAGE - 0x0
|
||||
# OBJ-O32-NEXT: 0x5C R_MICROMIPS_GOT_OFST - 0x0
|
||||
# OBJ-O32-NEXT: 0x64 R_MICROMIPS_TLS_GOTTPREL - 0x0
|
||||
# OBJ-O32-NEXT: 0x68 R_MICROMIPS_TLS_DTPREL_HI16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x6C R_MICROMIPS_TLS_DTPREL_LO16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x70 R_MICROMIPS_TLS_GD - 0x0
|
||||
# OBJ-O32-NEXT: 0x74 R_MICROMIPS_TLS_LDM - 0x0
|
||||
# OBJ-O32-NEXT: 0x78 R_MICROMIPS_TLS_TPREL_HI16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x7C R_MICROMIPS_TLS_TPREL_LO16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x80 R_MIPS_JALR - 0x0
|
||||
# OBJ-O32-NEXT: 0x84 R_MICROMIPS_JALR - 0x0
|
||||
# OBJ-O32-NEXT: 0x1C R_MIPS_GOT16 - 0x0
|
||||
# OBJ-O32-NEXT: 0x60 R_MICROMIPS_GOT16 - 0x0
|
||||
# OBJ-O32: 0x0 R_MIPS_NONE .text
|
||||
# OBJ-O32-NEXT: 0x4 R_MIPS_NONE .text
|
||||
# OBJ-O32-NEXT: 0x8 R_MIPS_32 .text
|
||||
# OBJ-O32-NEXT: 0xC R_MIPS_NONE -
|
||||
# OBJ-O32-NEXT: 0x10 R_MIPS_CALL_HI16 -
|
||||
# OBJ-O32-NEXT: 0x14 R_MIPS_CALL_LO16 -
|
||||
# OBJ-O32-NEXT: 0x18 R_MIPS_CALL16 -
|
||||
# OBJ-O32-NEXT: 0x20 R_MIPS_GOT_PAGE -
|
||||
# OBJ-O32-NEXT: 0x24 R_MIPS_GOT_OFST -
|
||||
# OBJ-O32-NEXT: 0x28 R_MIPS_GOT_DISP -
|
||||
# OBJ-O32-NEXT: 0x2C R_MIPS_GOT_HI16 -
|
||||
# OBJ-O32-NEXT: 0x30 R_MIPS_GOT_LO16 -
|
||||
# OBJ-O32-NEXT: 0x34 R_MIPS_TLS_GOTTPREL -
|
||||
# OBJ-O32-NEXT: 0x38 R_MIPS_TLS_DTPREL_HI16 -
|
||||
# OBJ-O32-NEXT: 0x3C R_MIPS_TLS_DTPREL_LO16 -
|
||||
# OBJ-O32-NEXT: 0x40 R_MIPS_TLS_GD -
|
||||
# OBJ-O32-NEXT: 0x44 R_MIPS_TLS_LDM -
|
||||
# OBJ-O32-NEXT: 0x48 R_MIPS_TLS_TPREL_HI16 -
|
||||
# OBJ-O32-NEXT: 0x4C R_MIPS_TLS_TPREL_LO16 -
|
||||
# OBJ-O32-NEXT: 0x50 R_MICROMIPS_CALL16 -
|
||||
# OBJ-O32-NEXT: 0x54 R_MICROMIPS_GOT_DISP -
|
||||
# OBJ-O32-NEXT: 0x58 R_MICROMIPS_GOT_PAGE -
|
||||
# OBJ-O32-NEXT: 0x5C R_MICROMIPS_GOT_OFST -
|
||||
# OBJ-O32-NEXT: 0x64 R_MICROMIPS_TLS_GOTTPREL -
|
||||
# OBJ-O32-NEXT: 0x68 R_MICROMIPS_TLS_DTPREL_HI16 -
|
||||
# OBJ-O32-NEXT: 0x6C R_MICROMIPS_TLS_DTPREL_LO16 -
|
||||
# OBJ-O32-NEXT: 0x70 R_MICROMIPS_TLS_GD -
|
||||
# OBJ-O32-NEXT: 0x74 R_MICROMIPS_TLS_LDM -
|
||||
# OBJ-O32-NEXT: 0x78 R_MICROMIPS_TLS_TPREL_HI16 -
|
||||
# OBJ-O32-NEXT: 0x7C R_MICROMIPS_TLS_TPREL_LO16 -
|
||||
# OBJ-O32-NEXT: 0x80 R_MIPS_JALR -
|
||||
# OBJ-O32-NEXT: 0x84 R_MICROMIPS_JALR -
|
||||
# OBJ-O32-NEXT: 0x1C R_MIPS_GOT16 -
|
||||
# OBJ-O32-NEXT: 0x60 R_MICROMIPS_GOT16 -
|
||||
|
||||
# OBJ-N32-LABEL: Name: .text
|
||||
# OBJ-N32: 0000: 00000000 00000000 00000000 00000000
|
||||
|
@ -13,12 +13,12 @@
|
||||
|
||||
# X86 relocations use the Elf32_Rel format. Addends are neither stored in the
|
||||
# relocation entries nor applied in the referenced locations.
|
||||
# CHECK: 0x2 R_386_NONE .data 0x0
|
||||
# CHECK-NEXT: 0x1 R_386_NONE foo 0x0
|
||||
# CHECK-NEXT: 0x0 R_386_NONE - 0x0
|
||||
# CHECK-NEXT: 0x0 R_386_32 .data 0x0
|
||||
# CHECK-NEXT: 0x0 R_386_IRELATIVE foo 0x0
|
||||
# CHECK-NEXT: 0x0 R_386_GOT32X - 0x0
|
||||
# CHECK: 0x2 R_386_NONE .data
|
||||
# CHECK-NEXT: 0x1 R_386_NONE foo
|
||||
# CHECK-NEXT: 0x0 R_386_NONE -
|
||||
# CHECK-NEXT: 0x0 R_386_32 .data
|
||||
# CHECK-NEXT: 0x0 R_386_IRELATIVE foo
|
||||
# CHECK-NEXT: 0x0 R_386_GOT32X -
|
||||
|
||||
# HEX: 0x00000000 00000000 00000000
|
||||
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (2) .rel.text {
|
||||
# CHECK-NEXT: 0x0 R_LANAI_32 main 0x0
|
||||
# CHECK-NEXT: 0x4 R_LANAI_NONE - 0x0
|
||||
# CHECK-NEXT: 0x8 R_LANAI_21 - 0x0
|
||||
# CHECK-NEXT: 0xC R_LANAI_21_F - 0x0
|
||||
# CHECK-NEXT: 0x10 R_LANAI_25 - 0x0
|
||||
# CHECK-NEXT: 0x14 R_LANAI_HI16 - 0x0
|
||||
# CHECK-NEXT: 0x18 R_LANAI_LO16 - 0x0
|
||||
# CHECK-NEXT: 0x0 R_LANAI_32 main
|
||||
# CHECK-NEXT: 0x4 R_LANAI_NONE -
|
||||
# CHECK-NEXT: 0x8 R_LANAI_21 -
|
||||
# CHECK-NEXT: 0xC R_LANAI_21_F -
|
||||
# CHECK-NEXT: 0x10 R_LANAI_25 -
|
||||
# CHECK-NEXT: 0x14 R_LANAI_HI16 -
|
||||
# CHECK-NEXT: 0x18 R_LANAI_LO16 -
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: ]
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (2) .rel.text {
|
||||
# CHECK-NEXT: 0x0 R_386_32 main 0x0
|
||||
# CHECK-NEXT: 0x0 R_386_32 main
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: ]
|
||||
|
||||
|
@ -32,19 +32,16 @@ RUN: %p/Inputs/dyn-rel.so.elf-mips | FileCheck %s
|
||||
// CHECK-NEXT: Offset: 0x0
|
||||
// CHECK-NEXT: Type: R_MIPS_NONE (0)
|
||||
// CHECK-NEXT: Symbol: - (0)
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Relocation {
|
||||
// CHECK-NEXT: Offset: 0x102F8
|
||||
// CHECK-NEXT: Type: R_MIPS_REL32 (3)
|
||||
// CHECK-NEXT: Symbol: - (0)
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Relocation {
|
||||
// CHECK-NEXT: Offset: 0x102F4
|
||||
// CHECK-NEXT: Type: R_MIPS_REL32 (3)
|
||||
// CHECK-NEXT: Symbol: v2 (9)
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
@ -54,18 +51,15 @@ RUN: %p/Inputs/dyn-rel.so.elf-mips | FileCheck %s
|
||||
// CHECK-NEXT: Offset: 0x0
|
||||
// CHECK-NEXT: Type: R_MIPS_NONE (0)
|
||||
// CHECK-NEXT: Symbol: -
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Relocation {
|
||||
// CHECK-NEXT: Offset: 0x102F8
|
||||
// CHECK-NEXT: Type: R_MIPS_REL32 (3)
|
||||
// CHECK-NEXT: Symbol: -
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Relocation {
|
||||
// CHECK-NEXT: Offset: 0x102F4
|
||||
// CHECK-NEXT: Type: R_MIPS_REL32 (3)
|
||||
// CHECK-NEXT: Symbol: v2
|
||||
// CHECK-NEXT: Addend: 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
|
@ -70,6 +70,6 @@ Symbols:
|
||||
# CHECK: }
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (2) .rel.text {
|
||||
# CHECK-NEXT: 0xC R_ARM_V4BX - 0x0
|
||||
# CHECK-NEXT: 0xC R_ARM_V4BX -
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: ]
|
||||
|
@ -106,9 +106,9 @@ Symbols:
|
||||
# CHECK: }
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (2) .rel.text {
|
||||
# CHECK-NEXT: 0x1 R_MIPS_32 glob1 0x0
|
||||
# CHECK-NEXT: 0x1 R_MIPS_CALL16 glob2 0x0
|
||||
# CHECK-NEXT: 0x2 R_MIPS_LO16 loc1 0x0
|
||||
# CHECK-NEXT: 0x1 R_MIPS_32 glob1
|
||||
# CHECK-NEXT: 0x1 R_MIPS_CALL16 glob2
|
||||
# CHECK-NEXT: 0x2 R_MIPS_LO16 loc1
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: Section (3) .rela.text {
|
||||
# CHECK-NEXT: 0x1 R_MIPS_32 glob1 0x1
|
||||
|
@ -81,10 +81,10 @@ Symbols:
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (2) .rel.text {
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_PC32 foo 0x0
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_PC32 foo
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: Section (4) .rel.data {
|
||||
# CHECK-NEXT: 0x2000 R_X86_64_PC32 bar 0x0
|
||||
# CHECK-NEXT: 0x2000 R_X86_64_PC32 bar
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: Section (5) .rela.data {
|
||||
# CHECK-NEXT: 0x2000 R_X86_64_PC32 barA 0x17
|
||||
|
@ -83,7 +83,7 @@ Symbols:
|
||||
|
||||
#CHECK: Relocations [
|
||||
#CHECK-NEXT: Section (3) .rel.text {
|
||||
#CHECK-NEXT: 0x1000 R_X86_64_PC32 undefGlobal 0x0
|
||||
#CHECK-NEXT: 0x1000 R_X86_64_PC32 undefGlobal
|
||||
#CHECK-NEXT: }
|
||||
#CHECK-NEXT:]
|
||||
|
||||
|
@ -24,7 +24,7 @@ Sections:
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (2) .rel.text {
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_RELATIVE - 0x0
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_RELATIVE -
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT:]
|
||||
|
||||
@ -37,7 +37,7 @@ Sections:
|
||||
|
||||
# STRIP: Relocations [
|
||||
# STRIP-NEXT: Section {{.*}} .rel.text {
|
||||
# STRIP-NEXT: 0x1000 R_X86_64_NONE - 0x0
|
||||
# STRIP-NEXT: 0x1000 R_X86_64_NONE -
|
||||
# STRIP-NEXT: }
|
||||
# STRIP-NEXT: ]
|
||||
# STRIP-NEXT: Symbols [
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section {{.*}} .rel.text {
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_RELATIVE - 0x0
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_RELATIVE -
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT:]
|
||||
|
||||
|
@ -315,8 +315,8 @@ ProgramHeaders:
|
||||
# RUN: llvm-readelf --dyn-relocations %t13 2>&1 | FileCheck %s -DFILE=%t13 --check-prefix=BOTH-RELA-REL-GNU
|
||||
|
||||
# BOTH-RELA-REL-LLVM: Dynamic Relocations {
|
||||
# BOTH-RELA-REL-LLVM-NEXT: 0x1 R_X86_64_NONE - 0x0
|
||||
# BOTH-RELA-REL-LLVM-NEXT: 0x2 R_X86_64_NONE - 0x0
|
||||
# BOTH-RELA-REL-LLVM-NEXT: 0x1 R_X86_64_NONE - 0x0{{$}}
|
||||
# BOTH-RELA-REL-LLVM-NEXT: 0x2 R_X86_64_NONE -{{$}}
|
||||
# BOTH-RELA-REL-LLVM-NEXT: }
|
||||
|
||||
# BOTH-RELA-REL-GNU: 'RELA' relocation section at offset 0x78 contains 24 bytes:
|
||||
|
@ -33,9 +33,9 @@ FileHeader:
|
||||
|
||||
# LLVM-RELOCS: Dynamic Relocations {
|
||||
# LLVM-RELOCS-NEXT: 0x1 R_X86_64_NONE foo 0x0
|
||||
# LLVM-RELOCS-NEXT: 0x2 R_X86_64_NONE foo 0x0
|
||||
# LLVM-RELOCS-NEXT: 0x4 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM-RELOCS-NEXT: 0x8 R_X86_64_NONE foo 0x0
|
||||
# LLVM-RELOCS-NEXT: 0x2 R_X86_64_NONE foo
|
||||
# LLVM-RELOCS-NEXT: 0x4 R_X86_64_RELATIVE
|
||||
# LLVM-RELOCS-NEXT: 0x8 R_X86_64_NONE foo
|
||||
# LLVM-RELOCS-NEXT: }
|
||||
|
||||
# GNU-RELOCS:'RELA' relocation section at offset 0x78 contains 24 bytes:
|
||||
@ -141,8 +141,8 @@ ProgramHeaders:
|
||||
# PLTRELUNKNOWN-LLVM: warning: '[[FILE]]': unknown DT_PLTREL value of 255
|
||||
# PLTRELUNKNOWN-LLVM: Dynamic Relocations {
|
||||
# PLTRELUNKNOWN-LLVM-NEXT: 0x1 R_X86_64_NONE foo 0x0
|
||||
# PLTRELUNKNOWN-LLVM-NEXT: 0x2 R_X86_64_NONE foo 0x0
|
||||
# PLTRELUNKNOWN-LLVM-NEXT: 0x4 R_X86_64_RELATIVE - 0x0
|
||||
# PLTRELUNKNOWN-LLVM-NEXT: 0x2 R_X86_64_NONE foo{{$}}
|
||||
# PLTRELUNKNOWN-LLVM-NEXT: 0x4 R_X86_64_RELATIVE -{{$}}
|
||||
# PLTRELUNKNOWN-LLVM-NEXT: warning: '[[FILE]]': invalid DT_PLTRELSZ value (0x10) or PLTREL entry size (0x0)
|
||||
# PLTRELUNKNOWN-LLVM-NEXT: }
|
||||
|
||||
|
@ -31,10 +31,7 @@
|
||||
# RUN: llvm-readobj -r %t.le64.rel | FileCheck %s --check-prefix=LLVM-REL64
|
||||
# RUN: llvm-readelf -r %t.le64.rel | FileCheck %s --check-prefix=GNU-REL64
|
||||
|
||||
## FIXME: We either should not dump an addend or should read it from a
|
||||
## destination location for a SHT_REL case.
|
||||
## See https://bugs.llvm.org/show_bug.cgi?id=44257.
|
||||
# LLVM-REL64-COUNT-7: R_X86_64_NONE - 0x0{{$}}
|
||||
# LLVM-REL64-COUNT-7: R_X86_64_NONE -{{$}}
|
||||
# LLVM-REL64-NOT: R_
|
||||
|
||||
# GNU-REL64: Type Symbol's Value Symbol's Name{{$}}
|
||||
@ -108,10 +105,7 @@ Sections:
|
||||
# RUN: llvm-readobj -r %t.le32.rel | FileCheck %s --check-prefix=LLVM-REL32
|
||||
# RUN: llvm-readelf -r %t.le32.rel | FileCheck %s --check-prefix=GNU-REL32
|
||||
|
||||
## FIXME: We either should not dump an addend or should read it from a
|
||||
## destination location for a SHT_REL case.
|
||||
## See https://bugs.llvm.org/show_bug.cgi?id=44257.
|
||||
# LLVM-REL32-COUNT-7: R_386_NONE - 0x0{{$}}
|
||||
# LLVM-REL32-COUNT-7: R_386_NONE -{{$}}
|
||||
# LLVM-REL32-NOT: R_
|
||||
|
||||
# GNU-REL32: Type
|
||||
|
@ -8,13 +8,13 @@
|
||||
# LLVM-NEXT: Section (3) .rel.text {
|
||||
# LLVM-NEXT: warning: '[[FILE]]': unable to print relocation 1 in SHT_REL section with index 3: unable to access section [index 6] data at 0x17e7e7e8d0: offset goes past the end of file
|
||||
# LLVM-NEXT: warning: '[[FILE]]': unable to print relocation 2 in SHT_REL section with index 3: unable to access section [index 6] data at 0x17e7e7e8d0: offset goes past the end of file
|
||||
# LLVM-NEXT: 0x2 R_X86_64_NONE - 0x0
|
||||
# LLVM-NEXT: 0x3 R_X86_64_NONE .sec.symbol1 0x0
|
||||
# LLVM-NEXT: 0x2 R_X86_64_NONE -{{$}}
|
||||
# LLVM-NEXT: 0x3 R_X86_64_NONE .sec.symbol1{{$}}
|
||||
# LLVM-NEXT: warning: '[[FILE]]': invalid section index: 255
|
||||
# LLVM-NEXT: 0x4 R_X86_64_NONE <section 255> 0x0
|
||||
# LLVM-NEXT: 0x5 R_X86_64_NONE .sec.symbol2 0x0
|
||||
# LLVM-NEXT: 0x4 R_X86_64_NONE <section 255>{{$}}
|
||||
# LLVM-NEXT: 0x5 R_X86_64_NONE .sec.symbol2{{$}}
|
||||
# LLVM-NEXT: warning: '[[FILE]]': a section [index 2] has an invalid sh_name (0xfefefefe) offset which goes past the end of the section name string table
|
||||
# LLVM-NEXT: 0x6 R_X86_64_NONE <section 2> 0x0
|
||||
# LLVM-NEXT: 0x6 R_X86_64_NONE <section 2>{{$}}
|
||||
# LLVM-NEXT: }
|
||||
# LLVM-NEXT: Section (4) .rela.text {
|
||||
# LLVM-NEXT: warning: '[[FILE]]': unable to print relocation 1 in SHT_RELA section with index 4: invalid sh_type for symbol table, expected SHT_SYMTAB or SHT_DYNSYM
|
||||
|
@ -11,10 +11,10 @@
|
||||
|
||||
# LLVM-64:Relocations [
|
||||
# LLVM-64-NEXT: Section (2) .rel.text {
|
||||
# LLVM-64-NEXT: 0x0 R_X86_64_NONE rel_0 0x0
|
||||
# LLVM-64-NEXT: 0x1 R_X86_64_PC32 rel_neg 0x0
|
||||
# LLVM-64-NEXT: 0x5 R_X86_64_PLT32 rel_pos 0x0
|
||||
# LLVM-64-NEXT: 0x9 R_X86_64_64 rel_64 0x0
|
||||
# LLVM-64-NEXT: 0x0 R_X86_64_NONE rel_0
|
||||
# LLVM-64-NEXT: 0x1 R_X86_64_PC32 rel_neg
|
||||
# LLVM-64-NEXT: 0x5 R_X86_64_PLT32 rel_pos
|
||||
# LLVM-64-NEXT: 0x9 R_X86_64_64 rel_64
|
||||
# LLVM-64-NEXT: }
|
||||
# LLVM-64-NEXT: Section (3) .rela.text {
|
||||
# LLVM-64-NEXT: 0x0 R_X86_64_NONE rela_0 0x0
|
||||
@ -60,25 +60,21 @@
|
||||
# LLVM-EXPAND-64-NEXT: Offset: 0x0
|
||||
# LLVM-EXPAND-64-NEXT: Type: R_X86_64_NONE (0)
|
||||
# LLVM-EXPAND-64-NEXT: Symbol: rel_0 (1)
|
||||
# LLVM-EXPAND-64-NEXT: Addend: 0x0
|
||||
# LLVM-EXPAND-64-NEXT: }
|
||||
# LLVM-EXPAND-64-NEXT: Relocation {
|
||||
# LLVM-EXPAND-64-NEXT: Offset: 0x1
|
||||
# LLVM-EXPAND-64-NEXT: Type: R_X86_64_PC32 (2)
|
||||
# LLVM-EXPAND-64-NEXT: Symbol: rel_neg (2)
|
||||
# LLVM-EXPAND-64-NEXT: Addend: 0x0
|
||||
# LLVM-EXPAND-64-NEXT: }
|
||||
# LLVM-EXPAND-64-NEXT: Relocation {
|
||||
# LLVM-EXPAND-64-NEXT: Offset: 0x5
|
||||
# LLVM-EXPAND-64-NEXT: Type: R_X86_64_PLT32 (4)
|
||||
# LLVM-EXPAND-64-NEXT: Symbol: rel_pos (3)
|
||||
# LLVM-EXPAND-64-NEXT: Addend: 0x0
|
||||
# LLVM-EXPAND-64-NEXT: }
|
||||
# LLVM-EXPAND-64-NEXT: Relocation {
|
||||
# LLVM-EXPAND-64-NEXT: Offset: 0x9
|
||||
# LLVM-EXPAND-64-NEXT: Type: R_X86_64_64 (1)
|
||||
# LLVM-EXPAND-64-NEXT: Symbol: rel_64 (4)
|
||||
# LLVM-EXPAND-64-NEXT: Addend: 0x0
|
||||
# LLVM-EXPAND-64-NEXT: }
|
||||
# LLVM-EXPAND-64-NEXT: }
|
||||
# LLVM-EXPAND-64-NEXT: Section (3) .rela.text {
|
||||
@ -243,10 +239,10 @@ Symbols:
|
||||
|
||||
# BROKEN-RELA-LLVM: Relocations [
|
||||
# BROKEN-RELA-LLVM-NEXT: Section (2) .rel.text {
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x0 R_X86_64_NONE rel_0 0x0
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x1 R_X86_64_PC32 rel_neg 0x0
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x5 R_X86_64_PLT32 rel_pos 0x0
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x9 R_X86_64_64 rel_64 0x0
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x0 R_X86_64_NONE rel_0{{$}}
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x1 R_X86_64_PC32 rel_neg{{$}}
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x5 R_X86_64_PLT32 rel_pos{{$}}
|
||||
# BROKEN-RELA-LLVM-NEXT: 0x9 R_X86_64_64 rel_64{{$}}
|
||||
# BROKEN-RELA-LLVM-NEXT: }
|
||||
# BROKEN-RELA-LLVM-NEXT: Section (3) .rela.text {
|
||||
# BROKEN-RELA-LLVM-NEXT: warning: '[[FILE]]': unable to read relocations from SHT_RELA section with index 3: section [index 3] has an invalid sh_entsize: 1
|
||||
@ -300,9 +296,9 @@ Symbols:
|
||||
|
||||
# LLVM-32:Relocations [
|
||||
# LLVM-32-NEXT: Section (2) .rel.text {
|
||||
# LLVM-32-NEXT: 0x0 R_386_NONE rel_0 0x0
|
||||
# LLVM-32-NEXT: 0x1 R_386_PC32 rel_neg 0x0
|
||||
# LLVM-32-NEXT: 0x5 R_386_PLT32 rel_pos 0x0
|
||||
# LLVM-32-NEXT: 0x0 R_386_NONE rel_0
|
||||
# LLVM-32-NEXT: 0x1 R_386_PC32 rel_neg
|
||||
# LLVM-32-NEXT: 0x5 R_386_PLT32 rel_pos
|
||||
# LLVM-32-NEXT: }
|
||||
# LLVM-32-NEXT: Section (3) .rela.text {
|
||||
# LLVM-32-NEXT: 0x0 R_386_NONE rela_0 0x0
|
||||
@ -347,19 +343,16 @@ Symbols:
|
||||
# LLVM-EXPAND-32-NEXT: Offset: 0x0
|
||||
# LLVM-EXPAND-32-NEXT: Type: R_386_NONE (0)
|
||||
# LLVM-EXPAND-32-NEXT: Symbol: rel_0 (1)
|
||||
# LLVM-EXPAND-32-NEXT: Addend: 0x0
|
||||
# LLVM-EXPAND-32-NEXT: }
|
||||
# LLVM-EXPAND-32-NEXT: Relocation {
|
||||
# LLVM-EXPAND-32-NEXT: Offset: 0x1
|
||||
# LLVM-EXPAND-32-NEXT: Type: R_386_PC32 (2)
|
||||
# LLVM-EXPAND-32-NEXT: Symbol: rel_neg (2)
|
||||
# LLVM-EXPAND-32-NEXT: Addend: 0x0
|
||||
# LLVM-EXPAND-32-NEXT: }
|
||||
# LLVM-EXPAND-32-NEXT: Relocation {
|
||||
# LLVM-EXPAND-32-NEXT: Offset: 0x5
|
||||
# LLVM-EXPAND-32-NEXT: Type: R_386_PLT32 (4)
|
||||
# LLVM-EXPAND-32-NEXT: Symbol: rel_pos (3)
|
||||
# LLVM-EXPAND-32-NEXT: Addend: 0x0
|
||||
# LLVM-EXPAND-32-NEXT: }
|
||||
# LLVM-EXPAND-32-NEXT: }
|
||||
# LLVM-EXPAND-32-NEXT: Section (3) .rela.text {
|
||||
@ -475,10 +468,10 @@ Symbols:
|
||||
# LLVM-SHNAME: Relocations [
|
||||
# LLVM-SHNAME-NEXT: warning: '[[FILE]]': unable to get the name of SHT_REL section with index 2: a section [index 2] has an invalid sh_name (0xffffffff) offset which goes past the end of the section name string table
|
||||
# LLVM-SHNAME-NEXT: Section (2) <?> {
|
||||
# LLVM-SHNAME-NEXT: 0x0 R_X86_64_NONE rel_0 0x0
|
||||
# LLVM-SHNAME-NEXT: 0x1 R_X86_64_PC32 rel_neg 0x0
|
||||
# LLVM-SHNAME-NEXT: 0x5 R_X86_64_PLT32 rel_pos 0x0
|
||||
# LLVM-SHNAME-NEXT: 0x9 R_X86_64_64 rel_64 0x0
|
||||
# LLVM-SHNAME-NEXT: 0x0 R_X86_64_NONE rel_0{{$}}
|
||||
# LLVM-SHNAME-NEXT: 0x1 R_X86_64_PC32 rel_neg{{$}}
|
||||
# LLVM-SHNAME-NEXT: 0x5 R_X86_64_PLT32 rel_pos{{$}}
|
||||
# LLVM-SHNAME-NEXT: 0x9 R_X86_64_64 rel_64{{$}}
|
||||
# LLVM-SHNAME-NEXT: }
|
||||
# LLVM-SHNAME-NEXT: warning: '[[FILE]]': unable to get the name of SHT_RELA section with index 3: a section [index 3] has an invalid sh_name (0xffffffff) offset which goes past the end of the section name string table
|
||||
# LLVM-SHNAME-NEXT: Section (3) <?> {
|
||||
|
@ -11,29 +11,31 @@
|
||||
# RAW-LLVM1-NEXT: 0xA700550400009
|
||||
# RAW-LLVM1-NEXT: }
|
||||
|
||||
# RUN: llvm-readobj --relocations %t1 | FileCheck --check-prefix=LLVM1 %s
|
||||
# RUN: llvm-readobj --relocations %t1 | \
|
||||
# RUN: FileCheck --match-full-lines --check-prefix=LLVM1 %s
|
||||
|
||||
# LLVM1: Section (1) .relr.dyn {
|
||||
# LLVM1-NEXT: 0x10D60 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x10D68 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x10DA0 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20000 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20040 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20050 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20080 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20088 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20090 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20098 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20210 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x202A8 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x202D8 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x202E8 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x202F8 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20308 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20358 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20360 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20368 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20380 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x20390 R_X86_64_RELATIVE - 0x0
|
||||
# LLVM1-NEXT: 0x10D60 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x10D68 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x10DA0 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20000 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20040 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20050 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20080 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20088 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20090 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20098 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20210 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x202A8 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x202D8 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x202E8 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x202F8 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20308 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20358 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20360 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20368 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20380 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: 0x20390 R_X86_64_RELATIVE -
|
||||
# LLVM1-NEXT: }
|
||||
|
||||
# RUN: llvm-readelf --relocations --raw-relr %t1 \
|
||||
@ -93,22 +95,24 @@ Sections:
|
||||
# RAW-LLVM2-NEXT: 0x50400009
|
||||
# RAW-LLVM2-NEXT: }
|
||||
|
||||
# RUN: llvm-readobj --relocations %t2 | FileCheck --check-prefix=LLVM2 %s
|
||||
# RUN: llvm-readobj --relocations %t2 | \
|
||||
# RUN: FileCheck --match-full-lines --check-prefix=LLVM2 %s
|
||||
|
||||
# LLVM2: Section (1) .relr.dyn {
|
||||
# LLVM2-NEXT: 0x10D60 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x10D64 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x10D80 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x20000 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x20020 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x20028 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x20040 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x20044 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x20048 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x2004C R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x20088 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x200D4 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x200EC R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x200F4 R_386_RELATIVE - 0x0
|
||||
# LLVM2-NEXT: 0x10D60 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x10D64 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x10D80 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x20000 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x20020 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x20028 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x20040 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x20044 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x20048 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x2004C R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x20088 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x200D4 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x200EC R_386_RELATIVE -
|
||||
# LLVM2-NEXT: 0x200F4 R_386_RELATIVE -
|
||||
# LLVM2-NEXT: }
|
||||
|
||||
# RUN: llvm-readelf --relocations --raw-relr %t2 | \
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: Section (2) .rel.text {
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_RELATIVE - 0x0
|
||||
# CHECK-NEXT: 0x1001 R_X86_64_PC32 - 0x0
|
||||
# CHECK-NEXT: 0x1000 R_X86_64_RELATIVE -
|
||||
# CHECK-NEXT: 0x1001 R_X86_64_PC32 -
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT:]
|
||||
|
||||
|
@ -6419,18 +6419,20 @@ void LLVMStyle<ELFT>::printRelRelaReloc(const Relocation<ELFT> &R,
|
||||
SmallString<32> RelocName;
|
||||
this->Obj.getRelocationTypeName(R.Type, RelocName);
|
||||
|
||||
uintX_t Addend = R.Addend.getValueOr(0);
|
||||
if (opts::ExpandRelocs) {
|
||||
DictScope Group(W, "Relocation");
|
||||
W.printHex("Offset", R.Offset);
|
||||
W.printNumber("Type", RelocName, R.Type);
|
||||
W.printNumber("Symbol", !SymbolName.empty() ? SymbolName : "-", R.Symbol);
|
||||
W.printHex("Addend", Addend);
|
||||
if (R.Addend)
|
||||
W.printHex("Addend", (uintX_t)*R.Addend);
|
||||
} else {
|
||||
raw_ostream &OS = W.startLine();
|
||||
OS << W.hex(R.Offset) << " " << RelocName << " "
|
||||
<< (!SymbolName.empty() ? SymbolName : "-") << " " << W.hex(Addend)
|
||||
<< "\n";
|
||||
<< (!SymbolName.empty() ? SymbolName : "-");
|
||||
if (R.Addend)
|
||||
OS << " " << W.hex((uintX_t)*R.Addend);
|
||||
OS << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user