2004-12-16 Andrew Stubbs <andrew.stubbs@st.com>
[binutils.git] / ld / testsuite / ld-elfvers / vers6.c
blob9e48df9b4009588b5100b8baefec114625280337
1 /*
2 * Testcase to make sure that if we externally reference a versioned symbol
3 * that we always get the right one.
4 */
5 #include <stdio.h>
7 extern int foo_1();
8 extern int foo_2();
9 extern int foo_3();
10 extern int foo_4();
12 int
13 main()
15 printf("Expect 4, get %d\n", foo_1());
16 printf("Expect 13, get %d\n", foo_2());
17 printf("Expect 103, get %d\n", foo_3());
18 printf("Expect 1003, get %d\n", foo_4());
19 return 0;
22 __asm__(".symver foo_1,show_foo@");
23 __asm__(".symver foo_2,show_foo@VERS_1.1");
24 __asm__(".symver foo_3,show_foo@VERS_1.2");
25 __asm__(".symver foo_4,show_foo@VERS_2.0");