This commit was generated by cvs2svn to track changes on a CVS vendor
[external/binutils.git] / ld / testsuite / ld-elfvers / vers9.c
1 /*
2  * Testcase to verify that reference to foo@BAR and a definition of foo@@BAR
3  * are not treated as a multiple def.
4  */
5 const char * bar1 = "asdf";
6 const char * bar2 = "asdf";
7
8 extern int old_foo1();
9
10 int
11 bar()
12 {
13         return 3;
14 }
15
16 int
17 original_foo()
18 {
19         return 1+bar();
20
21 }
22
23 int
24 old_foo()
25 {
26         return 10+bar();
27
28 }
29
30 int
31 new_foo()
32 {
33         return 1000+bar();
34
35 }
36
37 int
38 main()
39 {
40   old_foo1();
41   return 0;
42 }
43
44 __asm__(".symver original_foo,foo@");
45 __asm__(".symver old_foo,foo@VERS_1.1");
46 __asm__(".symver old_foo1,foo@VERS_1.2");
47 __asm__(".symver new_foo,foo@@VERS_1.2");