binutils-gdb/ld/testsuite/ld-ifunc/pr17154-i386-now.d
H.J. Lu dc2be3d2f6 x86: Generate PLT relocations for -z now
This patch partially reverses:

commit 25070364b0
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 25070364b0.
	* 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.
2017-05-11 07:45:59 -07:00

53 lines
1.4 KiB
Makefile

#source: pr17154-x86.s
#ld: -z now -m elf_i386 -shared
#as: --32
#objdump: -dw
#target: x86_64-*-* i?86-*-*
#notarget: x86_64-*-nacl* i?86-*-nacl*
.*: +file format .*
Disassembly of section .plt:
0+1d0 <.plt>:
+[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\)
+[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\)
+[a-f0-9]+: 00 00 add %al,\(%eax\)
...
0+1e0 <\*ABS\*@plt>:
+[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\)
+[a-f0-9]+: 68 18 00 00 00 push \$0x18
+[a-f0-9]+: e9 e0 ff ff ff jmp 1d0 <.plt>
0+1f0 <func1@plt>:
+[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\)
+[a-f0-9]+: 68 00 00 00 00 push \$0x0
+[a-f0-9]+: e9 d0 ff ff ff jmp 1d0 <.plt>
0+200 <func2@plt>:
+[a-f0-9]+: ff a3 14 00 00 00 jmp \*0x14\(%ebx\)
+[a-f0-9]+: 68 08 00 00 00 push \$0x8
+[a-f0-9]+: e9 c0 ff ff ff jmp 1d0 <.plt>
0+210 <\*ABS\*@plt>:
+[a-f0-9]+: ff a3 18 00 00 00 jmp \*0x18\(%ebx\)
+[a-f0-9]+: 68 10 00 00 00 push \$0x10
+[a-f0-9]+: e9 b0 ff ff ff jmp 1d0 <.plt>
Disassembly of section .text:
0+220 <resolve1>:
+[a-f0-9]+: e8 cb ff ff ff call 1f0 <func1@plt>
0+225 <g1>:
+[a-f0-9]+: e9 e6 ff ff ff jmp 210 <\*ABS\*@plt>
0+22a <resolve2>:
+[a-f0-9]+: e8 d1 ff ff ff call 200 <func2@plt>
0+22f <g2>:
+[a-f0-9]+: e9 ac ff ff ff jmp 1e0 <\*ABS\*@plt>
#pass