| 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> |
| 6 | #include "vers.h" |
| 7 | |
| 8 | extern int foo_1(); |
| 9 | extern int foo_2(); |
| 10 | extern int foo_3(); |
| 11 | extern int foo_4(); |
| 12 | |
| 13 | int |
| 14 | main() |
| 15 | { |
| 16 | printf("Expect 4, get %d\n", foo_1()); |
| 17 | printf("Expect 13, get %d\n", foo_2()); |
| 18 | printf("Expect 103, get %d\n", foo_3()); |
| 19 | printf("Expect 1003, get %d\n", foo_4()); |
| 20 | return 0; |
| 21 | } |
| 22 | |
| 23 | FUNC_SYMVER(foo_1, show_foo@); |
| 24 | FUNC_SYMVER(foo_2, show_foo@VERS_1.1); |
| 25 | FUNC_SYMVER(foo_3, show_foo@VERS_1.2); |
| 26 | FUNC_SYMVER(foo_4, show_foo@VERS_2.0); |