Blame SOURCES/binutils-x86_64-disable-PLT-elision.patch

43c6b8
diff -rup binutils.orig/bfd/elf64-x86-64.c binutils-2.27/bfd/elf64-x86-64.c
43c6b8
--- binutils.orig/bfd/elf64-x86-64.c	2019-01-08 15:54:01.806611101 +0000
43c6b8
+++ binutils-2.27/bfd/elf64-x86-64.c	2019-01-08 15:55:30.790890607 +0000
43c6b8
@@ -3032,7 +3032,7 @@ elf_x86_64_allocate_dynrelocs (struct el
43c6b8
   resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
43c6b8
 						      eh->has_got_reloc,
43c6b8
 						      eh);
43c6b8
-
43c6b8
+#if 0
43c6b8
   /* We can't use the GOT PLT if pointer equality is needed since
43c6b8
      finish_dynamic_symbol won't clear symbol value and the dynamic
43c6b8
      linker won't update the GOT slot.  We will get into an infinite
43c6b8
@@ -3050,6 +3050,7 @@ elf_x86_64_allocate_dynrelocs (struct el
43c6b8
       /* Use the GOT PLT.  */
43c6b8
       eh->plt_got.refcount = 1;
43c6b8
     }
43c6b8
+#endif
43c6b8
 
43c6b8
   /* Clear the reference count of function pointer relocations if
43c6b8
      symbol isn't a normal function.  */