[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