https://sourceware.org/bugzilla/show_bug.cgi?id=18703
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
>From "info ld":
To do this, you must use multiple '.symver' directives in the source
file. Here is an example:
__asm__(".symver original_foo,foo@");
__asm__(".symver old_foo,foo@VERS_1.1");
__asm__(".symver old_foo1,foo@VERS_1.2");
__asm__(".symver new_foo,foo@@VERS_2.0");
In this example, 'foo@' represents the symbol 'foo' bound to the
unspecified base version of the symbol. The source file that contains
this example would define 4 C functions: 'original_foo', 'old_foo',
'old_foo1', and 'new_foo'.
When you have multiple definitions of a given symbol, there needs to
be some way to specify a default version to which external references to
this symbol will be bound. You can do this with the 'foo@@VERS_2.0'
type of '.symver' directive. You can only declare one version of a
symbol as the default in this manner; otherwise you would effectively
have multiple definitions of the same symbol.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils