aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elfvers/vers4.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-elfvers/vers4.c')
-rw-r--r--ld/testsuite/ld-elfvers/vers4.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elfvers/vers4.c b/ld/testsuite/ld-elfvers/vers4.c
new file mode 100644
index 0000000..15497ca
--- /dev/null
+++ b/ld/testsuite/ld-elfvers/vers4.c
@@ -0,0 +1,27 @@
+/*
+ * Testcase to make sure that a versioned symbol definition in an
+ * application correctly defines the version node, if and only if
+ * the actual symbol is exported. This is built both with and without
+ * -export-dynamic.
+ */
+int
+bar()
+{
+ return 3;
+}
+
+int
+new_foo()
+{
+ return 1000+bar();
+
+}
+
+__asm__(".symver new_foo,foo@@VERS_2.0");
+
+int
+main()
+{
+ printf("%d\n", foo());
+ return 0;
+}