https://sourceware.org/bugzilla/show_bug.cgi?id=23527
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Sergei Trofimovich from comment #2) > Bisected the change to: > > bd7ab16b4537788ad53521c45469a1bdae84ad4a is the first bad commit > commit bd7ab16b4537788ad53521c45469a1bdae84ad4a > Author: H.J. Lu <hjl.to...@gmail.com> > Date: Tue Feb 13 07:34:22 2018 -0800 > > x86-64: Generate branch with PLT32 relocation > > Since there is no need to prepare for PLT branch on x86-64, generate > R_X86_64_PLT32, instead of R_X86_64_PC32, if possible, which can be > used as a marker for 32-bit PC-relative branches. This commit includes: PR gas/22791 * elf64-x86-64.c (is_32bit_relative_branch): Removed. (elf_x86_64_relocate_section): Check PIC relocations in PIE. Remove is_32bit_relative_branch usage. Disallow PC32 reloc against protected function in shared object. is_32bit_relative_branch is a kludge which is removed. R_X86_64_PLT32 should be used here as a marker for external branches. clang should be changed to generate R_X86_64_PLT32 for branches to external symbols. Or you can use GNU assembler to work around this issue. -- 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