diff options
Diffstat (limited to 'ld/testsuite/ld-x86-64')
-rw-r--r-- | ld/testsuite/ld-x86-64/mpx.exp | 18 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/mpx2.out | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/mpx2a.c | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/mpx2a.rd | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/mpx2b.c | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/mpx2c.c | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/mpx2c.rd | 3 |
7 files changed, 50 insertions, 0 deletions
diff --git a/ld/testsuite/ld-x86-64/mpx.exp b/ld/testsuite/ld-x86-64/mpx.exp index a2f5996..192c774 100644 --- a/ld/testsuite/ld-x86-64/mpx.exp +++ b/ld/testsuite/ld-x86-64/mpx.exp @@ -47,6 +47,15 @@ set build_tests { {"Build libmpx1c.a" "" "-Wa,-madd-bnd-prefix" {mpx1c.c} {{readelf {-r --wide} mpx1c.rd}} "libmpx1c.a"} + {"Build libmpx2a.a" + "" "-Wa,-madd-bnd-prefix -fPIE" + {mpx2a.c} {{readelf {-r --wide} mpx2a.rd}} "libmpx2a.a"} + {"Build libmpx2b.a" + "" "-fPIE" + {mpx2b.c} {} "libmpx2b.a"} + {"Build libmpx2c.a" + "" "-Wa,-madd-bnd-prefix -fPIE" + {mpx2c.c} {{readelf {-r --wide} mpx2c.rd}} "libmpx2c.a"} } run_cc_link_tests $build_tests @@ -55,6 +64,15 @@ set run_tests { {"Run mpx1" "tmpdir/mpx1a.o tmpdir/mpx1b.o tmpdir/mpx1c.o" "" {dummy.s} "mpx1" "mpx1.out"} + {"Run mpx1 with -static" + "tmpdir/mpx1a.o tmpdir/mpx1b.o tmpdir/mpx1c.o -static" "" + {dummy.s} "mpx1static" "mpx1.out"} + {"Run mpx2" + "tmpdir/mpx2a.o tmpdir/mpx2b.o tmpdir/mpx2c.o -pie" "" + {dummy.s} "mpx2" "mpx2.out"} + {"Run mpx2 with -static" + "tmpdir/mpx2a.o tmpdir/mpx2b.o tmpdir/mpx2c.o -static" "" + {dummy.s} "mpx2static" "mpx2.out"} } run_ld_link_exec_tests [] $run_tests diff --git a/ld/testsuite/ld-x86-64/mpx2.out b/ld/testsuite/ld-x86-64/mpx2.out new file mode 100644 index 0000000..4630211 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mpx2.out @@ -0,0 +1,2 @@ +foo1 +foo2 diff --git a/ld/testsuite/ld-x86-64/mpx2a.c b/ld/testsuite/ld-x86-64/mpx2a.c new file mode 100644 index 0000000..e1185b5 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mpx2a.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +void +foo1 (void) +{ + printf ("foo1\n"); +} diff --git a/ld/testsuite/ld-x86-64/mpx2a.rd b/ld/testsuite/ld-x86-64/mpx2a.rd new file mode 100644 index 0000000..9bebc82 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mpx2a.rd @@ -0,0 +1,3 @@ +#... +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* +#... diff --git a/ld/testsuite/ld-x86-64/mpx2b.c b/ld/testsuite/ld-x86-64/mpx2b.c new file mode 100644 index 0000000..389ac10 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mpx2b.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +void +foo2 (void) +{ + printf ("foo2\n"); +} diff --git a/ld/testsuite/ld-x86-64/mpx2c.c b/ld/testsuite/ld-x86-64/mpx2c.c new file mode 100644 index 0000000..12c7806 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mpx2c.c @@ -0,0 +1,10 @@ +extern void foo1 (void); +extern void foo2 (void); + +int +main (void) +{ + foo1 (); + foo2 (); + return 0; +} diff --git a/ld/testsuite/ld-x86-64/mpx2c.rd b/ld/testsuite/ld-x86-64/mpx2c.rd new file mode 100644 index 0000000..9bebc82 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mpx2c.rd @@ -0,0 +1,3 @@ +#... +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* +#... |