This is the mail archive of the
mailing list for the binutils project.
Re: ld: linking to GNU_UNIQUE symbol does not set ELFOSABI_GNU
On Fri, Jan 25, 2013 at 7:02 AM, Florian Weimer <firstname.lastname@example.org> wrote:
> 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?
Please open a bug with a testcase.