This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] PR ld/18720: Properly merge hidden versioned symbol
- From: Alan Modra <amodra at gmail dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Mon, 21 Nov 2016 13:39:19 +1030
- Subject: Re: [PATCH] PR ld/18720: Properly merge hidden versioned symbol
- Authentication-results: sourceware.org; auth=none
- References: <20150726221550.GA16472@gmail.com> <20150801140704.GA23091@gmail.com> <CAMe9rOq5JxRTi8g8LX3TxjjL-g9+W-2voin2cvaoESPBNDNvuQ@mail.gmail.com>
On Wed, Aug 05, 2015 at 07:43:21PM -0700, H.J. Lu wrote:
> I will check it in this Friday unless there is an objection.
HJ, git 6e33951edc change to elf_link_output_extsym where you
introduce local_bind, is broken. You can't change global syms to
STB_LOCAL that late, after _bfd_elf_link_renumber_dynsyms, as otherwise
you run the risk of ordering STB_LOCAL symbols after global symbols.
The ELF gABI is clear that "all symbols with STB_LOCAL binding precede
the weak and global symbols". (It's also wrong to test flags on a
bfd_link_hash_warning symbol.)
I don't have a testcase for you. I noticed the bug when looking at
PR20828. Please revert the elf_link_output_extsym change and
implement by setting forced_local before the last run of
_bfd_elf_link_renumber_dynsyms.
--
Alan Modra
Australia Development Lab, IBM