aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elfvers/vers9.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>1999-05-03 07:29:11 +0000
committerRichard Henderson <rth@redhat.com>1999-05-03 07:29:11 +0000
commit252b5132c753830d5fd56823373aed85f2a0db63 (patch)
tree1af963bfd8d3e55167b81def4207f175eaff3a56 /ld/testsuite/ld-elfvers/vers9.c
downloadgdb-252b5132c753830d5fd56823373aed85f2a0db63.zip
gdb-252b5132c753830d5fd56823373aed85f2a0db63.tar.gz
gdb-252b5132c753830d5fd56823373aed85f2a0db63.tar.bz2
19990502 sourceware importbinu_ss_19990502
Diffstat (limited to 'ld/testsuite/ld-elfvers/vers9.c')
-rw-r--r--ld/testsuite/ld-elfvers/vers9.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elfvers/vers9.c b/ld/testsuite/ld-elfvers/vers9.c
new file mode 100644
index 0000000..432fddb
--- /dev/null
+++ b/ld/testsuite/ld-elfvers/vers9.c
@@ -0,0 +1,45 @@
+/*
+ * Testcase to verify that reference to foo@BAR and a definition of foo@@BAR
+ * are not treated as a multiple def.
+ */
+const char * bar1 = "asdf";
+const char * bar2 = "asdf";
+
+int
+bar()
+{
+ return 3;
+}
+
+int
+original_foo()
+{
+ return 1+bar();
+
+}
+
+int
+old_foo()
+{
+ return 10+bar();
+
+}
+
+int
+new_foo()
+{
+ return 1000+bar();
+
+}
+
+int
+main()
+{
+ old_foo1();
+ return 0;
+}
+
+__asm__(".symver original_foo,foo@");
+__asm__(".symver old_foo,foo@VERS_1.1");
+__asm__(".symver old_foo1,foo@VERS_1.2");
+__asm__(".symver new_foo,foo@@VERS_1.2");