This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Add a test for weak alias


Hi,

I have this weak alias test in my tree for several years.  I am checking
it in.


H.J.
---
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index ecd5610..f1879da 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2012-07-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* ld-elf/data2.c: New file.
+	* ld-elf/weakdef1.c: Likewise.
+
+	* ld-elf/shared.exp: Add tests for libdata2 and weakdef1.
+
 2012-06-28  Roland McGrath  <mcgrathr@google.com>
 
 	* ld-arm/arm-elf.exp (armelftests_common): Add a test that gets
diff --git a/ld/testsuite/ld-elf/data2.c b/ld/testsuite/ld-elf/data2.c
new file mode 100644
index 0000000..c137b7c
--- /dev/null
+++ b/ld/testsuite/ld-elf/data2.c
@@ -0,0 +1,9 @@
+int foo = 0;
+extern int foo_alias __attribute__ ((weak, alias ("foo")));
+
+void
+bar (void)
+{
+  foo = -1;
+}
+
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index f39bf0f..aaaa85b 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -127,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"}
@@ -281,6 +284,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"}
diff --git a/ld/testsuite/ld-elf/weakdef1.c b/ld/testsuite/ld-elf/weakdef1.c
new file mode 100644
index 0000000..82642bb
--- /dev/null
+++ b/ld/testsuite/ld-elf/weakdef1.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+extern int foo_alias;
+extern void bar (void);
+
+int
+main (void)
+{
+  bar ();
+  if (foo_alias != -1)
+    abort ();
+  printf ("PASS\n");
+  return 0;
+}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]