Add mpx1static, mpx2 and mpx2static tests
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 20 Nov 2013 20:35:10 +0000 (12:35 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 20 Nov 2013 20:35:10 +0000 (12:35 -0800)
* ld-x86-64/mpx.exp (build_tests): Add libmpx2a.a, libmpx2b.a
and libmpx2c.a.
(run_tests): Add mpx1static, mpx2 and mpx2static.
* ld-x86-64/mpx2.out: Likewise.
* ld-x86-64/mpx2a.c: Likewise.
* ld-x86-64/mpx2a.rd: Likewise.
* ld-x86-64/mpx2b.c: Likewise.
* ld-x86-64/mpx2c.c: Likewise.
* ld-x86-64/mpx2c.rd: Likewise.

ld/testsuite/ChangeLog
ld/testsuite/ld-x86-64/mpx.exp
ld/testsuite/ld-x86-64/mpx2.out [new file with mode: 0644]
ld/testsuite/ld-x86-64/mpx2a.c [new file with mode: 0644]
ld/testsuite/ld-x86-64/mpx2a.rd [new file with mode: 0644]
ld/testsuite/ld-x86-64/mpx2b.c [new file with mode: 0644]
ld/testsuite/ld-x86-64/mpx2c.c [new file with mode: 0644]
ld/testsuite/ld-x86-64/mpx2c.rd [new file with mode: 0644]

index a00cddfe57ec9a39b8c66b316f637325e08b894a..0190030da093b1c8d5e8e55675cc92b9dc13eadf 100644 (file)
@@ -1,3 +1,15 @@
+2013-11-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ld-x86-64/mpx.exp (build_tests): Add libmpx2a.a, libmpx2b.a
+       and libmpx2c.a.
+       (run_tests): Add mpx1static, mpx2 and mpx2static.
+       * ld-x86-64/mpx2.out: Likewise.
+       * ld-x86-64/mpx2a.c: Likewise.
+       * ld-x86-64/mpx2a.rd: Likewise.
+       * ld-x86-64/mpx2b.c: Likewise.
+       * ld-x86-64/mpx2c.c: Likewise.
+       * ld-x86-64/mpx2c.rd: Likewise.
+
 2013-11-19  Roland McGrath  <mcgrathr@google.com>
 
        * ld-elf/ehdr_start-userdef.t: New file.
index a2f5996ffa91f848373bc2ea94e287d5dc247a63..192c774c78dfc4a8f788a89a89214212cd7d0b69 100644 (file)
@@ -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 (file)
index 0000000..4630211
--- /dev/null
@@ -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 (file)
index 0000000..e1185b5
--- /dev/null
@@ -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 (file)
index 0000000..9bebc82
--- /dev/null
@@ -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 (file)
index 0000000..389ac10
--- /dev/null
@@ -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 (file)
index 0000000..12c7806
--- /dev/null
@@ -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 (file)
index 0000000..9bebc82
--- /dev/null
@@ -0,0 +1,3 @@
+#...
+[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.*
+#...