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: ld: linking to GNU_UNIQUE symbol does not set ELFOSABI_GNU


On 01/24/2013 02:28 PM, Alan Modra wrote:
On Thu, Jan 24, 2013 at 12:31:37PM +0100, Florian Weimer wrote:
I think this might be the appropriate fix:

   if (((abfd->flags & DYNAMIC) == 0
         && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;

This would mark a binary that merely linked against a shared library having gnu_unique symbols. The binary would not even have to reference such symbols.

Oh, that would be wrong indeed.


I'm not sure your premise is correct anyway.  STB_GNU_UNIQUE seems to
be relevant to the definition of a symbol, not a reference.  Which
leads me to think that ld probably should not give undefined symbols
an STB_GNU_UNIQUE binding.

Sorry, I have no idea how to implement that. Should I file a bug so that this issue isn't lost?


--
Florian Weimer / Red Hat Product Security Team


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