diff options
Diffstat (limited to 'binutils-2.24/ld/testsuite/ld-elfvers/vers9.c')
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-elfvers/vers9.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/binutils-2.24/ld/testsuite/ld-elfvers/vers9.c b/binutils-2.24/ld/testsuite/ld-elfvers/vers9.c new file mode 100644 index 0000000..5079364 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-elfvers/vers9.c @@ -0,0 +1,49 @@ +/* + * Testcase to verify that reference to foo@BAR and a definition of foo@@BAR + * are not treated as a multiple def. + */ +#include "vers.h" + +const char * bar1 = "asdf"; +const char * bar2 = "asdf"; + +extern int old_foo1(); + +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; +} + +SYMVER(original_foo, foo@); +SYMVER(old_foo, foo@VERS_1.1); +SYMVER(old_foo1, foo@VERS_1.2); +SYMVER(new_foo, foo@@VERS_1.2); |