diff options
author | Fangrui Song <maskray@google.com> | 2019-08-20 09:20:05 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-08-20 09:20:05 +0000 |
commit | 12d83b427015083f40964c706a5b9e428d9d88df (patch) | |
tree | bd6c2c26798339ced95f95e09e38f4a15e2046f3 | |
parent | 30c86b64da71a9386c35f8ab973ae360bec9b651 (diff) | |
download | bcm5719-llvm-12d83b427015083f40964c706a5b9e428d9d88df.tar.gz bcm5719-llvm-12d83b427015083f40964c706a5b9e428d9d88df.zip |
[ELF][PPC] Allow PT_LOAD to have overlapping p_offset ranges on EM_PPC
Ported the D64906 technique to EM_PPC.
Delete ppc-rela.s that is covered by ppc32-abs-pic.s
llvm-svn: 369351
-rw-r--r-- | lld/ELF/Writer.cpp | 2 | ||||
-rw-r--r-- | lld/test/ELF/basic-ppc.s | 30 | ||||
-rw-r--r-- | lld/test/ELF/ppc-rela.s | 11 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-abs-pic.s | 6 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-call-stub-nopic.s | 30 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-call-stub-pic.s | 52 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-gnu-ifunc-nonpreemptable.s | 14 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-gnu-ifunc.s | 6 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-reloc-got.s | 8 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-tls-gd.s | 18 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-tls-ie.s | 4 | ||||
-rw-r--r-- | lld/test/ELF/ppc32-tls-ld.s | 2 |
12 files changed, 88 insertions, 95 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 21ff219bd3c..fde253796a1 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -2221,7 +2221,7 @@ template <class ELFT> void Writer<ELFT>::fixSectionAlignments() { // TODO Enable this technique on all targets. bool enable = config->emachine == EM_386 || config->emachine == EM_AARCH64 || - config->emachine == EM_PPC64; + config->emachine == EM_PPC || config->emachine == EM_PPC64; if (!enable || (config->zSeparateCode && prev && (prev->p_flags & PF_X) != (p->p_flags & PF_X))) diff --git a/lld/test/ELF/basic-ppc.s b/lld/test/ELF/basic-ppc.s index 354c39caa7b..567b55c13a1 100644 --- a/lld/test/ELF/basic-ppc.s +++ b/lld/test/ELF/basic-ppc.s @@ -26,9 +26,9 @@ // CHECK-NEXT: Type: Executable (0x2) // CHECK-NEXT: Machine: EM_PPC (0x14) // CHECK-NEXT: Version: 1 -// CHECK-NEXT: Entry: 0x10010000 +// CHECK-NEXT: Entry: 0x100100B4 // CHECK-NEXT: ProgramHeaderOffset: 0x34 -// CHECK-NEXT: SectionHeaderOffset: 0x10050 +// CHECK-NEXT: SectionHeaderOffset: 0x104 // CHECK-NEXT: Flags [ (0x0) // CHECK-NEXT: ] // CHECK-NEXT: HeaderSize: 52 @@ -63,8 +63,8 @@ // CHECK-NEXT: SHF_ALLOC (0x2) // CHECK-NEXT: SHF_EXECINSTR (0x4) // CHECK-NEXT: ] -// CHECK-NEXT: Address: 0x10010000 -// CHECK-NEXT: Offset: 0x10000 +// CHECK-NEXT: Address: 0x100100B4 +// CHECK-NEXT: Offset: 0xB4 // CHECK-NEXT: Size: 12 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 @@ -83,7 +83,7 @@ // CHECK-NEXT: SHF_STRINGS (0x20) // CHECK-NEXT: ] // CHECK-NEXT: Address: 0x0 -// CHECK-NEXT: Offset: 0x1000C +// CHECK-NEXT: Offset: 0xC0 // CHECK-NEXT: Size: 8 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 @@ -97,7 +97,7 @@ // CHECK-NEXT: Flags [ (0x0) // CHECK-NEXT: ] // CHECK-NEXT: Address: 0x0 -// CHECK-NEXT: Offset: 0x10014 +// CHECK-NEXT: Offset: 0xC8 // CHECK-NEXT: Size: 16 // CHECK-NEXT: Link: 5 // CHECK-NEXT: Info: 1 @@ -114,7 +114,7 @@ // CHECK-NEXT: Flags [ (0x0) // CHECK-NEXT: ] // CHECK-NEXT: Address: 0x0 -// CHECK-NEXT: Offset: 0x10024 +// CHECK-NEXT: Offset: 0xD8 // CHECK-NEXT: Size: 42 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 @@ -128,7 +128,7 @@ // CHECK-NEXT: Flags [ (0x0) // CHECK-NEXT: ] // CHECK-NEXT: Address: 0x0 -// CHECK-NEXT: Offset: 0x1004E +// CHECK-NEXT: Offset: 0x102 // CHECK-NEXT: Size: 1 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 @@ -143,8 +143,8 @@ // CHECK-NEXT: ProgramHeader { // CHECK-NEXT: Type: PT_PHDR (0x6) // CHECK-NEXT: Offset: 0x34 -// CHECK-NEXT: VirtualAddress: 0x10000034 -// CHECK-NEXT: PhysicalAddress: 0x10000034 +// CHECK-NEXT: VirtualAddress: 0x10010034 +// CHECK-NEXT: PhysicalAddress: 0x10010034 // CHECK-NEXT: FileSize: 128 // CHECK-NEXT: MemSize: 128 // CHECK-NEXT: Flags [ (0x4) @@ -155,8 +155,8 @@ // CHECK-NEXT: ProgramHeader { // CHECK-NEXT: Type: PT_LOAD (0x1) // CHECK-NEXT: Offset: 0x0 -// CHECK-NEXT: VirtualAddress: 0x10000000 -// CHECK-NEXT: PhysicalAddress: 0x10000000 +// CHECK-NEXT: VirtualAddress: 0x10010000 +// CHECK-NEXT: PhysicalAddress: 0x10010000 // CHECK-NEXT: FileSize: 180 // CHECK-NEXT: MemSize: 180 // CHECK-NEXT: Flags [ (0x4) @@ -166,9 +166,9 @@ // CHECK-NEXT: } // CHECK-NEXT: ProgramHeader { // CHECK-NEXT: Type: PT_LOAD (0x1) -// CHECK-NEXT: Offset: 0x1000 -// CHECK-NEXT: VirtualAddress: 0x10010000 -// CHECK-NEXT: PhysicalAddress: 0x10010000 +// CHECK-NEXT: Offset: 0xB4 +// CHECK-NEXT: VirtualAddress: 0x100100B4 +// CHECK-NEXT: PhysicalAddress: 0x100100B4 // CHECK-NEXT: FileSize: 12 // CHECK-NEXT: MemSize: 12 // CHECK-NEXT: Flags [ (0x5) diff --git a/lld/test/ELF/ppc-rela.s b/lld/test/ELF/ppc-rela.s deleted file mode 100644 index 5f19120cbdf..00000000000 --- a/lld/test/ELF/ppc-rela.s +++ /dev/null @@ -1,11 +0,0 @@ -# REQUIRES: ppc -# RUN: llvm-mc -filetype=obj -triple=powerpc-unknown-freebsd %s -o %t -# RUN: ld.lld %t -o %t2 -shared -# RUN: llvm-readobj -r %t2 | FileCheck %s - -.data - .long foo - -// CHECK: Section ({{.*}}) .rela.dyn { -// CHECK-NEXT: 0x20000 R_PPC_ADDR32 foo 0x0 -// CHECK-NEXT: } diff --git a/lld/test/ELF/ppc32-abs-pic.s b/lld/test/ELF/ppc32-abs-pic.s index 311220d4a4a..44a099d3efb 100644 --- a/lld/test/ELF/ppc32-abs-pic.s +++ b/lld/test/ELF/ppc32-abs-pic.s @@ -7,11 +7,11 @@ ## R_PPC_ADDR32 is an absolute relocation type. ## In PIC mode, it creates a relative relocation if the symbol is non-preemptable. -# NM: 00020004 d b +# NM: 00030204 d b # RELOC: .rela.dyn { -# RELOC-NEXT: 0x20004 R_PPC_RELATIVE - 0x20004 -# RELOC-NEXT: 0x20000 R_PPC_ADDR32 a 0 +# RELOC-NEXT: 0x30204 R_PPC_RELATIVE - 0x30204 +# RELOC-NEXT: 0x30200 R_PPC_ADDR32 a 0 # RELOC-NEXT: } .globl a, b diff --git a/lld/test/ELF/ppc32-call-stub-nopic.s b/lld/test/ELF/ppc32-call-stub-nopic.s index 2d788adbace..d2b9d460a56 100644 --- a/lld/test/ELF/ppc32-call-stub-nopic.s +++ b/lld/test/ELF/ppc32-call-stub-nopic.s @@ -11,12 +11,12 @@ # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s # RELOC: .rela.plt { -# RELOC-NEXT: 0x10030000 R_PPC_JMP_SLOT f 0x0 -# RELOC-NEXT: 0x10030004 R_PPC_JMP_SLOT g 0x0 +# RELOC-NEXT: 0x100302C4 R_PPC_JMP_SLOT f 0x0 +# RELOC-NEXT: 0x100302C8 R_PPC_JMP_SLOT g 0x0 # RELOC-NEXT: } -# SEC: .got PROGBITS 10020070 -# RELOC: PPC_GOT 0x10020070 +# SEC: .got PROGBITS 100202b8 +# RELOC: PPC_GOT 0x100202B8 ## .got2+0x8000-0x10004 = 0x30000+0x8000-0x10004 = 65536*2+32764 # CHECK-LABEL: _start: @@ -27,40 +27,40 @@ # CHECK-EMPTY: ## -fno-PIC call stubs of f and g. -## .plt[0] = 0x10030000 = 65536*4099+0 -## .plt[1] = 0x10030004 = 65536*4099+4 +## .plt[0] = 0x100302c4 = 65536*4099+708 +## .plt[1] = 0x100302c8 = 65536*4099+712 # CHECK-NEXT: 00000000.plt_call32.f: # CHECK-NEXT: lis 11, 4099 -# CHECK-NEXT: lwz 11, 0(11) +# CHECK-NEXT: lwz 11, 708(11) # CHECK-NEXT: mtctr 11 # CHECK-NEXT: bctr # CHECK-EMPTY: # CHECK-NEXT: 00000000.plt_call32.g: # CHECK-NEXT: lis 11, 4099 -# CHECK-NEXT: lwz 11, 4(11) +# CHECK-NEXT: lwz 11, 712(11) # CHECK-NEXT: mtctr 11 # CHECK-NEXT: bctr # CHECK-EMPTY: ## In Secure PLT ABI, .plt stores function pointers to first instructions of .glink -# HEX: 0x10030000 10010040 10010044 +# HEX: 0x100302c4 10010200 10010204 ## These instructions are referenced by .plt entries. -# CHECK: 10010040 .glink: +# CHECK: 10010200 .glink: # CHECK-NEXT: b .+8 # CHECK-NEXT: b .+4 ## PLTresolve -## Operands of lis & lwz: .got+4 = 0x10020070+4 = 65536*4098+116 -## Operands of addis & addi: -.glink = -0x10010040 = 65536*-4097-48 +## Operands of lis & lwz: .got+4 = 0x10020070+4 = 65536*4098+700 +## Operands of addis & addi: -.glink = -0x10010200 = 65536*-4097-512 # CHECK-NEXT: lis 12, 4098 # CHECK-NEXT: addis 11, 11, -4097 -# CHECK-NEXT: lwz 0, 116(12) -# CHECK-NEXT: addi 11, 11, -64 +# CHECK-NEXT: lwz 0, 700(12) +# CHECK-NEXT: addi 11, 11, -512 # CHECK-NEXT: mtctr 0 # CHECK-NEXT: add 0, 11, 11 -# CHECK-NEXT: lwz 12, 120(12) +# CHECK-NEXT: lwz 12, 704(12) # CHECK-NEXT: add 11, 0, 11 # CHECK-NEXT: bctr diff --git a/lld/test/ELF/ppc32-call-stub-pic.s b/lld/test/ELF/ppc32-call-stub-pic.s index 30d5192a3ee..b80434eb38f 100644 --- a/lld/test/ELF/ppc32-call-stub-pic.s +++ b/lld/test/ELF/ppc32-call-stub-pic.s @@ -28,15 +28,18 @@ # RELOC-NEXT: R_PPC_JMP_SLOT h 0x0 # RELOC-NEXT: } -# SEC: .got PROGBITS 00020088 -# DYN: PPC_GOT 0x20088 +# SEC: .got PROGBITS 00020374 +# DYN: PPC_GOT 0x20374 ## .got2+0x8000-0x10004 = 0x30000+0x8000-0x10004 = 65536*2+32764 # CHECK-LABEL: _start: -# CHECK-NEXT: bcl 20, 31, .+4 -# CHECK-NEXT: 10004: mflr 30 -# CHECK-NEXT: addis 30, 30, 2 -# CHECK-NEXT: addi 30, 30, 32764 +# CHECK-NEXT: bcl 20, 31, .+4 +# PIE-NEXT: 10210: mflr 30 +# PIE-NEXT: addis 30, 30, 3 +# PIE-NEXT: addi 30, 30, -32400 +# SHARED-NEXT: 10230: mflr 30 +# SHARED-NEXT: addis 30, 30, 3 +# SHARED-NEXT: addi 30, 30, -32408 ## Two bl 00008000.got2.plt_pic32.f # CHECK-NEXT: bl .+40 @@ -80,8 +83,7 @@ ## -fpic call stub of f. # CHECK-NEXT: 00000000.plt_pic32.f: # CHECK-NEXT: addis 11, 30, 2 -# PIE-NEXT: lwz 11, -144(11) -# SHARED-NEXT: lwz 11, -136(11) +# CHECK-NEXT: lwz 11, 4(11) # CHECK-NEXT: mtctr 11 # CHECK-NEXT: bctr # CHECK-EMPTY: @@ -92,36 +94,38 @@ # CHECK-NEXT: 00008000.got2.plt_pic32.f: ## In Secure PLT ABI, .plt stores function pointers to first instructions of .glink -# HEX: 0x0003fff8 00010090 00010094 00010098 +# HEX: 0x00040378 000102a0 000102a4 000102a8 ## These instructions are referenced by .plt entries. -# CHECK: 00010090 .glink: +# PIE: 000102a0 .glink: +# SHARED: 000102c0 .glink: # CHECK-NEXT: b .+12 # CHECK-NEXT: b .+8 # CHECK-NEXT: b .+4 ## PLTresolve ## Operand of addi: 0x100a8-.glink = 24 -# CHECK-NEXT: addis 11, 11, 0 -# CHECK-NEXT: mflr 0 -# CHECK-NEXT: bcl 20, 31, .+4 -# CHECK-NEXT: 100a8: addi 11, 11, 24 +# CHECK-NEXT: addis 11, 11, 0 +# CHECK-NEXT: mflr 0 +# CHECK-NEXT: bcl 20, 31, .+4 +# PIE-NEXT: 102b8: addi 11, 11, 24 +# SHARED-NEXT: 102d8: addi 11, 11, 24 # CHECK-NEXT: mflr 12 # CHECK-NEXT: mtlr 0 # CHECK-NEXT: subf 11, 12, 11 ## Operand of lwz in -pie mode: &.got[1] - 0x100a8 = 0x20088+4 - 0x100a8 = 65536*1-28 -# CHECK-NEXT: addis 12, 12, 1 -# PIE-NEXT: lwz 0, -28(12) -# SHARED-NEXT: lwz 0, -36(12) - -# PIE-NEXT: lwz 12, -24(12) -# SHARED-NEXT: lwz 12, -32(12) -# CHECK-NEXT: mtctr 0 -# CHECK-NEXT: add 0, 11, 11 -# CHECK-NEXT: add 11, 0, 11 -# CHECK-NEXT: bctr +# CHECK-NEXT: addis 12, 12, 1 +# PIE-NEXT: lwz 0, 192(12) +# SHARED-NEXT: lwz 0, 184(12) + +# PIE-NEXT: lwz 12, 196(12) +# SHARED-NEXT: lwz 12, 188(12) +# CHECK-NEXT: mtctr 0 +# CHECK-NEXT: add 0, 11, 11 +# CHECK-NEXT: add 11, 0, 11 +# CHECK-NEXT: bctr .section .got2,"aw" .space 65516 diff --git a/lld/test/ELF/ppc32-gnu-ifunc-nonpreemptable.s b/lld/test/ELF/ppc32-gnu-ifunc-nonpreemptable.s index d0251209af1..2e27698772f 100644 --- a/lld/test/ELF/ppc32-gnu-ifunc-nonpreemptable.s +++ b/lld/test/ELF/ppc32-gnu-ifunc-nonpreemptable.s @@ -7,26 +7,26 @@ # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s # RELOC: .rela.dyn { -# RELOC-NEXT: 0x10020004 R_PPC_IRELATIVE - 0x10010000 +# RELOC-NEXT: 0x10020108 R_PPC_IRELATIVE - 0x100100E0 # RELOC-NEXT: } -# SYM: 10010020 0 FUNC GLOBAL DEFAULT {{.*}} func -# HEX: 0x10020000 10010020 +# SYM: 10010100 0 FUNC GLOBAL DEFAULT {{.*}} func +# HEX: 0x10020104 10010100 .section .got2,"aw" .long func # CHECK: func_resolver: -# CHECK-NEXT: 10010000: blr +# CHECK-NEXT: 100100e0: blr # CHECK: _start: # CHECK-NEXT: bl .+12 # CHECK-NEXT: lis 9, 4097 -# CHECK-NEXT: addi 9, 9, 32 +# CHECK-NEXT: addi 9, 9, 256 # CHECK-EMPTY: # CHECK-NEXT: 00000000.plt_call32.func: -## 10020004 = 65536*4098+4 +## 0x10020108 = 65536*4098+264 # CHECK-NEXT: lis 11, 4098 -# CHECK-NEXT: lwz 11, 4(11) +# CHECK-NEXT: lwz 11, 264(11) .text .globl func diff --git a/lld/test/ELF/ppc32-gnu-ifunc.s b/lld/test/ELF/ppc32-gnu-ifunc.s index 9153deddc20..ab2c71a5cab 100644 --- a/lld/test/ELF/ppc32-gnu-ifunc.s +++ b/lld/test/ELF/ppc32-gnu-ifunc.s @@ -6,14 +6,14 @@ # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s # RELOC: .rela.dyn { -# RELOC-NEXT: 0x10020000 R_PPC_IRELATIVE - 0x10010000 +# RELOC-NEXT: 0x10020114 R_PPC_IRELATIVE - 0x100100E0 # RELOC-NEXT: } # SEC: .rela.dyn RELA 100000d4 0000d4 00000c -# SYM: 10010000 0 FUNC GLOBAL DEFAULT {{.*}} func +# SYM: 100100e0 0 FUNC GLOBAL DEFAULT {{.*}} func # CHECK: func_resolver: -# CHECK-NEXT: 10010000: +# CHECK-NEXT: 100100e0: # CHECK: _start: # CHECK-NEXT: bl .+20 ## .rela.plt = 0x100000d4 = 65536*4096+212 diff --git a/lld/test/ELF/ppc32-reloc-got.s b/lld/test/ELF/ppc32-reloc-got.s index 3e9b644fbed..9fc952f797b 100644 --- a/lld/test/ELF/ppc32-reloc-got.s +++ b/lld/test/ELF/ppc32-reloc-got.s @@ -1,7 +1,7 @@ # REQUIRES: ppc # RUN: llvm-mc -filetype=obj -triple=powerpc %s -o %t.o # RUN: echo '.globl b; b:' | llvm-mc -filetype=obj -triple=powerpc - -o %t1.o -# RUN: ld.lld -shared %t1.o -o %t1.so +# RUN: ld.lld -shared %t1.o -soname=t1.so -o %t1.so # RUN: ld.lld %t.o %t1.so -o %t # RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s @@ -14,14 +14,14 @@ # SEC: .got PROGBITS 00020068 020068 000014 # RELOC: .rela.dyn { -# RELOC-NEXT: 0x10020078 R_PPC_GLOB_DAT b 0x0 +# RELOC-NEXT: 0x1002021C R_PPC_GLOB_DAT b 0x0 # RELOC-NEXT: } -# NM: 10030000 d a +# NM: 10030220 d a ## The GOT slot of a can be filled at link time. # HEX: section '.got': -# HEX: 0x10020068 {{[0-9a-f]+}} 00000000 00000000 10030000 +# HEX: 0x1002020c {{[0-9a-f]+}} 00000000 00000000 10030220 ## a: &.got[3] - _GLOBAL_OFFSET_TABLE_ = 12 ## b: &.got[4] - _GLOBAL_OFFSET_TABLE_ = 16 diff --git a/lld/test/ELF/ppc32-tls-gd.s b/lld/test/ELF/ppc32-tls-gd.s index 6d8372dc4cf..390b4b0a064 100644 --- a/lld/test/ELF/ppc32-tls-gd.s +++ b/lld/test/ELF/ppc32-tls-gd.s @@ -18,15 +18,15 @@ # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck --check-prefix=IE %s ## DT_PPC_GOT represents the address of _GLOBAL_OFFSET_TABLE_. -# GD-DYN: PPC_GOT 0x20078 +# GD-DYN: PPC_GOT 0x2035C # GD-REL: .rela.dyn { -# GD-REL-NEXT: 0x20078 R_PPC_DTPMOD32 a 0x0 -# GD-REL-NEXT: 0x2007C R_PPC_DTPREL32 a 0x0 -# GD-REL-NEXT: 0x20080 R_PPC_DTPMOD32 b 0x0 -# GD-REL-NEXT: 0x20084 R_PPC_DTPREL32 b 0x0 -# GD-REL-NEXT: 0x20088 R_PPC_DTPMOD32 c 0x0 -# GD-REL-NEXT: 0x2008C R_PPC_DTPREL32 c 0x0 +# GD-REL-NEXT: 0x2035C R_PPC_DTPMOD32 a 0x0 +# GD-REL-NEXT: 0x20360 R_PPC_DTPREL32 a 0x0 +# GD-REL-NEXT: 0x20364 R_PPC_DTPMOD32 b 0x0 +# GD-REL-NEXT: 0x20368 R_PPC_DTPREL32 b 0x0 +# GD-REL-NEXT: 0x2036C R_PPC_DTPMOD32 c 0x0 +# GD-REL-NEXT: 0x20370 R_PPC_DTPREL32 c 0x0 # GD-REL-NEXT: } ## &DTPMOD(a) - _GLOBAL_OFFSET_TABLE_ = 0x20078 - 0x20078 = 0 @@ -60,8 +60,8 @@ # LE-NEXT: lwz 3, 0(3) # IE-REL: .rela.dyn { -# IE-REL-NEXT: 0x10020068 R_PPC_TPREL32 b 0x0 -# IE-REL-NEXT: 0x1002006C R_PPC_TPREL32 c 0x0 +# IE-REL-NEXT: 0x10020274 R_PPC_TPREL32 b 0x0 +# IE-REL-NEXT: 0x10020278 R_PPC_TPREL32 c 0x0 # IE-REL-NEXT: } ## a is relaxed to use LE. diff --git a/lld/test/ELF/ppc32-tls-ie.s b/lld/test/ELF/ppc32-tls-ie.s index ebd6fa37dcd..9bc8ffc6e39 100644 --- a/lld/test/ELF/ppc32-tls-ie.s +++ b/lld/test/ELF/ppc32-tls-ie.s @@ -11,8 +11,8 @@ ## A non-preemptable symbol (b) has 0 st_shndx. # IE-REL: .rela.dyn { -# IE-REL-NEXT: 0x2005C R_PPC_TPREL32 - 0xC -# IE-REL-NEXT: 0x20058 R_PPC_TPREL32 a 0x0 +# IE-REL-NEXT: 0x20224 R_PPC_TPREL32 - 0xC +# IE-REL-NEXT: 0x20220 R_PPC_TPREL32 a 0x0 # IE-REL-NEXT: } ## &.got[0] - _GLOBAL_OFFSET_TABLE_ = 0 diff --git a/lld/test/ELF/ppc32-tls-ld.s b/lld/test/ELF/ppc32-tls-ld.s index cf6be367c8c..888eb8e4d01 100644 --- a/lld/test/ELF/ppc32-tls-ld.s +++ b/lld/test/ELF/ppc32-tls-ld.s @@ -11,7 +11,7 @@ # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck --check-prefix=LE %s # LD-REL: .rela.dyn { -# LD-REL-NEXT: 0x20078 R_PPC_DTPMOD32 - 0x0 +# LD-REL-NEXT: 0x202CC R_PPC_DTPMOD32 - 0x0 # LD-REL-NEXT: } ## .got - _GLOBAL_OFFSET_TABLE_ = 0 |