[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/12366] assertion failure with STT_GNU_IFUNC symbols on x86_64

From: hjl.tools at gmail dot com
Subject: [Bug ld/12366] assertion failure with STT_GNU_IFUNC symbols on x86_64
Date: Fri, 7 Jan 2011 02:06:41 +0000


--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> 2011-01-07 02:06:39 
UTC ---
(In reply to comment #0)
> Created attachment 5181 [details]
> Shell script to reproduce bug
> The x86 and x86_64 IFUNC code assumes that check_relocs can rely on 
> def_regular
> being set for all regular definitions.  That's not true, because def_regular 
> is
> set by the same pass that calls check_relocs, and doesn't therefore take into
> account regular definitions in later objects.

We handle relocations against local STT_GNU_IFUNC symbols by
faking a STT_GNU_IFUNC symbol. def_regular is true for
those symbols.

My fix in _bfd_elf_allocate_ifunc_dyn_relocs handles
the case where a symbol is marked with regular reference,
but not non-GOT reference.  It may happen if we didn't
see STT_GNU_IFUNC symbol when checking relocations.

Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]