[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/18703] Symbol version and Version script incompatibility with

From: hjl.tools at gmail dot com
Subject: [Bug gold/18703] Symbol version and Version script incompatibility with BFD ld
Date: Wed, 22 Jul 2015 00:12:38 +0000


--- 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,address@hidden");
     __asm__(".symver old_foo1,address@hidden");
     __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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]