aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/testsuite/ChangeLog11
-rw-r--r--ld/testsuite/ld-pie/pie.exp1
-rw-r--r--ld/testsuite/ld-pie/weakundef-data.c15
3 files changed, 25 insertions, 2 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 3d964b0..13d8d5f 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,6 +1,13 @@
+2006-02-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/2218
+ * ld-pie/pie.exp: Add the weak undefined data test.
+
+ * ld-pie/weakundef-data.c: New file.
+
2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com>
- Anil Paranjape <anilp1@kpitcummins.com>
- Shilin Shakti <shilins@kpitcummins.com>
+ Anil Paranjape <anilp1@kpitcummins.com>
+ Shilin Shakti <shilins@kpitcummins.com>
* ld-xc16x: New directory.
* ld-xc16x/absrel.d: New file.
diff --git a/ld/testsuite/ld-pie/pie.exp b/ld/testsuite/ld-pie/pie.exp
index 48a42e4..513cdfd 100644
--- a/ld/testsuite/ld-pie/pie.exp
+++ b/ld/testsuite/ld-pie/pie.exp
@@ -26,6 +26,7 @@ if { ![istarget *-*-linux*] } {
set array_tests {
{"weak undefined" "-pie" "" {weakundef.c} "weakundef" "weakundef.out" "-fPIC"}
+ {"weak undefined data" "-pie" "" {weakundef-data.c} "weakundef-data" "weakundef.out" "-fPIC"}
}
run_ld_link_exec_tests [] $array_tests
diff --git a/ld/testsuite/ld-pie/weakundef-data.c b/ld/testsuite/ld-pie/weakundef-data.c
new file mode 100644
index 0000000..0d0f162
--- /dev/null
+++ b/ld/testsuite/ld-pie/weakundef-data.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+
+#pragma weak undef_data
+
+extern int undef_data (void);
+int (*ptr_to_data)(void) = undef_data;
+
+int
+main (void)
+{
+ if (ptr_to_data == NULL)
+ printf ("PASSED\n");
+
+ return 0;
+}