Hide Forgot
Consider this assembler source file (reloc.s): .text mov malloc@GOTPCREL(%rip), %rax jmp malloc@plt Assemble and link it into a shared object: as -o reloc.o reloc.s ld -o reloc.so -shared reloc.o binutils-2.23.52.0.1-16.el7.x86_64 generates these relocations: Relocation section '.rela.dyn' at offset 0x200 contains 1 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000200ff8 0000000200000006 R_X86_64_GLOB_DAT 0000000000000000 malloc + 0 Relocation section '.rela.plt' at offset 0x218 contains 1 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000201018 0000000200000007 R_X86_64_JUMP_SLOT 0000000000000000 malloc + 0 But binutils-2.27-27.base.el7.x86_64 generates these relocations: Relocation section '.rela.dyn' at offset 0x1e0 contains 1 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000200ff8 0000000100000006 R_X86_64_GLOB_DAT 0000000000000000 malloc + 0 This is a regression because it prevents PLT enter/exit hooks from working for malloc@plt.
I forgot to mention that this issue does not seem to be present in binutils-2.31.1-12.fc30.x86_64.
Fixed in binutils-2.27-38.base.el7
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2019:2075