i386: Add tests for PIE with undefined weak symbol

* testsuite/ld-i386/i386.exp: Run pie1 and pie1-nacl.
	* testsuite/ld-i386/pie1-nacl.d: New file.
	* testsuite/ld-i386/pie1.d: Likewise.
	* testsuite/ld-i386/pie1.s: Likewise.
This commit is contained in:
H.J. Lu
2017-07-17 12:42:32 -07:00
parent 8e85f840e1
commit 89d249d2f2
5 changed files with 49 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/ld-i386/i386.exp: Run pie1 and pie1-nacl.
* testsuite/ld-i386/pie1-nacl.d: New file.
* testsuite/ld-i386/pie1.d: Likewise.
* testsuite/ld-i386/pie1.s: Likewise.
2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
PR ld/21782

View File

@ -434,6 +434,8 @@ run_dump_test "property-x86-shstk3a"
run_dump_test "property-x86-shstk3b"
run_dump_test "property-x86-shstk4"
run_dump_test "property-x86-shstk5"
run_dump_test "pie1"
run_dump_test "pie1-nacl"
if { !([istarget "i?86-*-linux*"]
|| [istarget "i?86-*-gnu*"]

View File

@ -0,0 +1,18 @@
#source: pie1.s
#as: --32
#ld: -pie -melf_i386 -z relro
#objdump: -dw --sym
#target: i?86-*-nacl* x86_64-*-nacl*
.*: +file format .*
SYMBOL TABLE:
#...
10020000 l O .got.plt 0+ _GLOBAL_OFFSET_TABLE_
#...
Disassembly of section .text:
0+ <_start>:
+0: 8d 80 00 00 fe ef lea -0x10020000\(%eax\),%eax
#pass

View File

@ -0,0 +1,17 @@
#as: --32
#ld: -pie -melf_i386 -z relro
#objdump: -dw --sym
#notarget: i?86-*-nacl* x86_64-*-nacl*
.*: +file format .*
SYMBOL TABLE:
#...
0+2000 l O .got.plt 0+ _GLOBAL_OFFSET_TABLE_
#...
Disassembly of section .text:
0+129 <_start>:
+129: 8d 80 00 e0 ff ff lea -0x2000\(%eax\),%eax
#pass

View File

@ -0,0 +1,5 @@
.text
.global _start
.weak foo
_start:
leal foo@GOTOFF(%eax), %eax