This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: PR ld/10630: Linker generates hidden local symbols
On Sat, Sep 12, 2009 at 06:43:01AM -0700, H.J. Lu wrote:
> On Sat, Sep 12, 2009 at 5:42 AM, Alan Modra<amodra@bigpond.net.au> wrote:
> > On Fri, Sep 11, 2009 at 12:50:12PM -0700, H.J. Lu wrote:
> >> This patch turns off visibility on local symbol and dynamic local symbol.
> >> Tested on Linux/ia32, Linux/ia64 and Linux/x86-64 as well as for
> >> alpha-linux, cris-elf, s390-linux, sparc-linux, powerpc-linux and
> >> xtensa-linux with cross binutils. ?There are no regressions. ?OK
> >> to install?
> >
> > Does having non-default visibility on a local symbol break some
> > application?
>
> It failed a test in elfutils on ia64 due to hidden dynamic local symbol,
> which leads to rpm build failure.
I'm not willing to OK your patch on the strength of a failed elfutils
test. That's not to say I'm against the patch, just that I'm unsure
what the ELF gabi intends. I won't be unhappy if someone else wants
to OK it..
The ELF gabi says "A symbol with STB_LOCAL binding may not have
STV_PROTECTED visibility." It does not say anything like this about
STV_HIDDEN or STV_INTERNAL. That leads me to think that STB_LOCAL
symbols may be marked STV_HIDDEN or STV_INTERNAL. (Such symbols
wouldn't be inconsistent with the definitions of STB_LOCAL or
STV_HIDDEN/STV_INTERNAL.)
However, it does seem quite useless to have anything other than
STV_DEFAULT local symbols, but maybe my imagination isn't good
enough.
--
Alan Modra
Australia Development Lab, IBM