[PATCH] powerpc: Remove unintended __longjmp export
Florian Weimer
fweimer@redhat.com
Tue Nov 29 10:12:00 GMT 2016
On 11/28/2016 02:04 PM, Tulio Magno Quites Machado Filho wrote:
> Florian Weimer <fweimer@redhat.com> writes:
>
>> Due to an accident, we export __longjmp under a public symbol version
>> for the powerpc32/fpu configuration.
>>
>> __longjmp is declared as hidden for internal use. This means that any
>> reference to this symbol (of which there aren't any right now in
>> libc.so) will cause the symbol to turn unexported. The reason is that
>> the linker does not distinguish between hidden definitions and
>> references. GCC emits a .hidden directive in the __longjmp-referencing
>> translation unit, and this kills the .symver-based export.
>>
>> I propose the removal of the __longjmp export as the simplest fix.
>> __longjmp is in the implementation namespace and is not used in a public
>> header. As a result, nothing out there should reference it.
>>
>> If this is not acceptable, I'll come up with different approach to
>> address this. But I prefer to address this issue in this way.
>>
>> Tested on a powerpc32/fpu configuration with no regressions.
>
> Makes sense to me too.
Thanks, I have committed both patches.
Florian
More information about the Libc-alpha
mailing list