* hppa.h (pa_opcodes): Use "cX" completer instead of "cx" in fstqx
[external/binutils.git] / ld / testsuite / ld-elf / shared.exp
index 016d270..c9f2056 100644 (file)
@@ -1,5 +1,6 @@
 # Expect script for various ELF tests.
-#   Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+#   Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
+#   Free Software Foundation, Inc.
 #
 # This file is part of the GNU Binutils.
 #
 
 # Exclude non-ELF targets.
 
+# The following tests require running the executable generated by ld,
+# or enough of a build environment to create a fully linked executable.
+# This is not commonly available when testing a cross-built linker.
+if ![isnative] {
+    return
+}
+
 if ![is_elf_format] {
     return
 }
@@ -119,6 +127,9 @@ set build_tests {
   {"Build libdata1.so"
    "-shared" "-fPIC"
    {data1.c} {} "libdata1.so"}
+  {"Build libdata2.so"
+   "-shared" "-fPIC"
+   {data2.c} {} "libdata2.so"}
   {"Build libcomm1.o"
    "-r -nostdlib" ""
    {comm1.c} {} "libcomm1.o"}
@@ -150,15 +161,22 @@ set build_tests {
   {"Build libpr11138-2.o"
    "-r -nostdlib" ""
    {pr11138-2.c} {} "libpr11138-2.o"}
+  {"Build pr13250-1.so"
+   "-shared" "-fPIC"
+   {pr13250-1.c} {} "libpr13250-1.so"}
+  {"Build pr13250-2.so with libpr13250-1.so"
+   "-shared -Wl,--no-as-needed tmpdir/libpr13250-1.so" "-fPIC"
+   {pr13250-2.c} {} "libpr13250-2.so"}
+  {"Build libpr13250-3.o"
+   "-r -nostdlib" ""
+   {pr13250-3.c} {} "libpr13250-3.o"}
+  {"Build libpr14323-2.so"
+   "-shared" "-fPIC"
+   {pr14323-2.c} {} "libpr14323-2.so"}
 }
 
 run_cc_link_tests $build_tests
 
-# The following tests require running the executable generated by ld.
-if ![isnative] {
-    return
-}
-
 set run_tests {
     {"Run normal with libfoo.so"
      "tmpdir/begin.o tmpdir/libfoo.so tmpdir/end.o" ""
@@ -269,6 +287,9 @@ set run_tests {
     {"Run with libdata1.so"
      "tmpdir/libdata1.so" ""
      {dynbss1.c} "dynbss1" "pass.out"}
+    {"Run with libdata2.so"
+     "tmpdir/libdata2.so" ""
+     {weakdef1.c} "weakdef1" "pass.out"}
     {"Run with libfunc1.so comm1.o"
      "tmpdir/libfunc1.so tmpdir/comm1.o" ""
      {dummy.c} "comm1" "pass.out"}
@@ -281,6 +302,12 @@ set run_tests {
     {"Run with libpr11138-1.so pr11138-2.c"
      "--version-script=pr11138-2.map tmpdir/libpr11138-1.so tmpdir/pr11138-2.o" ""
      {dummy.c} "pr11138b" "pr11138.out"}
+    {"Run with pr13250-3.c, libpr13250-1.so and libpr13250-2.so"
+     "--as-needed tmpdir/pr13250-3.o tmpdir/libpr13250-1.so tmpdir/libpr13250-2.so" ""
+     {dummy.c} "pr13250" "pass.out"}
+    {"Run with pr14323-1.c pr14323-2.so"
+     "tmpdir/libpr14323-2.so" ""
+     {pr14323-1.c} "pr14323" "pass.out"}
 }
 
 # NetBSD ELF systems do not currently support the .*_array sections.
@@ -309,16 +336,16 @@ set build_cxx_tests {
    {del.cc new.cc} {} "libnew1b.so" "c++"}
 }
 
-set run_cxx_tests {
-    {"Run with libdl3a.so"
-     "tmpdir/libdl3a.so" ""
-     {dl3main.cc} "dl3a" "dl3a.out" "" "c++"}
 # "-shared -Bsymbolic" only works with gcc 4.5.0 and newer.
 #    {"Run with libdl3b.so"
 #     "tmpdir/libdl3b.so" ""
 #     {dl3main.cc} "dl3b" "dl3b.out" "" "c++"}
+set run_cxx_tests {
+    {"Run with libdl3a.so"
+     "-Wl,--no-as-needed tmpdir/libdl3a.so" ""
+     {dl3main.cc} "dl3a" "dl3a.out" "" "c++"}
     {"Run with libdl3c.so"
-     "tmpdir/libdl3c.so" ""
+     "-Wl,--no-as-needed tmpdir/libdl3c.so" ""
      {dl3main.cc} "dl3c" "dl3a.out" "" "c++"}
     {"Run with libnew1a.so"
      "tmpdir/libnew1a.so" ""