diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-06-22 15:13:15 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-06-22 15:13:15 -0700 |
commit | 0056441823b1b1b2488dcf069b4feb55b00137ba (patch) | |
tree | dc3a5ce9db6014901c87832874cedb87f6649c99 /ld | |
parent | 5d8763a38211dd79459485ba0be4f76849ef8200 (diff) | |
download | gdb-0056441823b1b1b2488dcf069b4feb55b00137ba.zip gdb-0056441823b1b1b2488dcf069b4feb55b00137ba.tar.gz gdb-0056441823b1b1b2488dcf069b4feb55b00137ba.tar.bz2 |
i386: Add hidden weak undefined tests
* testsuite/ld-i386/i386.exp: Run weakundef1 tests.
* testsuite/ld-i386/weakundef1.c: New file.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/i386.exp | 26 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/weakundef1.c | 16 |
3 files changed, 47 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 2dfc0a4..1f752e7 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,10 @@ 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 * testsuite/ld-elfvsb/elfvsb.exp (visibility_run): Pass $NOPIE_CFLAGS if non-PIE is required. diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index ac4fe33..6c53046 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -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 diff --git a/ld/testsuite/ld-i386/weakundef1.c b/ld/testsuite/ld-i386/weakundef1.c new file mode 100644 index 0000000..ca54a5e --- /dev/null +++ b/ld/testsuite/ld-i386/weakundef1.c @@ -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; +} |