http://sourceware.org/bugzilla/show_bug.cgi?id=12366
--- 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. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils