Fix ppc hidden plt patch.
This commit is contained in:
parent
8ef28f50d1
commit
cff4ada549
@ -1,6 +1,6 @@
|
|||||||
diff -rup ../binutils-2.20.51.0.2.original/bfd/ChangeLog bfd/ChangeLog
|
diff -rup ../binutils-2.20.51.0.2.original/bfd/ChangeLog ./bfd/ChangeLog
|
||||||
--- ../binutils-2.20.51.0.2.original/bfd/ChangeLog 2009-12-17 16:08:07.000000000 +0000
|
--- ../binutils-2.20.51.0.2.original/bfd/ChangeLog 2009-12-17 16:08:07.000000000 +0000
|
||||||
+++ bfd/ChangeLog 2009-12-17 16:27:06.000000000 +0000
|
+++ ./bfd/ChangeLog 2009-12-17 17:20:30.000000000 +0000
|
||||||
@@ -1,3 +1,25 @@
|
@@ -1,3 +1,25 @@
|
||||||
+2009-12-17 Alan Modra <amodra@bigpond.net.au>
|
+2009-12-17 Alan Modra <amodra@bigpond.net.au>
|
||||||
+
|
+
|
||||||
@ -27,9 +27,9 @@ diff -rup ../binutils-2.20.51.0.2.original/bfd/ChangeLog bfd/ChangeLog
|
|||||||
2009-10-09 Tristan Gingold <gingold@adacore.com>
|
2009-10-09 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
* mach-o.c (bfd_mach_o_section_get_entry_size): Moved.
|
* mach-o.c (bfd_mach_o_section_get_entry_size): Moved.
|
||||||
diff -rup ../binutils-2.20.51.0.2.original/bfd/elf32-ppc.c bfd/elf32-ppc.c
|
diff -rup ../binutils-2.20.51.0.2.original/bfd/elf32-ppc.c ./bfd/elf32-ppc.c
|
||||||
--- ../binutils-2.20.51.0.2.original/bfd/elf32-ppc.c 2009-12-17 16:08:07.000000000 +0000
|
--- ../binutils-2.20.51.0.2.original/bfd/elf32-ppc.c 2009-12-17 16:08:07.000000000 +0000
|
||||||
+++ bfd/elf32-ppc.c 2009-12-17 16:23:22.000000000 +0000
|
+++ ./bfd/elf32-ppc.c 2009-12-18 13:54:26.000000000 +0000
|
||||||
@@ -3323,6 +3323,8 @@ update_plt_info (bfd *abfd, struct plt_e
|
@@ -3323,6 +3323,8 @@ update_plt_info (bfd *abfd, struct plt_e
|
||||||
{
|
{
|
||||||
struct plt_entry *ent;
|
struct plt_entry *ent;
|
||||||
@ -82,6 +82,15 @@ diff -rup ../binutils-2.20.51.0.2.original/bfd/elf32-ppc.c bfd/elf32-ppc.c
|
|||||||
ent->plt.refcount -= 1;
|
ent->plt.refcount -= 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -4534,7 +4533,7 @@ ppc_elf_gc_sweep_hook (bfd *abfd,
|
||||||
|
if (r_type == R_PPC_PLTREL24 && info->shared)
|
||||||
|
addend = rel->r_addend;
|
||||||
|
ent = find_plt_ent (&h->plt.plist, got2, addend);
|
||||||
|
- if (ent->plt.refcount > 0)
|
||||||
|
+ if (ent != NULL && ent->plt.refcount > 0)
|
||||||
|
ent->plt.refcount -= 1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
@@ -4582,9 +4581,11 @@ ppc_elf_tls_setup (bfd *obfd,
|
@@ -4582,9 +4581,11 @@ ppc_elf_tls_setup (bfd *obfd,
|
||||||
&& tga->root.type == bfd_link_hash_undefweak)))
|
&& tga->root.type == bfd_link_hash_undefweak)))
|
||||||
{
|
{
|
||||||
@ -247,14 +256,14 @@ diff -rup ../binutils-2.20.51.0.2.original/bfd/elf32-ppc.c bfd/elf32-ppc.c
|
|||||||
}
|
}
|
||||||
- if (r_type == R_PPC_RELAX32_PLT)
|
- if (r_type == R_PPC_RELAX32_PLT)
|
||||||
- goto relax32;
|
- goto relax32;
|
||||||
- /* Fall thru */
|
/* Fall thru */
|
||||||
-
|
|
||||||
- case R_PPC_RELAX32PC:
|
- case R_PPC_RELAX32PC:
|
||||||
- relocation -= (input_section->output_section->vma
|
- relocation -= (input_section->output_section->vma
|
||||||
- + input_section->output_offset
|
- + input_section->output_offset
|
||||||
- + rel->r_offset - 4);
|
- + rel->r_offset - 4);
|
||||||
/* Fall thru */
|
- /* Fall thru */
|
||||||
|
-
|
||||||
- case R_PPC_RELAX32:
|
- case R_PPC_RELAX32:
|
||||||
- relax32:
|
- relax32:
|
||||||
+ case R_PPC_RELAX:
|
+ case R_PPC_RELAX:
|
||||||
@ -265,9 +274,9 @@ diff -rup ../binutils-2.20.51.0.2.original/bfd/elf32-ppc.c bfd/elf32-ppc.c
|
|||||||
{
|
{
|
||||||
unsigned long t0;
|
unsigned long t0;
|
||||||
unsigned long t1;
|
unsigned long t1;
|
||||||
diff -rup ../binutils-2.20.51.0.2.original/bfd/elf64-ppc.c bfd/elf64-ppc.c
|
diff -rup ../binutils-2.20.51.0.2.original/bfd/elf64-ppc.c ./bfd/elf64-ppc.c
|
||||||
--- ../binutils-2.20.51.0.2.original/bfd/elf64-ppc.c 2009-12-17 16:08:07.000000000 +0000
|
--- ../binutils-2.20.51.0.2.original/bfd/elf64-ppc.c 2009-12-17 16:08:07.000000000 +0000
|
||||||
+++ bfd/elf64-ppc.c 2009-12-17 16:10:41.000000000 +0000
|
+++ ./bfd/elf64-ppc.c 2009-12-17 17:20:30.000000000 +0000
|
||||||
@@ -5866,9 +5866,7 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, stru
|
@@ -5866,9 +5866,7 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, stru
|
||||||
for (ent = h->plt.plist; ent != NULL; ent = ent->next)
|
for (ent = h->plt.plist; ent != NULL; ent = ent->next)
|
||||||
if (ent->addend == rel->r_addend)
|
if (ent->addend == rel->r_addend)
|
||||||
@ -279,36 +288,9 @@ diff -rup ../binutils-2.20.51.0.2.original/bfd/elf64-ppc.c bfd/elf64-ppc.c
|
|||||||
ent->plt.refcount -= 1;
|
ent->plt.refcount -= 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
diff -rup ../binutils-2.20.51.0.2.original/include/elf/ChangeLog include/elf/ChangeLog
|
diff -rup ../binutils-2.20.51.0.2.original/include/elf/ppc.h ./include/elf/ppc.h
|
||||||
--- ../binutils-2.20.51.0.2.original/include/elf/ChangeLog 2009-12-17 16:07:45.000000000 +0000
|
|
||||||
+++ include/elf/ChangeLog 2009-12-17 16:12:12.000000000 +0000
|
|
||||||
@@ -1,3 +1,9 @@
|
|
||||||
+2009-12-17 Alan Modra <amodra@bigpond.net.au>
|
|
||||||
+
|
|
||||||
+ * ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT,
|
|
||||||
+ R_PPC_RELAX32PC_PLT): Delete.
|
|
||||||
+ (R_PPC_RELAX, R_PPC_RELAX_PLT, R_PPC_RELAX_PLTREL24): Define.
|
|
||||||
+
|
|
||||||
2009-09-29 DJ Delorie <dj@redhat.com>
|
|
||||||
|
|
||||||
* rx.h: New file.
|
|
||||||
@@ -34,11 +40,11 @@
|
|
||||||
R_push, R_const, R_add, R_sub, R_mult, R_div, R_mod, R_lshift,
|
|
||||||
R_rshift, R_and, R_or, R_xor, R_land, R_lor, R_len, R_neg, R_comp,
|
|
||||||
R_page, R_hwpage, R_addr, R_pltpc, R_got.
|
|
||||||
-
|
|
||||||
+
|
|
||||||
2009-08-09 Michael Eager <eager@eagercon.com>
|
|
||||||
|
|
||||||
* elf/common.h: Define EM_resnnn reserved values. Add EM_AVR32,
|
|
||||||
- EM_STM8, EM_TILE64, EM_TILEPRO. Change EM_MICROBLAZE.
|
|
||||||
+ EM_STM8, EM_TILE64, EM_TILEPRO. Change EM_MICROBLAZE.
|
|
||||||
|
|
||||||
2009-08-06 Michael Eager <eager@eagercon.com>
|
|
||||||
|
|
||||||
diff -rup ../binutils-2.20.51.0.2.original/include/elf/ppc.h include/elf/ppc.h
|
|
||||||
--- ../binutils-2.20.51.0.2.original/include/elf/ppc.h 2009-12-17 16:07:45.000000000 +0000
|
--- ../binutils-2.20.51.0.2.original/include/elf/ppc.h 2009-12-17 16:07:45.000000000 +0000
|
||||||
+++ include/elf/ppc.h 2009-12-17 16:12:51.000000000 +0000
|
+++ ./include/elf/ppc.h 2009-12-17 17:20:30.000000000 +0000
|
||||||
@@ -73,10 +73,9 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
|
@@ -73,10 +73,9 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
|
||||||
|
|
||||||
#ifndef RELOC_MACROS_GEN_FUNC
|
#ifndef RELOC_MACROS_GEN_FUNC
|
@ -17,7 +17,7 @@
|
|||||||
Summary: A GNU collection of binary utilities
|
Summary: A GNU collection of binary utilities
|
||||||
Name: %{?cross}binutils%{?_with_debug:-debug}
|
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||||
Version: 2.20.51.0.2
|
Version: 2.20.51.0.2
|
||||||
Release: 10%{?dist}
|
Release: 11%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://sources.redhat.com/binutils
|
URL: http://sources.redhat.com/binutils
|
||||||
@ -35,7 +35,7 @@ Patch09: binutils-2.20.51.0.2-ifunc-ld-s.patch
|
|||||||
Patch10: binutils-2.20.51.0.2-lwp.patch
|
Patch10: binutils-2.20.51.0.2-lwp.patch
|
||||||
Patch11: binutils-2.20.51.0.2-enable-gold.patch
|
Patch11: binutils-2.20.51.0.2-enable-gold.patch
|
||||||
Patch12: binutils-2.20.51.0.2-gas-expr.patch
|
Patch12: binutils-2.20.51.0.2-gas-expr.patch
|
||||||
Patch13: binutils-2.20.51.0.2-ppc64-hidden-plt-relocs.patch
|
Patch13: binutils-2.20.51.0.2-ppc-hidden-plt-relocs.patch
|
||||||
|
|
||||||
%define gold_arches %ix86 x86_64
|
%define gold_arches %ix86 x86_64
|
||||||
|
|
||||||
@ -427,6 +427,9 @@ exit 0
|
|||||||
%endif # %{isnative}
|
%endif # %{isnative}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 18 2009 Nick Clifton <nickc@redhat.com> - 2.20.51.0.2-11
|
||||||
|
- Add missing part of PR 11088 patch.
|
||||||
|
|
||||||
* Thu Dec 17 2009 Nick Clifton <nickc@redhat.com> - 2.20.51.0.2-10
|
* Thu Dec 17 2009 Nick Clifton <nickc@redhat.com> - 2.20.51.0.2-10
|
||||||
- Apply patch for PR 11088. (BZ 544149)
|
- Apply patch for PR 11088. (BZ 544149)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user