i386: Add hidden weak undefined tests

* testsuite/ld-i386/i386.exp: Run weakundef1 tests.
	* testsuite/ld-i386/weakundef1.c: New file.
This commit is contained in:
H.J. Lu 2017-06-22 15:13:15 -07:00
parent 5d8763a382
commit 0056441823
3 changed files with 47 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/ld-i386/i386.exp: Run weakundef1 tests.
* testsuite/ld-i386/weakundef1.c: New file.
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
PR ld/21090

View File

@ -1235,6 +1235,32 @@ if { [isnative]
}
}
# Must be native with the C compiler.
if { [isnative]
&& [istarget "i?86-*-*"]
&& [which $CC] != 0 } {
run_ld_link_exec_tests [list \
[list \
"Run weakundef1 without PIE" \
"$NOPIE_LDFLAGS" \
"" \
{ weakundef1.c } \
"weakundef1pie" \
"pass.out" \
"$NOPIE_CFLAGS" \
] \
[list \
"Run weakundef1 with PIE" \
"-pie" \
"" \
{ weakundef1.c } \
"weakundef1pie" \
"pass.out" \
"-fPIE" \
] \
]
}
if { !([istarget "i?86-*-linux*"]
|| [istarget "x86_64-*-linux*"]) } {
return

View File

@ -0,0 +1,16 @@
#include <stdlib.h>
#include <stdio.h>
extern int visibility_var_weak
__attribute__ ((weak, visibility ("hidden")));
int
main ()
{
if (&visibility_var_weak != NULL)
abort ();
printf ("PASS\n");
return 0;
}