[PATCH] PR ld/18720: Properly merge non-default versioned symbol
H.J. Lu
hjl.tools@gmail.com
Mon Jul 27 17:53:00 GMT 2015
On Mon, Jul 27, 2015 at 10:50 AM, Cary Coutant <ccoutant@gmail.com> wrote:
>>>> To me, this defines foo and foo@FOO. Both points to the same
>>>> address. This is how gas and ld work on symbol versioning for
>>>> a long time. I don't think we should change it just because gold
>>>> behaves differently.
>>>
>>> OK, if you think that's correct behavior, you didn't answer why you
>>> still expect the call from bar() to bind to the foo() in the DSO.
>>
>> It is because foo@FOO in main is hidden from DSO. It
>> will only be used by ld.so to resolve references to foo@FOO,
>> not the naked "foo".
>
> But you just said "this defines foo and foo@FOO"!
Yes, only for link-time, not for run-time.
--
H.J.
More information about the Binutils
mailing list