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