1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/binutils/2.20/100-ppc64-pie.patch Tue Oct 27 20:06:46 2009 +0100
1.3 @@ -0,0 +1,16 @@
1.4 +--- bfd/elf64-ppc.c.jj 2004-09-27 16:46:06.000000000 -0400
1.5 ++++ 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,