[PATCH] powerpc: Remove unintended __longjmp export

Florian Weimer fweimer@redhat.com
Tue Nov 22 16:43:00 GMT 2016


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.

Florian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ppc-longjmp.patch
Type: text/x-patch
Size: 1658 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20161122/befbcc38/attachment.bin>


More information about the Libc-alpha mailing list