old-cross-binutils/ld/testsuite/ld-elfvers/vers18.c
Mike Frysinger b9e33f301e ld: elfvers tests: support symbol prefixed targets
The symbol versioning tests mix C-visible symbols and linker-visible
symbols in order to verify .symver behavior.  This works for most
people, but fail for targets that have a symbol prefix.  So add a
helper file with macros that expand gcc's __USER_LABEL_PREFIX__ as
necessary and convert all .symver users over to it.

Now that the tests are usable on prefixed targets, update the tests
to take into account an optional leading underscore.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-12-10 06:08:11 +00:00

44 lines
519 B
C

#include "vers.h"
int
bar ()
{
return 3;
}
#pragma weak hide_original_foo
int
hide_original_foo ()
{
return 1 + bar ();
}
#pragma weak hide_old_foo
int
hide_old_foo ()
{
return 10 + bar();
}
#pragma weak hide_old_foo1
int
hide_old_foo1 ()
{
return 100 + bar ();
}
#pragma weak hide_new_foo
int
hide_new_foo ()
{
return 1000 + bar ();
}
SYMVER(hide_original_foo, show_foo@);
SYMVER(hide_old_foo, show_foo@VERS_1.1);
SYMVER(hide_old_foo1, show_foo@VERS_1.2);
SYMVER(hide_new_foo, show_foo@@VERS_2.0);