This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH 1/4] Remove the error handling wrapper from exp and exp2
- From: Szabolcs Nagy <Szabolcs dot Nagy at arm dot com>
- To: "Gabriel F. T. Gomes" <gabriel at inconstante dot eti dot br>
- Cc: nd <nd at arm dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 29 Oct 2018 09:43:29 +0000
- Subject: Re: [PATCH 1/4] Remove the error handling wrapper from exp and exp2
- References: <email@example.com> <20181026175536.140b55cc@tereshkova>
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
>> +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.
> 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.