patches/binutils/2.19/100-ppc64-pie.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Dec 30 15:36:22 2009 +0100 (2009-12-30)
changeset 1669 61edd9d19e3c
permissions -rw-r--r--
scripts/functions: add aria2, a powerfull downloader

aria2 is a powerfull downloader that is capable of chunking and
parallel retrieval.

Due to li;itations in crosstool-NG retrieval facilities, it's not possible
to take fully advantage of aria2. It might happen that, in the future,
those limitations get lifted away, so we can take use features such as
parallel downloading from more than one server at the same time. For now,
it should still speed up downloads thanks to parallel downloading of chunks.
yann@1069
     1
Original patch from Gentoo:
yann@1069
     2
gentoo/src/patchsets/binutils/2.19/03_all_binutils-2.15.92.0.2-ppc64-pie.patch
yann@1069
     3
yann@1069
     4
diff -durN binutils-2.19.orig/bfd/elf64-ppc.c binutils-2.19/bfd/elf64-ppc.c
yann@1069
     5
--- binutils-2.19.orig/bfd/elf64-ppc.c	2008-10-09 14:18:24.000000000 +0200
yann@1069
     6
+++ binutils-2.19/bfd/elf64-ppc.c	2008-11-23 16:16:11.000000000 +0100
yann@1069
     7
@@ -11294,7 +11294,12 @@
yann@1069
     8
 	      else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf)
yann@1069
     9
 		       && !is_opd
yann@1069
    10
 		       && r_type != R_PPC64_TOC)
yann@1069
    11
-		outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
yann@1069
    12
+		{
yann@1069
    13
+		  outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
yann@1069
    14
+		  if (h->elf.dynindx == -1
yann@1069
    15
+		      && h->elf.root.type == bfd_link_hash_undefweak)
yann@1069
    16
+		  memset (&outrel, 0, sizeof outrel);
yann@1069
    17
+		}
yann@1069
    18
 	      else
yann@1069
    19
 		{
yann@1069
    20
 		  /* This symbol is local, or marked to become local,