From c9267a9a9b7e815801545567935cffffd16a4f35 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 23 Jul 2015 09:34:04 +0100 Subject: [PATCH] Rebase on FSF binutils 2.25.1 release. Retire: binutils-2.25-x86_64-pie-relocs.patch --- binutils-2.25-kernel-ld-r.patch | 18 +----------- binutils-2.25-x86_64-pie-relocs.patch | 41 --------------------------- binutils.spec | 15 +++++----- sources | 2 +- 4 files changed, 10 insertions(+), 66 deletions(-) delete mode 100644 binutils-2.25-x86_64-pie-relocs.patch diff --git a/binutils-2.25-kernel-ld-r.patch b/binutils-2.25-kernel-ld-r.patch index 614c257..929ed19 100644 --- a/binutils-2.25-kernel-ld-r.patch +++ b/binutils-2.25-kernel-ld-r.patch @@ -893,22 +893,6 @@ diff -rup binutils-2.25/ld/ldlang.c binutils-2.25.patched/ld/ldlang.c lang_list_init (stat_ptr); lang_list_init (&input_file_chain); -@@ -1243,10 +1257,11 @@ lang_init (void) - - /* The value "13" is ad-hoc, somewhat related to the expected number of - assignments in a linker script. */ -- if (!bfd_hash_table_init_n (&lang_definedness_table, -- lang_definedness_newfunc, -- sizeof (struct lang_definedness_hash_entry), -- 13)) -+ if (!object_only -+ && !bfd_hash_table_init_n (&lang_definedness_table, -+ lang_definedness_newfunc, -+ sizeof (struct lang_definedness_hash_entry), -+ 13)) - einfo (_("%P%F: can not create hash table: %E\n")); - - asneeded_list_head = NULL; @@ -2839,6 +2854,12 @@ load_symbols (lang_input_statement_type loaded = FALSE; } @@ -2010,9 +1994,9 @@ diff -rup binutils-2.25/ld/ldmain.c binutils-2.25.patched/ld/ldmain.c config.commonpagesize = bfd_emul_get_commonpagesize (default_target); - lang_init (); + lang_init (FALSE); + ldexp_init (); ldemul_before_parse (); lang_has_input_file = FALSE; - parse_args (argc, argv); @@ -311,34 +314,7 @@ main (int argc, char **argv) ldemul_set_symbols (); diff --git a/binutils-2.25-x86_64-pie-relocs.patch b/binutils-2.25-x86_64-pie-relocs.patch deleted file mode 100644 index bc2a403..0000000 --- a/binutils-2.25-x86_64-pie-relocs.patch +++ /dev/null @@ -1,41 +0,0 @@ -*** binutils-2.25.orig/bfd/elf64-x86-64.c 2015-01-20 16:57:03.416958519 +0000 ---- binutils-2.25/bfd/elf64-x86-64.c 2015-01-20 16:59:10.455588496 +0000 -*************** elf_x86_64_allocate_dynrelocs (struct el -*** 2677,2689 **** - && ! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; - } -! /* For PIE, discard space for relocs against symbols which -! turn out to need copy relocs. */ - else if (info->executable - && (h->needs_copy || eh->needs_copy) - && h->def_dynamic - && !h->def_regular) -! eh->dyn_relocs = NULL; - } - } - else if (ELIMINATE_COPY_RELOCS) ---- 2677,2699 ---- - && ! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; - } -! /* For PIE, discard space for pc-relative relocs against -! symbols which turn out to need copy relocs. */ - else if (info->executable - && (h->needs_copy || eh->needs_copy) - && h->def_dynamic - && !h->def_regular) -! { -! struct elf_dyn_relocs **pp; -! -! for (pp = &eh->dyn_relocs; (p = *pp) != NULL; ) -! { -! if (p->pc_count != 0) -! *pp = p->next; -! else -! pp = &p->next; -! } -! } - } - } - else if (ELIMINATE_COPY_RELOCS) diff --git a/binutils.spec b/binutils.spec index 2776efb..f2de66f 100644 --- a/binutils.spec +++ b/binutils.spec @@ -18,8 +18,8 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} -Version: 2.25 -Release: 12%{?dist} +Version: 2.25.1 +Release: 1%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -52,10 +52,8 @@ Patch12: binutils-2.25-kernel-ld-r.patch Patch13: binutils-2.23.2-aarch64-em.patch # Fix detections little endian PPC shared libraries Patch14: binutils-2.24-ldforcele.patch -# Fix allocation of space for x86_64 PIE relocs. -Patch15: binutils-2.25-x86_64-pie-relocs.patch # Issue an error message when attempting to resolve PC-relative dynamic relocs in non-PIC objects. -Patch16: binutils-2.25-aarch64-fPIC-error.patch +Patch15: binutils-2.25-aarch64-fPIC-error.patch Provides: bundled(libiberty) @@ -179,9 +177,8 @@ using libelf instead of BFD. %ifarch ppc64le %patch14 -p1 -b .ldforcele~ %endif -%patch15 -p1 -b .x86_64-pie~ %ifarch aarch64 -%patch16 -p1 -b .aarch64-fpic~ +%patch15 -p1 -b .aarch64-fpic~ %endif @@ -496,6 +493,10 @@ exit 0 %endif # %{isnative} %changelog +* Thu Jul 23 2015 Nick Clifton - 2.25.1-1 +- Rebase on FSF binutils 2.25.1 release. +- Retire: binutils-2.25-x86_64-pie-relocs.patch + * Thu Jul 02 2015 Nick Clifton - 2.25-12 - For AArch64 issue an error message when attempting to resolve a PC-relative dynamic reloc in a non-PIC object file. diff --git a/sources b/sources index 272f6fd..9fc5580 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d9f3303f802a5b6b0bb73a335ab89d66 binutils-2.25.tar.bz2 +ac493a78de4fee895961d025b7905be4 binutils-2.25.1.tar.bz2