This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/4] Remove the error handling wrapper from exp and exp2


On 26/10/18 21:55, Gabriel F. T. Gomes wrote:
> Hi, Szabolcs.
> 
> On Fri, 26 Oct 2018, Szabolcs Nagy wrote:
>>
>> +/* Work around gas bug "multiple versions for symbol".  */
>> +weak_alias (__exp_compat, __exp_compat_alias)
> 
> If I understood it correctly, you were getting the "multiple versions for
> symbol" error, because there were two symbols trying to be compat symbols
> for __exp_compat.
> 
>> +# if SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_29)
>> +compat_symbol (libm, __exp_compat, exp, GLIBC_2_0);
>> +# endif
> 
> Here.
> 
>> +LONG_DOUBLE_COMPAT_CHOOSE_libm_expl (
>> +  compat_symbol (libm, __exp_compat_alias, expl, FIRST_VERSION_libm_expl), );
>> +# endif
> 
> And here, when you were using __exp_compat, instead of __exp_compat_alias.
> 
> Right?
> 
> I have seen this before, and I have also used a weak_alias to work around
> it, but I didn't know it was a bug in gas.  Is there a bugzilla item about
> this, which I could follow?
> 

yeah i can't find this in bugzilla, but it is a bug as far
as i can tell: for a symbol version only the location
matters where it points to, not what expression you used
for the location, and there is no reason to disallow
multiple symbol versions to point to the same location.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]