https://sourceware.org/bugzilla/show_bug.cgi?id=22269
--- Comment #34 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Max Filippov <jcmvb...@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c451bb34ae8bd2d0669bd563366883cfbcf0de9b commit c451bb34ae8bd2d0669bd563366883cfbcf0de9b Author: Max Filippov <jcmvb...@gmail.com> Date: Mon Jul 2 11:12:44 2018 -0700 xtensa: don't emit dynamic relocation for weak undefined symbol Resolved reference to a weak undefined symbol in PIE must not have a dynamic relative relocation against itself, otherwise the value of a reference will be changed from 0 to the base of executable, breaking code like the following: void weak_function (void); if (weak_function) weak_function (); This fixes tests for PR ld/22269 and a number of PIE tests in xtensa gcc testsuite. bfd/ 2018-07-06 Max Filippov <jcmvb...@gmail.com> * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate space for dynamic relocation for undefined weak symbol. (elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE relocation for undefined weak symbols. (shrink_dynamic_reloc_sections): Don't shrink dynamic relocation section for relocations against undefined weak symbols. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils