0cd9f5f03b
* ld-elfvers/vers1.c: Add missing prototypes and include <stdio.h> if necessary. * ld-elfvers/vers15.c: Likewise. * ld-elfvers/vers19.c: Likewise. * ld-elfvers/vers2.c: Likewise. * ld-elfvers/vers3.c: Likewise. * ld-elfvers/vers4.c: Likewise. * ld-elfvers/vers6.c: Likewise. * ld-elfvers/vers7.c: Likewise. * ld-elfvers/vers9.c: Likewise. * ld-shared/main.c: Likewise. * ld-srec/sr3.cc (Foo::Foo): Remove arg name.
25 lines
593 B
C
25 lines
593 B
C
/*
|
|
* Testcase to make sure that if we externally reference a versioned symbol
|
|
* that we always get the right one.
|
|
*/
|
|
#include <stdio.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;
|
|
}
|
|
|
|
__asm__(".symver foo_1,show_foo@");
|
|
__asm__(".symver foo_2,show_foo@VERS_1.1");
|
|
__asm__(".symver foo_3,show_foo@VERS_1.2");
|
|
__asm__(".symver foo_4,show_foo@VERS_2.0");
|