Mercurial > hg > CbC > CbC_llvm
diff lld/test/ELF/ppc32-canonical-plt.s @ 173:0572611fdcc8 llvm10 llvm12
reorgnization done
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 11:55:54 +0900 |
parents | 1d019706d866 |
children | c4bab56944e8 |
line wrap: on
line diff
--- a/lld/test/ELF/ppc32-canonical-plt.s Mon May 25 11:50:15 2020 +0900 +++ b/lld/test/ELF/ppc32-canonical-plt.s Mon May 25 11:55:54 2020 +0900 @@ -14,49 +14,59 @@ # REL: Relocations [ # REL-NEXT: .rela.plt { -# REL-NEXT: R_PPC_JMP_SLOT func 0x0 -# REL-NEXT: R_PPC_JMP_SLOT ifunc 0x0 +# REL-NEXT: 0x10030318 R_PPC_JMP_SLOT func 0x0 +# REL-NEXT: 0x1003031C R_PPC_JMP_SLOT func2 0x0 +# REL-NEXT: 0x10030320 R_PPC_JMP_SLOT ifunc 0x0 # REL-NEXT: } # REL-NEXT: ] -# SYM: .glink PROGBITS 100101dc +# SYM: .glink PROGBITS 1001022c ## st_value points to the canonical PLT entry in .glink # SYM: Symbol table '.dynsym' -# SYM: 100101dc 0 FUNC GLOBAL DEFAULT UND func -# SYM: 100101ec 0 FUNC GLOBAL DEFAULT UND ifunc +# SYM: 1001023c 0 FUNC GLOBAL DEFAULT UND func +# SYM: 1001022c 0 FUNC GLOBAL DEFAULT UND func2 +# SYM: 1001024c 0 FUNC GLOBAL DEFAULT UND ifunc # SYM: Symbol table '.symtab' -# SYM: 100101dc 0 FUNC GLOBAL DEFAULT UND func -# SYM: 100101ec 0 FUNC GLOBAL DEFAULT UND ifunc +# SYM: 1001023c 0 FUNC GLOBAL DEFAULT UND func +# SYM: 1001022c 0 FUNC GLOBAL DEFAULT UND func2 +# SYM: 1001024c 0 FUNC GLOBAL DEFAULT UND ifunc + +# HEX: 0x10030318 1001025c 10010260 10010264 -# HEX: 0x100302b4 100101fc 10010200 +## Canonical PLT entry of func2. +## 0x1003031C = 65536*4099+796 +# CHECK: 1001022c <.glink>: +# CHECK-NEXT: lis 11, 4099 +# CHECK-NEXT: lwz 11, 796(11) +# CHECK-NEXT: mtctr 11 +# CHECK-NEXT: bctr ## Canonical PLT entry of func. -## 0x100101dc + 4*2 + 64 = 0x10010224 -## 0x1001021c = 65536*4099+692 -# CHECK: 100101dc .glink: -# CHECK-NEXT: lis 11, 4099 -# CHECK-NEXT: lwz 11, 692(11) +## 0x10030318 = 65536*4099+792 +# CHECK-NEXT: 1001023c: lis 11, 4099 +# CHECK-NEXT: lwz 11, 792(11) # CHECK-NEXT: mtctr 11 # CHECK-NEXT: bctr ## Canonical PLT entry of ifunc. -## 0x10010220 = 65536*4099+696 -# CHECK-NEXT: 100101ec: lis 11, 4099 -# CHECK-NEXT: lwz 11, 696(11) +## 0x10030320 = 65536*4099+800 +# CHECK-NEXT: 1001024c: lis 11, 4099 +# CHECK-NEXT: lwz 11, 800(11) # CHECK-NEXT: mtctr 11 # CHECK-NEXT: bctr -## The 2 b instructions are referenced by .plt entries. -# CHECK-NEXT: 100101fc: b .+8 -# CHECK-NEXT: b .+4 +## The 3 b instructions are referenced by .plt entries. +# CHECK-NEXT: 1001025c: b 0x10010268 +# CHECK-NEXT: b 0x10010268 +# CHECK-NEXT: b 0x10010268 ## PLTresolve of 64 bytes is at the end. -## Operands of addis & addi: -0x100101fc = 65536*-4097-508 +## Operands of addis & addi: -0x1001025c = 65536*-4097-604 # CHECK-NEXT: lis 12, 0 # CHECK-NEXT: addis 11, 11, -4097 # CHECK-NEXT: lwz 0, 4(12) -# CHECK-NEXT: addi 11, 11, -508 +# CHECK-NEXT: addi 11, 11, -604 # CHECK-NEXT: mtctr 0 # CHECK-NEXT: add 0, 11, 11 # CHECK-NEXT: lwz 12, 8(12) @@ -66,6 +76,9 @@ .globl _start _start: + b func + lis 3, func2@ha + la 3, func2@l(3) lis 3, func@ha la 3, func@l(3) lis 4, ifunc@ha