patches/binutils/2.20.1a/100-ppc64-pie.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Sep 21 22:42:35 2011 +0200 (2011-09-21)
changeset 2677 7df89370f805
parent 2088 4f21ba5f8e91
permissions -rw-r--r--
kernel/linux: add alternate download locations

Since kernel.org is dead, and there is no announced or known estimated
time or return to normality, it is impossible to download any kernel at
this time.

Add a known-working mirror.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@2088
     1
yann@2088
     2
yann@2088
     3
diff -durN binutils-2.20.1.orig/bfd/elf64-ppc.c binutils-2.20.1/bfd/elf64-ppc.c
yann@2088
     4
--- binutils-2.20.1.orig/bfd/elf64-ppc.c	2010-02-03 14:28:25.000000000 +0100
yann@2088
     5
+++ binutils-2.20.1/bfd/elf64-ppc.c	2010-08-17 19:32:04.000000000 +0200
yann@2088
     6
@@ -11991,7 +11991,12 @@
yann@1614
     7
 	      else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf)
yann@1614
     8
 		       && !is_opd
yann@1614
     9
 		       && r_type != R_PPC64_TOC)
yann@1614
    10
-		outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
yann@1614
    11
+		{
yann@1614
    12
+		  outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
yann@1614
    13
+		  if (h->elf.dynindx == -1
yann@1614
    14
+		      && h->elf.root.type == bfd_link_hash_undefweak)
yann@1614
    15
+		  memset (&outrel, 0, sizeof outrel);
yann@1614
    16
+		}
yann@1614
    17
 	      else
yann@1614
    18
 		{
yann@1614
    19
 		  /* This symbol is local, or marked to become local,