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] powerpc: Remove unintended __longjmp export


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.

-- 
Tulio Magno


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