aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2014-12-01 06:06:21 -0800
committerH.J. Lu <hjl.tools@gmail.com>2014-12-01 06:06:21 -0800
commitfb389763e0ee42be2f221da60e1c126314857d11 (patch)
treea4c3a155820ad2a6cfdb142b2e234dd55083434b /ld
parent55cfb2c4c8accd5031fd7c8167988fc4624e847c (diff)
downloadgdb-fb389763e0ee42be2f221da60e1c126314857d11.zip
gdb-fb389763e0ee42be2f221da60e1c126314857d11.tar.gz
gdb-fb389763e0ee42be2f221da60e1c126314857d11.tar.bz2
Add tests for PR ld/16452 and PR ld/16457
PR ld/16452 PR ld/16457 * ld-elf/pr16452.map: New file. * ld-elf/pr16452.od: Likewise. * ld-elf/pr16452a.c: Likewise. * ld-elf/pr16452b.c: Likewise. * ld-elf/pr16457.od: Likewise. * ld-elf/shared.exp (build_tests): Add tests for PR ld/16452 and PR ld/16457.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog13
-rw-r--r--ld/testsuite/ld-elf/pr16452.map1
-rw-r--r--ld/testsuite/ld-elf/pr16452.od7
-rw-r--r--ld/testsuite/ld-elf/pr16452a.c1
-rw-r--r--ld/testsuite/ld-elf/pr16452b.c2
-rw-r--r--ld/testsuite/ld-elf/pr16457.od6
-rw-r--r--ld/testsuite/ld-elf/shared.exp12
7 files changed, 42 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index c87cc57..ef59947 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+2014-12-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16452
+ PR ld/16457
+ * ld-elf/pr16452.map: New file.
+ * ld-elf/pr16452.od: Likewise.
+ * ld-elf/pr16452a.c: Likewise.
+ * ld-elf/pr16452b.c: Likewise.
+ * ld-elf/pr16457.od: Likewise.
+
+ * ld-elf/shared.exp (build_tests): Add tests for PR ld/16452 and
+ PR ld/16457.
+
2014-11-27 H.J. Lu <hongjiu.lu@intel.com>
* ld-mips-elf/got-vers-1.rd: Add symbol version string to
diff --git a/ld/testsuite/ld-elf/pr16452.map b/ld/testsuite/ld-elf/pr16452.map
new file mode 100644
index 0000000..6262600
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr16452.map
@@ -0,0 +1 @@
+FOO{global:f;};
diff --git a/ld/testsuite/ld-elf/pr16452.od b/ld/testsuite/ld-elf/pr16452.od
new file mode 100644
index 0000000..297f867
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr16452.od
@@ -0,0 +1,7 @@
+#failif
+#...
+Version References:
+#...
+ required from libpr16452a.so:
+ 0x[0-9a-f]+ 0x00 .. FOO
+#...
diff --git a/ld/testsuite/ld-elf/pr16452a.c b/ld/testsuite/ld-elf/pr16452a.c
new file mode 100644
index 0000000..c9b1784
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr16452a.c
@@ -0,0 +1 @@
+int f(void){return 0;}
diff --git a/ld/testsuite/ld-elf/pr16452b.c b/ld/testsuite/ld-elf/pr16452b.c
new file mode 100644
index 0000000..9ed2149
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr16452b.c
@@ -0,0 +1,2 @@
+int f(void) __attribute__((weak));
+int main(void){return f?f():0;}
diff --git a/ld/testsuite/ld-elf/pr16457.od b/ld/testsuite/ld-elf/pr16457.od
new file mode 100644
index 0000000..b29c4a1
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr16457.od
@@ -0,0 +1,6 @@
+#failif
+#...
+Dynamic Section:
+#...
+[ ]+NEEDED[ ]+libpr16452a.so
+#...
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index 00a4983..3fc1e4b 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -255,6 +255,18 @@ set build_tests {
{"Build libpr16496b.so"
"-shared tmpdir/pr16496b.o tmpdir/libpr16496a.so" ""
{dummy.c} {{objdump {-R} pr16496b.od}} "libpr16496b.so"}
+ {"Build libpr16452a.so"
+ "-shared -Wl,-soname,libpr16452a.so,--version-script=pr16452.map" "-fPIC"
+ {pr16452a.c} {} "libpr16452a.so"}
+ {"Build libpr16452b.so"
+ "-shared -Wl,-soname,libpr16452b.so,--no-as-needed tmpdir/libpr16452a.so" "-fPIC"
+ {dummy.c} {} "libpr16452b.so"}
+ {"Build pr16452"
+ "tmpdir/libpr16452b.so -Wl,-rpath=tmpdir" ""
+ {pr16452b.c} {{objdump {-p} pr16452.od}} "pr16452"}
+ {"Build pr16457"
+ "tmpdir/libpr16452b.so -Wl,-rpath=tmpdir" ""
+ {pr16452b.c} {{objdump {-p} pr16457.od}} "pr16457"}
}
run_cc_link_tests $build_tests