bug-binutils
[Top][All Lists]
Advanced

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

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


From: ccoutant at gmail dot com
Subject: [Bug gold/18703] Symbol version and Version script incompatibility with BFD ld
Date: Wed, 22 Jul 2015 01:31:15 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=18703

--- Comment #10 from Cary Coutant <ccoutant at gmail dot com> ---
>> 0000000000000000 T foo
>> 0000000000000000 T address@hidden
>>
>> With the version script, gold sees the first of those (plain "foo")
>> and makes it the default version (as, I think, it should). The second
>> one is just seen as a second declaration, but it's already been marked
>> the default.
>
> foo is versioned and only version specified is VERS_1.1, which is not
> default version.  It is wrong to create a default foo without being asked
> to do so.

In this example, "foo" is both unversioned and versioned. In response
to the unversioned one, gold is creating a default version, as
directed by the linker script. If "address@hidden" were the only version
of "foo" in this file, gold would not make it a default version.

If you don't want a default version, get rid of the first,
unversioned, "foo", and gold will do what you expect.

I've played around with a bunch of different combinations, and I can't
even begin to unravel the logic behind Gnu ld's behavior when there
are multiple instances of versioned and unversioned symbols. I have no
desire to try to reproduce its behavior beyond what's described in the
documentation.

-cary

-- 
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]