This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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] PR ld/18720: Properly merge hidden versioned symbol


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


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