diff options
Diffstat (limited to 'ld/testsuite/ld-elfvers/vers6.c')
-rw-r--r-- | ld/testsuite/ld-elfvers/vers6.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elfvers/vers6.c b/ld/testsuite/ld-elfvers/vers6.c new file mode 100644 index 0000000..cb1c93f --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers6.c @@ -0,0 +1,26 @@ +/* + * Testcase to make sure that if we externally reference a versioned symbol + * that we always get the right one. + */ +#include <stdio.h> +#include "vers.h" + +extern int foo_1(); +extern int foo_2(); +extern int foo_3(); +extern int foo_4(); + +int +main() +{ + printf("Expect 4, get %d\n", foo_1()); + printf("Expect 13, get %d\n", foo_2()); + printf("Expect 103, get %d\n", foo_3()); + printf("Expect 1003, get %d\n", foo_4()); + return 0; +} + +SYMVER(foo_1, show_foo@); +SYMVER(foo_2, show_foo@VERS_1.1); +SYMVER(foo_3, show_foo@VERS_1.2); +SYMVER(foo_4, show_foo@VERS_2.0); |