aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-i386
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-05-11 07:42:30 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-05-11 07:45:59 -0700
commitdc2be3d2f6de530aac40983e79e29e050f40e759 (patch)
tree07603beeba1b30451b6608cbfe6e6944f288b938 /ld/testsuite/ld-i386
parentf96f371cbb33454544a9f1827c239c4375f0b60e (diff)
downloadgdb-dc2be3d2f6de530aac40983e79e29e050f40e759.zip
gdb-dc2be3d2f6de530aac40983e79e29e050f40e759.tar.gz
gdb-dc2be3d2f6de530aac40983e79e29e050f40e759.tar.bz2
x86: Generate PLT relocations for -z now
This patch partially reverses: commit 25070364b0ce33eed46aa5d78ebebbec6accec7e Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat May 16 07:00:21 2015 -0700 Don't generate PLT relocations for now binding to support LD_AUDIT and LD_PROFILE with -z now. If there is an existing GOT relocation, it is still used to avoid PLT relocation against the same function symbol. bfd/ * elf32-i386.c (elf_i386_allocate_dynrelocs): Partially revert commit 25070364b0ce33eed46aa5d78ebebbec6accec7e. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewse. ld/ * testsuite/ld-i386/plt-pic2.dd: Updated. * testsuite/ld-i386/plt2.dd: Likewise. * testsuite/ld-i386/plt2.rd: Likewise. * testsuite/ld-i386/pr17689now.rd: Likewise. * testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise. * testsuite/ld-ifunc/ifunc-16-x86-64-now.d: Likewise. * testsuite/ld-ifunc/pr17154-i386-now.d: Likewise. * testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise. * testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise. * testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise. * testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise. * testsuite/ld-x86-64/plt2.dd: Likewise. * testsuite/ld-x86-64/plt2.rd: Likewise. * testsuite/ld-x86-64/pr17689now.rd: Likewise. * testsuite/ld-x86-64/pr21038b-now.d: Likewise. * testsuite/ld-x86-64/pr21038c-now.d: Likewise.
Diffstat (limited to 'ld/testsuite/ld-i386')
-rw-r--r--ld/testsuite/ld-i386/plt-pic2.dd20
-rw-r--r--ld/testsuite/ld-i386/plt2.dd17
-rw-r--r--ld/testsuite/ld-i386/plt2.rd2
-rw-r--r--ld/testsuite/ld-i386/pr17689now.rd3
4 files changed, 20 insertions, 22 deletions
diff --git a/ld/testsuite/ld-i386/plt-pic2.dd b/ld/testsuite/ld-i386/plt-pic2.dd
index aa311fe..4047db5 100644
--- a/ld/testsuite/ld-i386/plt-pic2.dd
+++ b/ld/testsuite/ld-i386/plt-pic2.dd
@@ -15,19 +15,19 @@ Disassembly of section .plt:
+[a-f0-9]+: 00 00 add %al,\(%eax\)
...
-Disassembly of section .plt.got:
-
0+190 <fn1@plt>:
- +[a-f0-9]+: ff a3 f8 ff ff ff jmp \*-0x8\(%ebx\)
- +[a-f0-9]+: 66 90 xchg %ax,%ax
+ +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\)
+ +[a-f0-9]+: 68 00 00 00 00 push \$0x0
+ +[a-f0-9]+: e9 e0 ff ff ff jmp 180 <.plt>
-0+198 <fn2@plt>:
- +[a-f0-9]+: ff a3 fc ff ff ff jmp \*-0x4\(%ebx\)
- +[a-f0-9]+: 66 90 xchg %ax,%ax
+0+1a0 <fn2@plt>:
+ +[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\)
+ +[a-f0-9]+: 68 08 00 00 00 push \$0x8
+ +[a-f0-9]+: e9 d0 ff ff ff jmp 180 <.plt>
Disassembly of section .text:
-0+1a0 <foo>:
- +[a-f0-9]+: e8 eb ff ff ff call 190 <fn1@plt>
- +[a-f0-9]+: e9 ee ff ff ff jmp 198 <fn2@plt>
+0+1b0 <foo>:
+ +[a-f0-9]+: e8 db ff ff ff call 190 <fn1@plt>
+ +[a-f0-9]+: e9 e6 ff ff ff jmp 1a0 <fn2@plt>
#pass
diff --git a/ld/testsuite/ld-i386/plt2.dd b/ld/testsuite/ld-i386/plt2.dd
index 1a5ea6f..9f8e11d 100644
--- a/ld/testsuite/ld-i386/plt2.dd
+++ b/ld/testsuite/ld-i386/plt2.dd
@@ -10,26 +10,25 @@
Disassembly of section .plt:
0+80481c0 <.plt>:
- +[a-f0-9]+: ff 35 b4 92 04 08 pushl 0x80492b4
- +[a-f0-9]+: ff 25 b8 92 04 08 jmp \*0x80492b8
+ +[a-f0-9]+: ff 35 a0 92 04 08 pushl 0x80492a0
+ +[a-f0-9]+: ff 25 a4 92 04 08 jmp \*0x80492a4
+[a-f0-9]+: 00 00 add %al,\(%eax\)
...
0+80481d0 <fn1@plt>:
- +[a-f0-9]+: ff 25 bc 92 04 08 jmp \*0x80492bc
+ +[a-f0-9]+: ff 25 a8 92 04 08 jmp \*0x80492a8
+[a-f0-9]+: 68 00 00 00 00 push \$0x0
+[a-f0-9]+: e9 e0 ff ff ff jmp 80481c0 <.plt>
-Disassembly of section .plt.got:
-
0+80481e0 <fn2@plt>:
+[a-f0-9]+: ff 25 ac 92 04 08 jmp \*0x80492ac
- +[a-f0-9]+: 66 90 xchg %ax,%ax
+ +[a-f0-9]+: 68 08 00 00 00 push \$0x8
+ +[a-f0-9]+: e9 d0 ff ff ff jmp 80481c0 <.plt>
Disassembly of section .text:
-0+80481e8 <_start>:
- +[a-f0-9]+: e8 e3 ff ff ff call 80481d0 <fn1@plt>
- +[a-f0-9]+: e8 ee ff ff ff call 80481e0 <fn2@plt>
+0+80481f0 <_start>:
+ +[a-f0-9]+: e8 db ff ff ff call 80481d0 <fn1@plt>
+ +[a-f0-9]+: e8 e6 ff ff ff call 80481e0 <fn2@plt>
+[a-f0-9]+: 81 7c 24 04 d0 81 04 08 cmpl \$0x80481d0,0x4\(%esp\)
#pass
diff --git a/ld/testsuite/ld-i386/plt2.rd b/ld/testsuite/ld-i386/plt2.rd
index 11952b4..8233a9a 100644
--- a/ld/testsuite/ld-i386/plt2.rd
+++ b/ld/testsuite/ld-i386/plt2.rd
@@ -5,5 +5,5 @@
#target: i?86-*-*
#...
- +\[ *[0-9]+\] \.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+20 +.* +AX +0 +0 +16
+ +\[ *[0-9]+\] \.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+30 +.* +AX +0 +0 +16
#pass
diff --git a/ld/testsuite/ld-i386/pr17689now.rd b/ld/testsuite/ld-i386/pr17689now.rd
index 9741df8..594c424 100644
--- a/ld/testsuite/ld-i386/pr17689now.rd
+++ b/ld/testsuite/ld-i386/pr17689now.rd
@@ -1,4 +1,3 @@
-#failif
#...
[0-9a-f ]+R_386_JUMP_SLOT +0+.*
-#...
+#pass