patches/binutils/2.20/100-ppc64-pie.patch
branch1.12
changeset 2682 61764da7b962
parent 2681 d891b4cfd080
child 2683 046489451f59
     1.1 --- a/patches/binutils/2.20/100-ppc64-pie.patch	Sun Sep 11 18:28:45 2011 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,16 +0,0 @@
     1.4 ---- binutils/bfd/elf64-ppc.c.jj	2004-09-27 16:46:06.000000000 -0400
     1.5 -+++ binutils/bfd/elf64-ppc.c	2004-10-04 09:09:50.000000000 -0400
     1.6 -@@ -9681,7 +9681,12 @@ ppc64_elf_relocate_section (bfd *output_
     1.7 - 	      else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf)
     1.8 - 		       && !is_opd
     1.9 - 		       && r_type != R_PPC64_TOC)
    1.10 --		outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
    1.11 -+		{
    1.12 -+		  outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
    1.13 -+		  if (h->elf.dynindx == -1
    1.14 -+		      && h->elf.root.type == bfd_link_hash_undefweak)
    1.15 -+		  memset (&outrel, 0, sizeof outrel);
    1.16 -+		}
    1.17 - 	      else
    1.18 - 		{
    1.19 - 		  /* This symbol is local, or marked to become local,