From 4894d24449dd73edfda0ac7435fb66966d7b70c8690aefd505918f9f48c0e004 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 24 Aug 2016 11:55:45 +0000 Subject: [PATCH] - Update to binutils 2.27. * Add a configure option, --enable-64-bit-archive, to force use of a 64-bit format when creating an archive symbol index. * Add --elf-stt-common= option to objcopy for ELF targets to control whether to convert common symbols to the STT_COMMON type. GAS: * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. * Add --no-pad-sections to stop the assembler from padding the end of output sections up to their alignment boundary. * Support for the ARMv8-M architecture has been added to the ARM port. Support for the ARMv8-M Security and DSP Extensions has also been added to the ARM port. * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and .extCoreRegister pseudo-ops that allow an user to define custom instructions, conditional codes, auxiliary and core registers. * Add a configure option --enable-elf-stt-common to decide whether ELF assembler should generate common symbols with the STT_COMMON type by default. Default to no. * New command line option --elf-stt-common= for ELF targets to control whether to generate common symbols with the STT_COMMON type. * Add ability to set section flags and types via numeric values for ELF based targets. * Add a configure option --enable-x86-relax-relocations to decide whether x86 assembler should generate relax relocations by default. Default to yes, except for x86 Solaris targets older than Solaris 12. * New command line option -mrelax-relocations= for x86 target to control whether to generate relax relocations. * New command line option -mfence-as-lock-add=yes for x86 target to encode lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". * Add assembly-time relaxation option for ARC cpus. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=215 --- binutils-2.26.1.tar.bz2 | 3 - binutils-2.27-branch.diff | 1771 +++++++++++++++++++++++++++++++ binutils-2.27.tar.bz2 | 3 + binutils.changes | 57 + binutils.spec | 8 +- cross-aarch64-binutils.changes | 57 + cross-aarch64-binutils.spec | 8 +- cross-arm-binutils.changes | 57 + cross-arm-binutils.spec | 8 +- cross-avr-binutils.changes | 57 + cross-avr-binutils.spec | 8 +- cross-epiphany-binutils.changes | 57 + cross-epiphany-binutils.spec | 8 +- cross-hppa-binutils.changes | 57 + cross-hppa-binutils.spec | 8 +- cross-hppa64-binutils.changes | 57 + cross-hppa64-binutils.spec | 8 +- cross-i386-binutils.changes | 57 + cross-i386-binutils.spec | 8 +- cross-ia64-binutils.changes | 57 + cross-ia64-binutils.spec | 8 +- cross-m68k-binutils.changes | 57 + cross-m68k-binutils.spec | 8 +- cross-mips-binutils.changes | 57 + cross-mips-binutils.spec | 8 +- cross-ppc-binutils.changes | 57 + cross-ppc-binutils.spec | 8 +- cross-ppc64-binutils.changes | 57 + cross-ppc64-binutils.spec | 8 +- cross-ppc64le-binutils.changes | 57 + cross-ppc64le-binutils.spec | 8 +- cross-rx-binutils.changes | 57 + cross-rx-binutils.spec | 8 +- cross-s390-binutils.changes | 57 + cross-s390-binutils.spec | 8 +- cross-s390x-binutils.changes | 57 + cross-s390x-binutils.spec | 8 +- cross-sparc-binutils.changes | 57 + cross-sparc-binutils.spec | 8 +- cross-sparc64-binutils.changes | 57 + cross-sparc64-binutils.spec | 8 +- cross-spu-binutils.changes | 57 + cross-spu-binutils.spec | 8 +- cross-x86_64-binutils.changes | 57 + cross-x86_64-binutils.spec | 8 +- gold-relocate-tls.patch | 165 --- 46 files changed, 3034 insertions(+), 273 deletions(-) delete mode 100644 binutils-2.26.1.tar.bz2 create mode 100644 binutils-2.27-branch.diff create mode 100644 binutils-2.27.tar.bz2 delete mode 100644 gold-relocate-tls.patch diff --git a/binutils-2.26.1.tar.bz2 b/binutils-2.26.1.tar.bz2 deleted file mode 100644 index 075c0c7..0000000 --- a/binutils-2.26.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39c346c87aa4fb14b2f786560aec1d29411b6ec34dce3fe7309fe3dd56949fd8 -size 25595243 diff --git a/binutils-2.27-branch.diff b/binutils-2.27-branch.diff new file mode 100644 index 0000000..c319e3b --- /dev/null +++ b/binutils-2.27-branch.diff @@ -0,0 +1,1771 @@ +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index 4f859c5..ef5e387 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,42 @@ ++2016-08-19 Alan Modra ++ ++ PR 20472 ++ * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test. ++ (readonly_dynrelocs): Comment fix. ++ (global_entry_stub): New function. ++ (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match ++ ELFv2 code deciding on dynamic relocs vs. global entry stubs to ++ that in size_global_entry_stubs, handling ifunc too. Delete dead ++ weak sym code. ++ (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no ++ dyn_relocs are needed. Correct handling of ifunc dyn_relocs. ++ Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for ++ undefweak syms. Expand and correct comments. ++ (size_global_entry_stubs): Ensure symbol is defined. ++ (ppc64_elf_relocate_section): Match condition under which ++ dyn_relocs are emitted to that in allocate_dynrelocs. ++ ++2016-08-11 Alan Modra ++ ++ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with ++ non_got_ref true in any case where we could have generated dynbss ++ copies but decide not to do so. ++ ++2016-08-02 Nick Clifton ++ ++ PR ld/17739 ++ * elf32-sh.c (sh_elf_gc_sweep_hook): Delete. ++ (elf_backend_sweep_hook): Delete. ++ ++2016-08-03 Tristan Gingold ++ ++ * version.m4: Bump version to 2.27.0 ++ * configure: Regenerate. ++ ++2016-08-03 Tristan Gingold ++ ++ * development.sh: Set development to true. ++ + 2016-08-03 Tristan Gingold + + * version.m4: Bump version to 2.27 +diff --git a/bfd/configure b/bfd/configure +index 6e6283d..a437569 100755 +--- a/bfd/configure ++++ b/bfd/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.64 for bfd 2.27. ++# Generated by GNU Autoconf 2.64 for bfd 2.27.0. + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +@@ -556,8 +556,8 @@ MAKEFLAGS= + # Identity of this package. + PACKAGE_NAME='bfd' + PACKAGE_TARNAME='bfd' +-PACKAGE_VERSION='2.27' +-PACKAGE_STRING='bfd 2.27' ++PACKAGE_VERSION='2.27.0' ++PACKAGE_STRING='bfd 2.27.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1353,7 +1353,7 @@ if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures bfd 2.27 to adapt to many kinds of systems. ++\`configure' configures bfd 2.27.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1424,7 +1424,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of bfd 2.27:";; ++ short | recursive ) echo "Configuration of bfd 2.27.0:";; + esac + cat <<\_ACEOF + +@@ -1545,7 +1545,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-bfd configure 2.27 ++bfd configure 2.27.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -2187,7 +2187,7 @@ cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by bfd $as_me 2.27, which was ++It was created by bfd $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3996,7 +3996,7 @@ fi + + # Define the identity of the package. + PACKAGE='bfd' +- VERSION='2.27' ++ VERSION='2.27.0' + + + cat >>confdefs.h <<_ACEOF +@@ -16576,7 +16576,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by bfd $as_me 2.27, which was ++This file was extended by bfd $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -16640,7 +16640,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-bfd config.status 2.27 ++bfd config.status 2.27.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +diff --git a/bfd/development.sh b/bfd/development.sh +index 5d00fa0..85dae6b 100644 +--- a/bfd/development.sh ++++ b/bfd/development.sh +@@ -16,4 +16,4 @@ + # along with this program. If not, see . + + # Controls whether to enable development-mode features by default. +-development=false ++development=true +diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c +index 52a5fd1..5609b55 100644 +--- a/bfd/elf32-sh.c ++++ b/bfd/elf32-sh.c +@@ -5682,6 +5682,7 @@ sh_elf_gc_mark_hook (asection *sec, + return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym); + } + ++#if 0 + /* Update the got entry reference counts for the section being removed. */ + + static bfd_boolean +@@ -5895,6 +5896,7 @@ sh_elf_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info, + + return TRUE; + } ++#endif + + /* Copy the extra info we tack onto an elf_link_hash_entry. */ + +@@ -7455,7 +7457,7 @@ sh_elf_encode_eh_address (bfd *abfd, + sh_elf_merge_private_data + + #define elf_backend_gc_mark_hook sh_elf_gc_mark_hook +-#define elf_backend_gc_sweep_hook sh_elf_gc_sweep_hook ++//#define elf_backend_gc_sweep_hook sh_elf_gc_sweep_hook + #define elf_backend_check_relocs sh_elf_check_relocs + #define elf_backend_copy_indirect_symbol \ + sh_elf_copy_indirect_symbol +diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c +index d7af888..461bd5e 100644 +--- a/bfd/elf64-ppc.c ++++ b/bfd/elf64-ppc.c +@@ -5081,7 +5081,7 @@ ppc64_elf_before_check_relocs (bfd *ibfd, struct bfd_link_info *info) + { + if (abiversion (ibfd) == 0) + set_abiversion (ibfd, 1); +- else if (abiversion (ibfd) == 2) ++ else if (abiversion (ibfd) >= 2) + { + info->callbacks->einfo (_("%P: %B .opd not allowed in ABI" + " version %d\n"), +@@ -7102,7 +7102,8 @@ ppc64_elf_func_desc_adjust (bfd *obfd ATTRIBUTE_UNUSED, + return TRUE; + } + +-/* Return true if we have dynamic relocs that apply to read-only sections. */ ++/* Return true if we have dynamic relocs against H that apply to ++ read-only sections. */ + + static bfd_boolean + readonly_dynrelocs (struct elf_link_hash_entry *h) +@@ -7121,6 +7122,27 @@ readonly_dynrelocs (struct elf_link_hash_entry *h) + return FALSE; + } + ++ ++/* Return true if a global entry stub will be created for H. Valid ++ for ELFv2 before plt entries have been allocated. */ ++ ++static bfd_boolean ++global_entry_stub (struct elf_link_hash_entry *h) ++{ ++ struct plt_entry *pent; ++ ++ if (!h->pointer_equality_needed ++ || h->def_regular) ++ return FALSE; ++ ++ for (pent = h->plt.plist; pent != NULL; pent = pent->next) ++ if (pent->plt.refcount > 0 ++ && pent->addend == 0) ++ return TRUE; ++ ++ return FALSE; ++} ++ + /* Adjust a symbol defined by a dynamic object and referenced by a + regular object. The current definition is in some section of the + dynamic object, but we're not including those sections. We have to +@@ -7160,35 +7182,25 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, + h->needs_plt = 0; + h->pointer_equality_needed = 0; + } +- else if (abiversion (info->output_bfd) == 2) ++ else if (abiversion (info->output_bfd) >= 2) + { + /* Taking a function's address in a read/write section + doesn't require us to define the function symbol in the + executable on a global entry stub. A dynamic reloc can +- be used instead. */ +- if (h->pointer_equality_needed +- && h->type != STT_GNU_IFUNC ++ be used instead. The reason we prefer a few more dynamic ++ relocs is that calling via a global entry stub costs a ++ few more instructions, and pointer_equality_needed causes ++ extra work in ld.so when resolving these symbols. */ ++ if (global_entry_stub (h) + && !readonly_dynrelocs (h)) + { + h->pointer_equality_needed = 0; ++ /* After adjust_dynamic_symbol, non_got_ref set in ++ the non-pic case means that dyn_relocs for this ++ symbol should be discarded. */ + h->non_got_ref = 0; + } + +- /* After adjust_dynamic_symbol, non_got_ref set in the +- non-shared case means that we have allocated space in +- .dynbss for the symbol and thus dyn_relocs for this +- symbol should be discarded. +- If we get here we know we are making a PLT entry for this +- symbol, and in an executable we'd normally resolve +- relocations against this symbol to the PLT entry. Allow +- dynamic relocs if the reference is weak, and the dynamic +- relocs will not cause text relocation. */ +- else if (!h->ref_regular_nonweak +- && h->non_got_ref +- && h->type != STT_GNU_IFUNC +- && !readonly_dynrelocs (h)) +- h->non_got_ref = 0; +- + /* If making a plt entry, then we don't need copy relocs. */ + return TRUE; + } +@@ -7223,29 +7235,20 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, + return TRUE; + + /* Don't generate a copy reloc for symbols defined in the executable. */ +- if (!h->def_dynamic || !h->ref_regular || h->def_regular) +- return TRUE; ++ if (!h->def_dynamic || !h->ref_regular || h->def_regular + +- /* If -z nocopyreloc was given, don't generate them either. */ +- if (info->nocopyreloc) +- { +- h->non_got_ref = 0; +- return TRUE; +- } ++ /* If -z nocopyreloc was given, don't generate them either. */ ++ || info->nocopyreloc + +- /* If we didn't find any dynamic relocs in read-only sections, then +- we'll be keeping the dynamic relocs and avoiding the copy reloc. */ +- if (ELIMINATE_COPY_RELOCS && !readonly_dynrelocs (h)) +- { +- h->non_got_ref = 0; +- return TRUE; +- } ++ /* If we didn't find any dynamic relocs in read-only sections, then ++ we'll be keeping the dynamic relocs and avoiding the copy reloc. */ ++ || (ELIMINATE_COPY_RELOCS && !readonly_dynrelocs (h)) + +- /* Protected variables do not work with .dynbss. The copy in +- .dynbss won't be used by the shared library with the protected +- definition for the variable. Text relocations are preferable +- to an incorrect program. */ +- if (h->protected_def) ++ /* Protected variables do not work with .dynbss. The copy in ++ .dynbss won't be used by the shared library with the protected ++ definition for the variable. Text relocations are preferable ++ to an incorrect program. */ ++ || h->protected_def) + { + h->non_got_ref = 0; + return TRUE; +@@ -9547,7 +9550,6 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + struct ppc_link_hash_table *htab; + asection *s; + struct ppc_link_hash_entry *eh; +- struct elf_dyn_relocs *p; + struct got_entry **pgent, *gent; + + if (h->root.type == bfd_link_hash_indirect) +@@ -9627,10 +9629,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + allocate_got (h, info, gent); + } + +- if (eh->dyn_relocs != NULL +- && (htab->elf.dynamic_sections_created +- || h->type == STT_GNU_IFUNC)) ++ if (!htab->elf.dynamic_sections_created ++ && h->type != STT_GNU_IFUNC) ++ eh->dyn_relocs = NULL; ++ ++ if (eh->dyn_relocs != NULL) + { ++ struct elf_dyn_relocs *p, **pp; ++ + /* In the shared -Bsymbolic case, discard space allocated for + dynamic pc-relative relocs against symbols which turn out to + be defined in regular objects. For the normal shared case, +@@ -9648,8 +9654,6 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + avoid writing weird assembly. */ + if (SYMBOL_CALLS_LOCAL (info, h)) + { +- struct elf_dyn_relocs **pp; +- + for (pp = &eh->dyn_relocs; (p = *pp) != NULL; ) + { + p->count -= p->pc_count; +@@ -9681,36 +9685,47 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) + } + else if (h->type == STT_GNU_IFUNC) + { +- if (!h->non_got_ref) ++ /* A plt entry is always created when making direct calls to ++ an ifunc, even when building a static executable, but ++ that doesn't cover all cases. We may have only an ifunc ++ initialised function pointer for a given ifunc symbol. ++ ++ For ELFv2, dynamic relocations are not required when ++ generating a global entry PLT stub. */ ++ if (abiversion (info->output_bfd) >= 2) ++ { ++ if (global_entry_stub (h)) ++ eh->dyn_relocs = NULL; ++ } ++ ++ /* For ELFv1 we have function descriptors. Descriptors need ++ to be treated like PLT entries and thus have dynamic ++ relocations. One exception is when the function ++ descriptor is copied into .dynbss (which should only ++ happen with ancient versions of gcc). */ ++ else if (h->needs_copy) + eh->dyn_relocs = NULL; + } + else if (ELIMINATE_COPY_RELOCS) + { +- /* For the non-shared case, discard space for relocs against ++ /* For the non-pic case, discard space for relocs against + symbols which turn out to need copy relocs or are not + dynamic. */ + +- if (!h->non_got_ref +- && !h->def_regular) +- { +- /* Make sure this symbol is output as a dynamic symbol. +- Undefined weak syms won't yet be marked as dynamic. */ +- if (h->dynindx == -1 +- && !h->forced_local) +- { +- if (! bfd_elf_link_record_dynamic_symbol (info, h)) +- return FALSE; +- } +- +- /* If that succeeded, we know we'll be keeping all the +- relocs. */ +- if (h->dynindx != -1) +- goto keep; +- } +- +- eh->dyn_relocs = NULL; ++ /* First make sure this symbol is output as a dynamic symbol. ++ Undefined weak syms won't yet be marked as dynamic. */ ++ if (h->root.type == bfd_link_hash_undefweak ++ && !h->non_got_ref ++ && !h->def_regular ++ && h->dynindx == -1 ++ && !h->forced_local ++ && !bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; + +- keep: ; ++ if (h->non_got_ref ++ || h->def_regular ++ || h->dynindx == -1) ++ eh->dyn_relocs = NULL; + } + + /* Finally, allocate space. */ +@@ -9827,6 +9842,7 @@ size_global_entry_stubs (struct elf_link_hash_entry *h, void *inf) + need to define the symbol in the executable on a call stub. + This is to avoid text relocations. */ + s->size = (s->size + 15) & -16; ++ h->root.type = bfd_link_hash_defined; + h->root.u.def.section = s; + h->root.u.def.value = s->size; + s->size += 16; +@@ -14679,22 +14695,25 @@ ppc64_elf_relocate_section (bfd *output_bfd, + if (NO_OPD_RELOCS && is_opd) + break; + +- if ((bfd_link_pic (info) +- && (h == NULL +- || ELF_ST_VISIBILITY (h->elf.other) == STV_DEFAULT +- || h->elf.root.type != bfd_link_hash_undefweak) +- && (must_be_dyn_reloc (info, r_type) +- || !SYMBOL_CALLS_LOCAL (info, &h->elf))) +- || (ELIMINATE_COPY_RELOCS +- && !bfd_link_pic (info) +- && h != NULL +- && h->elf.dynindx != -1 +- && !h->elf.non_got_ref +- && !h->elf.def_regular) +- || (!bfd_link_pic (info) +- && (h != NULL +- ? h->elf.type == STT_GNU_IFUNC +- : ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC))) ++ if (bfd_link_pic (info) ++ ? ((h == NULL ++ || ELF_ST_VISIBILITY (h->elf.other) == STV_DEFAULT ++ || h->elf.root.type != bfd_link_hash_undefweak) ++ && (must_be_dyn_reloc (info, r_type) ++ || !SYMBOL_CALLS_LOCAL (info, &h->elf))) ++ : (h == NULL ++ ? ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC ++ : (h->elf.type == STT_GNU_IFUNC ++ ? (abiversion (output_bfd) >= 2 ++ ? !(h->elf.pointer_equality_needed ++ && !h->elf.def_regular ++ && h->elf.root.type == bfd_link_hash_defined ++ && h->elf.root.u.def.section == htab->glink) ++ : !h->elf.needs_copy) ++ : (ELIMINATE_COPY_RELOCS ++ && !(h->elf.non_got_ref ++ || h->elf.def_regular ++ || h->elf.dynindx == -1))))) + { + bfd_boolean skip, relocate; + asection *sreloc; +diff --git a/bfd/version.h b/bfd/version.h +index 9ca8ab8..a2cf31e 100644 +--- a/bfd/version.h ++++ b/bfd/version.h +@@ -1,4 +1,4 @@ +-#define BFD_VERSION_DATE 20160803 ++#define BFD_VERSION_DATE 20160824 + #define BFD_VERSION @bfd_version@ + #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ + #define REPORT_BUGS_TO @report_bugs_to@ +diff --git a/bfd/version.m4 b/bfd/version.m4 +index e474848..fdf3606 100644 +--- a/bfd/version.m4 ++++ b/bfd/version.m4 +@@ -1 +1 @@ +-m4_define([BFD_VERSION], [2.27]) ++m4_define([BFD_VERSION], [2.27.0]) +diff --git a/binutils/ChangeLog b/binutils/ChangeLog +index b92bf46..a70bdb7 100644 +--- a/binutils/ChangeLog ++++ b/binutils/ChangeLog +@@ -2,6 +2,10 @@ + + * configure: Regenerate. + ++2016-08-03 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2016-07-01 Nick Clifton + + * Import this patch from the mainline: +diff --git a/binutils/configure b/binutils/configure +index ea013d1..6cbf17c 100755 +--- a/binutils/configure ++++ b/binutils/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.64 for binutils 2.27. ++# Generated by GNU Autoconf 2.64 for binutils 2.27.0. + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +@@ -556,8 +556,8 @@ MAKEFLAGS= + # Identity of this package. + PACKAGE_NAME='binutils' + PACKAGE_TARNAME='binutils' +-PACKAGE_VERSION='2.27' +-PACKAGE_STRING='binutils 2.27' ++PACKAGE_VERSION='2.27.0' ++PACKAGE_STRING='binutils 2.27.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1337,7 +1337,7 @@ if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures binutils 2.27 to adapt to many kinds of systems. ++\`configure' configures binutils 2.27.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1408,7 +1408,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of binutils 2.27:";; ++ short | recursive ) echo "Configuration of binutils 2.27.0:";; + esac + cat <<\_ACEOF + +@@ -1529,7 +1529,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-binutils configure 2.27 ++binutils configure 2.27.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -2171,7 +2171,7 @@ cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by binutils $as_me 2.27, which was ++It was created by binutils $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3980,7 +3980,7 @@ fi + + # Define the identity of the package. + PACKAGE='binutils' +- VERSION='2.27' ++ VERSION='2.27.0' + + + cat >>confdefs.h <<_ACEOF +@@ -15179,7 +15179,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by binutils $as_me 2.27, which was ++This file was extended by binutils $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -15243,7 +15243,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-binutils config.status 2.27 ++binutils config.status 2.27.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +diff --git a/gas/ChangeLog b/gas/ChangeLog +index 5553b6c..a39895a 100644 +--- a/gas/ChangeLog ++++ b/gas/ChangeLog +@@ -2,6 +2,10 @@ + + * configure: Regenerate. + ++2016-08-03 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2016-07-01 Tristan Gingold + + * configure: Regenerate. +diff --git a/gas/configure b/gas/configure +index 7b48a58..f7753b8 100755 +--- a/gas/configure ++++ b/gas/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.64 for gas 2.27. ++# Generated by GNU Autoconf 2.64 for gas 2.27.0. + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +@@ -556,8 +556,8 @@ MAKEFLAGS= + # Identity of this package. + PACKAGE_NAME='gas' + PACKAGE_TARNAME='gas' +-PACKAGE_VERSION='2.27' +-PACKAGE_STRING='gas 2.27' ++PACKAGE_VERSION='2.27.0' ++PACKAGE_STRING='gas 2.27.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1328,7 +1328,7 @@ if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures gas 2.27 to adapt to many kinds of systems. ++\`configure' configures gas 2.27.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1399,7 +1399,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of gas 2.27:";; ++ short | recursive ) echo "Configuration of gas 2.27.0:";; + esac + cat <<\_ACEOF + +@@ -1521,7 +1521,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-gas configure 2.27 ++gas configure 2.27.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -1931,7 +1931,7 @@ cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by gas $as_me 2.27, which was ++It was created by gas $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3740,7 +3740,7 @@ fi + + # Define the identity of the package. + PACKAGE='gas' +- VERSION='2.27' ++ VERSION='2.27.0' + + + cat >>confdefs.h <<_ACEOF +@@ -15137,7 +15137,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by gas $as_me 2.27, which was ++This file was extended by gas $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -15201,7 +15201,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-gas config.status 2.27 ++gas config.status 2.27.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +diff --git a/gold/ChangeLog b/gold/ChangeLog +index 239df36..7e69839 100644 +--- a/gold/ChangeLog ++++ b/gold/ChangeLog +@@ -1,6 +1,66 @@ ++2016-08-23 Roland McGrath ++ ++ * options.h (General_options): Grok -z stack-size. ++ * output.h (Output_segment::set_size): New method. ++ * layout.cc (Layout::create_executable_stack_info): Renamed to ... ++ (Layout::create_stack_segment): ... this. Always create the ++ segment if -z stack-size was used. ++ (Layout::set_segment_offsets): Don't call ->set_offset on the ++ PT_GNU_STACK segment. ++ ++2016-08-17 Cary Coutant ++ ++ * i386.cc (Target_i386): Reset skip_call_tls_get_addr_ after printing ++ error message. ++ * testsuite/Makefile.am (pr20216a): Add missing dependencies. ++ (pr20308a): Add -Bgcctestdir/ to compile rules. ++ * testsuite/Makefile.in: Regenerate. ++ ++2016-08-12 Roland McGrath ++ ++ PR gold/20462 ++ * script-sections.cc (Script_sections::release_segments): ++ Reset this->segments_created_. ++ ++2016-08-12 Roland McGrath ++ ++ * yyscript.y (HIDDEN): New %token. ++ (assignment): Handle HIDDEN(string = expr) syntax. ++ * script.cc (script_keyword_parsecodes): Add HIDDEN. ++ ++2016-08-10 Cary Coutant ++ ++ PR gold/20216 ++ * x86_64.cc (Target_x86_64::Relocate::relocate): Add check for ++ R_X86_64_GOTPCREL. Reset skip_call_tls_get_addr_ after printing ++ error message. ++ * testsuite/Makefile.am (pr20216_gd.o): Add -Bgcctestdir/. ++ (pr20216_ld.o): Likewise. ++ * testsuite/Makefile.in: Regenerate. ++ ++2016-08-10 James Clarke ++ ++ PR gold/20443 ++ * symtab.cc (Symbol_table::add_from_relobj): Handle NULL symbols, ++ which will be present for STT_SPARC_REGISTER. ++ (Symbol_table::add_from_pluginobj): Likewise. ++ (Symbol_table::add_from_dynobj): Likewise. ++ (Symbol_table::add_from_incrobj): Removed dead code. ++ ++2016-08-10 James Clarke ++ ++ PR gold/20442 ++ * sparc.cc (Target_sparc::Relocate::relocate): R_SPARC_GOTDATA_OP_LOX10 ++ should fall back on R_SPARC_GOT10, not R_SPARC_GOT13. ++ ++2016-08-10 James Clarke ++ ++ PR gold/20441 ++ * sparc.cc (Target_sparc::Scan::check_non_pic): Allow R_SPARC_32 on ++ sparc64. ++ + 2016-06-29 Cary Coutant + +-gold/ + PR gold/20310 + * testsuite/dynamic_list.sh: Remove check for _ZdlPv. + +diff --git a/gold/i386.cc b/gold/i386.cc +index 28864cd..ec515c4 100644 +--- a/gold/i386.cc ++++ b/gold/i386.cc +@@ -2794,8 +2794,11 @@ Target_i386::Relocate::relocate(const Relocate_info<32, false>* relinfo, + && r_type != elfcpp::R_386_PC32) + || gsym == NULL + || strcmp(gsym->name(), "___tls_get_addr") != 0) +- gold_error_at_location(relinfo, relnum, rel.get_r_offset(), +- _("missing expected TLS relocation")); ++ { ++ gold_error_at_location(relinfo, relnum, rel.get_r_offset(), ++ _("missing expected TLS relocation")); ++ this->skip_call_tls_get_addr_ = false; ++ } + else + { + this->skip_call_tls_get_addr_ = false; +diff --git a/gold/layout.cc b/gold/layout.cc +index 376051d..d14f27b 100644 +--- a/gold/layout.cc ++++ b/gold/layout.cc +@@ -2135,7 +2135,7 @@ void + Layout::create_notes() + { + this->create_gold_note(); +- this->create_executable_stack_info(); ++ this->create_stack_segment(); + this->create_build_id(); + } + +@@ -2785,7 +2785,7 @@ Layout::finalize(const Input_objects* input_objects, Symbol_table* symtab, + if (load_seg != NULL) + ehdr_start->set_output_segment(load_seg, Symbol::SEGMENT_START); + else +- ehdr_start->set_undefined(); ++ ehdr_start->set_undefined(); + } + + // Set the file offsets of all the non-data sections we've seen so +@@ -2985,25 +2985,29 @@ Layout::create_gold_note() + // executable. Otherwise, if at least one input file a + // .note.GNU-stack section, and some input file has no .note.GNU-stack + // section, we use the target default for whether the stack should be +-// executable. Otherwise, we don't generate a stack note. When +-// generating a object file, we create a .note.GNU-stack section with +-// the appropriate marking. When generating an executable or shared +-// library, we create a PT_GNU_STACK segment. ++// executable. If -z stack-size was used to set a p_memsz value for ++// PT_GNU_STACK, we generate the segment regardless. Otherwise, we ++// don't generate a stack note. When generating a object file, we ++// create a .note.GNU-stack section with the appropriate marking. ++// When generating an executable or shared library, we create a ++// PT_GNU_STACK segment. + + void +-Layout::create_executable_stack_info() ++Layout::create_stack_segment() + { + bool is_stack_executable; + if (parameters->options().is_execstack_set()) + { + is_stack_executable = parameters->options().is_stack_executable(); + if (!is_stack_executable +- && this->input_requires_executable_stack_ +- && parameters->options().warn_execstack()) ++ && this->input_requires_executable_stack_ ++ && parameters->options().warn_execstack()) + gold_warning(_("one or more inputs require executable stack, " +- "but -z noexecstack was given")); ++ "but -z noexecstack was given")); + } +- else if (!this->input_with_gnu_stack_note_) ++ else if (!this->input_with_gnu_stack_note_ ++ && (!parameters->options().user_set_stack_size() ++ || parameters->options().relocatable())) + return; + else + { +@@ -3032,7 +3036,12 @@ Layout::create_executable_stack_info() + int flags = elfcpp::PF_R | elfcpp::PF_W; + if (is_stack_executable) + flags |= elfcpp::PF_X; +- this->make_output_segment(elfcpp::PT_GNU_STACK, flags); ++ Output_segment* seg = ++ this->make_output_segment(elfcpp::PT_GNU_STACK, flags); ++ seg->set_size(parameters->options().stack_size()); ++ // BFD lets targets override this default alignment, but the only ++ // targets that do so are ones that Gold does not support so far. ++ seg->set_minimum_p_align(16); + } + } + +@@ -3718,7 +3727,9 @@ Layout::set_segment_offsets(const Target* target, Output_segment* load_seg, + p != this->segment_list_.end(); + ++p) + { +- if ((*p)->type() != elfcpp::PT_LOAD) ++ // PT_GNU_STACK was set up correctly when it was created. ++ if ((*p)->type() != elfcpp::PT_LOAD ++ && (*p)->type() != elfcpp::PT_GNU_STACK) + (*p)->set_offset((*p)->type() == elfcpp::PT_GNU_RELRO + ? increase_relro + : 0); +diff --git a/gold/layout.h b/gold/layout.h +index c369fef..b2d699f 100644 +--- a/gold/layout.h ++++ b/gold/layout.h +@@ -1037,9 +1037,9 @@ class Layout + void + create_gold_note(); + +- // Record whether the stack must be executable. ++ // Record whether the stack must be executable, and a user-supplied size. + void +- create_executable_stack_info(); ++ create_stack_segment(); + + // Create a build ID note if needed. + void +diff --git a/gold/options.h b/gold/options.h +index 23c9658..4c5b2ae 100644 +--- a/gold/options.h ++++ b/gold/options.h +@@ -647,7 +647,7 @@ class General_options + DEFINE_bool(apply_dynamic_relocs, options::TWO_DASHES, '\0', true, + N_("Apply link-time values for dynamic relocations (default)"), + N_("(aarch64 only) Do not apply link-time values " +- "for dynamic relocations")); ++ "for dynamic relocations")); + + DEFINE_bool(as_needed, options::TWO_DASHES, '\0', false, + N_("Only set DT_NEEDED for shared libraries if used"), +@@ -1293,7 +1293,7 @@ class General_options + N_("Mark output as requiring executable stack"), NULL); + DEFINE_bool(global, options::DASH_Z, '\0', false, + N_("Make symbols in DSO available for subsequently loaded " +- "objects"), NULL); ++ "objects"), NULL); + DEFINE_bool(initfirst, options::DASH_Z, '\0', false, + N_("Mark DSO to be initialized first at runtime"), + NULL); +@@ -1339,6 +1339,8 @@ class General_options + DEFINE_bool(relro, options::DASH_Z, '\0', DEFAULT_LD_Z_RELRO, + N_("Where possible mark variables read-only after relocation"), + N_("Don't mark variables read-only after relocation")); ++ DEFINE_uint64(stack_size, options::DASH_Z, '\0', 0, ++ N_("Set PT_GNU_STACK segment p_memsz to SIZE"), N_("SIZE")); + DEFINE_bool(text, options::DASH_Z, '\0', false, + N_("Do not permit relocations in read-only segments"), + N_("Permit relocations in read-only segments (default)")); +diff --git a/gold/output.h b/gold/output.h +index d8a8aaa..6b9186b 100644 +--- a/gold/output.h ++++ b/gold/output.h +@@ -2499,7 +2499,7 @@ class Output_data_got : public Output_data_got_base + // entry. + bool + add_local(Relobj* object, unsigned int sym_index, unsigned int got_type, +- uint64_t addend); ++ uint64_t addend); + + // Like add_local, but use the PLT offset of the local symbol if it + // has one. +@@ -2643,7 +2643,7 @@ class Output_data_got : public Output_data_got_base + + // Create a local symbol entry plus addend. + Got_entry(Relobj* object, unsigned int local_sym_index, +- bool use_plt_or_tls_offset, uint64_t addend) ++ bool use_plt_or_tls_offset, uint64_t addend) + : local_sym_index_(local_sym_index), + use_plt_or_tls_offset_(use_plt_or_tls_offset), addend_(addend) + { +@@ -4796,6 +4796,13 @@ class Output_segment + this->min_p_align_ = align; + } + ++ // Set the memory size of this segment. ++ void ++ set_size(uint64_t size) ++ { ++ this->memsz_ = size; ++ } ++ + // Set the offset of this segment based on the section. This should + // only be called for a non-PT_LOAD segment. + void +diff --git a/gold/script-sections.cc b/gold/script-sections.cc +index 96c68de..bf25391 100644 +--- a/gold/script-sections.cc ++++ b/gold/script-sections.cc +@@ -244,10 +244,10 @@ Memory_region::attributes_compatible(elfcpp::Elf_Xword flags, + attrs &= ~ (attrs & - attrs); + } + while (attrs != 0); +- ++ + return match; + } +- ++ + // Print a memory region. + + void +@@ -1503,7 +1503,7 @@ class Input_section_info + private: + // Input section, can be a relaxed section. + Output_section::Input_section input_section_; +- // Name of the section. ++ // Name of the section. + std::string section_name_; + // Section size. + uint64_t size_; +@@ -1545,7 +1545,7 @@ Input_section_sorter::get_init_priority(const char* name) + // GCC uses the following section names for the init_priority + // attribute with numerical values 101 and 65535 inclusive. A + // lower value means a higher priority. +- // ++ // + // 1: .init_array.NNNN/.fini_array.NNNN: Where NNNN is the + // decimal numerical value of the init_priority attribute. + // The order of execution in .init_array is forward and +@@ -1666,7 +1666,7 @@ Output_section_element_input::set_section_addresses( + while (p != input_sections->end()) + { + Relobj* relobj = p->relobj(); +- unsigned int shndx = p->shndx(); ++ unsigned int shndx = p->shndx(); + Input_section_info isi(*p); + + // Calling section_name and section_addralign is not very +@@ -1758,7 +1758,7 @@ Output_section_element_input::set_section_addresses( + + uint64_t this_subalign = sis.addralign(); + if (!sis.is_input_section()) +- sis.output_section_data()->finalize_data_size(); ++ sis.output_section_data()->finalize_data_size(); + uint64_t data_size = sis.data_size(); + if (this_subalign < subalign) + { +@@ -2029,7 +2029,7 @@ class Output_section_definition : public Sections_element + void + set_section_vma(Expression* address) + { this->address_ = address; } +- ++ + void + set_section_lma(Expression* address) + { this->load_address_ = address; } +@@ -2037,7 +2037,7 @@ class Output_section_definition : public Sections_element + const std::string& + get_section_name() const + { return this->name_; } +- ++ + private: + static const char* + script_section_type_name(Script_section_type); +@@ -2402,9 +2402,9 @@ Output_section_definition::set_section_addresses(Symbol_table* symtab, + uint64_t old_load_address = *load_address; + + // If input section sorting is requested via --section-ordering-file or +- // linker plugins, then do it here. This is important because we want ++ // linker plugins, then do it here. This is important because we want + // any sorting specified in the linker scripts, which will be done after +- // this, to take precedence. The final order of input sections is then ++ // this, to take precedence. The final order of input sections is then + // guaranteed to be according to the linker script specification. + if (this->output_section_ != NULL + && this->output_section_->input_section_order_specified()) +@@ -2495,7 +2495,7 @@ Output_section_definition::set_section_addresses(Symbol_table* symtab, + // The LMA address was explicitly set to the given region. + laddr = lma_region->get_current_address()->eval(symtab, layout, + false); +- else ++ else + { + // We are not going to use the discovered lma_region, so + // make sure that we do not update it in the code below. +@@ -2987,9 +2987,9 @@ Orphan_output_section::set_section_addresses(Symbol_table*, Layout*, + address = align_address(address, this->os_->addralign()); + + // If input section sorting is requested via --section-ordering-file or +- // linker plugins, then do it here. This is important because we want ++ // linker plugins, then do it here. This is important because we want + // any sorting specified in the linker scripts, which will be done after +- // this, to take precedence. The final order of input sections is then ++ // this, to take precedence. The final order of input sections is then + // guaranteed to be according to the linker script specification. + if (this->os_ != NULL + && this->os_->input_section_order_specified()) +@@ -3023,7 +3023,7 @@ Orphan_output_section::set_section_addresses(Symbol_table*, Layout*, + { + uint64_t addralign = p->addralign(); + if (!p->is_input_section()) +- p->output_section_data()->finalize_data_size(); ++ p->output_section_data()->finalize_data_size(); + uint64_t size = p->data_size(); + address = align_address(address, addralign); + this->os_->add_script_input_section(*p); +@@ -3605,7 +3605,7 @@ Output_segment* + Script_sections::set_section_addresses(Symbol_table* symtab, Layout* layout) + { + gold_assert(this->saw_sections_clause_); +- ++ + // Implement ONLY_IF_RO/ONLY_IF_RW constraints. These are a pain + // for our representation. + for (Sections_elements::iterator p = this->sections_elements_->begin(); +@@ -3674,7 +3674,7 @@ Script_sections::set_section_addresses(Symbol_table* symtab, Layout* layout) + Output_section* os = (*p)->get_output_section(); + + // Handle -Ttext, -Tdata and -Tbss options. We do this by looking for +- // the special sections by names and doing dot assignments. ++ // the special sections by names and doing dot assignments. + if (use_tsection_options + && os != NULL + && (os->flags() & elfcpp::SHF_ALLOC) != 0) +@@ -3703,7 +3703,7 @@ Script_sections::set_section_addresses(Symbol_table* symtab, Layout* layout) + + (*p)->set_section_addresses(symtab, layout, &dot_value, &dot_alignment, + &load_address); +- } ++ } + + if (this->phdrs_elements_ != NULL) + { +@@ -3890,7 +3890,7 @@ Script_sections::create_segments(Layout* layout, uint64_t dot_alignment) + layout->get_allocated_sections(§ions); + + // Sort the sections by address. +- std::stable_sort(sections.begin(), sections.end(), ++ std::stable_sort(sections.begin(), sections.end(), + Sort_output_sections(this->sections_elements_)); + + this->create_note_and_tls_segments(layout, §ions); +@@ -4217,7 +4217,7 @@ Script_sections::attach_sections_using_phdrs_clause(Layout* layout) + // Output sections in the script which do not list segments are + // attached to the same set of segments as the immediately preceding + // output section. +- ++ + String_list* phdr_names = NULL; + bool load_segments_only = false; + for (Sections_elements::const_iterator p = this->sections_elements_->begin(); +@@ -4262,7 +4262,7 @@ Script_sections::attach_sections_using_phdrs_clause(Layout* layout) + // filtering. + if (old_phdr_names != phdr_names) + load_segments_only = false; +- ++ + // If this is an orphan section--one that was not explicitly + // mentioned in the linker script--then it should not inherit + // any segment type other than PT_LOAD. Otherwise, e.g., the +@@ -4459,6 +4459,7 @@ Script_sections::release_segments() + ++p) + (*p)->release_segment(); + } ++ this->segments_created_ = false; + } + + // Print the SECTIONS clause to F for debugging. +diff --git a/gold/script.cc b/gold/script.cc +index d6aa7b2..bb8b437 100644 +--- a/gold/script.cc ++++ b/gold/script.cc +@@ -1755,6 +1755,7 @@ script_keyword_parsecodes[] = + { "FLOAT", FLOAT }, + { "FORCE_COMMON_ALLOCATION", FORCE_COMMON_ALLOCATION }, + { "GROUP", GROUP }, ++ { "HIDDEN", HIDDEN }, + { "HLL", HLL }, + { "INCLUDE", INCLUDE }, + { "INFO", INFO }, +@@ -2696,7 +2697,7 @@ script_add_library(void* closurev, const char* name, size_t length) + + if (name_string[0] != 'l') + gold_error(_("library name must be prefixed with -l")); +- ++ + Input_file_argument file(name_string.c_str() + 1, + Input_file_argument::INPUT_FILE_TYPE_LIBRARY, + "", false, +diff --git a/gold/sparc.cc b/gold/sparc.cc +index dc4612d..8e66b77 100644 +--- a/gold/sparc.cc ++++ b/gold/sparc.cc +@@ -2150,6 +2150,7 @@ Target_sparc::Scan::check_non_pic(Relobj* object, unsigned int + case elfcpp::R_SPARC_RELATIVE: + case elfcpp::R_SPARC_IRELATIVE: + case elfcpp::R_SPARC_COPY: ++ case elfcpp::R_SPARC_32: + case elfcpp::R_SPARC_64: + case elfcpp::R_SPARC_GLOB_DAT: + case elfcpp::R_SPARC_JMP_SLOT: +@@ -3468,6 +3469,13 @@ Target_sparc::Relocate::relocate( + Reloc::lo10(view, object, psymval, addend); + break; + ++ case elfcpp::R_SPARC_GOTDATA_OP_LOX10: ++ if (gdop_valid) ++ { ++ Reloc::gdop_lox10(view, got_offset); ++ break; ++ } ++ /* Fall through. */ + case elfcpp::R_SPARC_GOT10: + Reloc::lo10(view, got_offset, addend); + break; +@@ -3486,13 +3494,6 @@ Target_sparc::Relocate::relocate( + } + break; + +- case elfcpp::R_SPARC_GOTDATA_OP_LOX10: +- if (gdop_valid) +- { +- Reloc::gdop_lox10(view, got_offset); +- break; +- } +- /* Fall through. */ + case elfcpp::R_SPARC_GOT13: + Reloc::rela32_13(view, got_offset, addend); + break; +diff --git a/gold/symtab.cc b/gold/symtab.cc +index 5ce5c31..b31794a 100644 +--- a/gold/symtab.cc ++++ b/gold/symtab.cc +@@ -1325,6 +1325,9 @@ Symbol_table::add_from_relobj( + res = this->add_from_object(relobj, name, name_key, ver, ver_key, + is_default_version, *psym, st_shndx, + is_ordinary, orig_st_shndx); ++ ++ if (res == NULL) ++ continue; + + if (is_forced_local) + this->force_local(res); +@@ -1406,6 +1409,9 @@ Symbol_table::add_from_pluginobj( + is_default_version, *sym, st_shndx, + is_ordinary, st_shndx); + ++ if (res == NULL) ++ return NULL; ++ + if (is_forced_local) + this->force_local(res); + +@@ -1602,6 +1608,9 @@ Symbol_table::add_from_dynobj( + } + } + ++ if (res == NULL) ++ continue; ++ + // Note that it is possible that RES was overridden by an + // earlier object, in which case it can't be aliased here. + if (st_shndx != elfcpp::SHN_UNDEF +@@ -1640,7 +1649,6 @@ Symbol_table::add_from_incrobj( + + Stringpool::Key ver_key = 0; + bool is_default_version = false; +- bool is_forced_local = false; + + Stringpool::Key name_key; + name = this->namepool_.add(name, true, &name_key); +@@ -1650,9 +1658,6 @@ Symbol_table::add_from_incrobj( + is_default_version, *sym, st_shndx, + is_ordinary, st_shndx); + +- if (is_forced_local) +- this->force_local(res); +- + return res; + } + +diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am +index c8d3093..3b97673 100644 +--- a/gold/testsuite/Makefile.am ++++ b/gold/testsuite/Makefile.am +@@ -1192,11 +1192,11 @@ pr20216a.so: pr20216_gd.o pr20216_ld.o gcctestdir/ld + pr20216b.so: pr20216_def.o gcctestdir/ld + $(LINK) -Bgcctestdir/ -shared pr20216_def.o + +-pr20216_gd.o: pr20216_gd.S +- $(COMPILE) -c -o $@ $< ++pr20216_gd.o: pr20216_gd.S gcctestdir/as ++ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + +-pr20216_ld.o: pr20216_ld.S +- $(COMPILE) -c -o $@ $< ++pr20216_ld.o: pr20216_ld.S gcctestdir/as ++ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + + endif DEFAULT_TARGET_X86_64_OR_X32 + +@@ -1297,11 +1297,11 @@ pr20308a.so: pr20308_gd.o pr20308_ld.o gcctestdir/ld + pr20308b.so: pr20308_def.o gcctestdir/ld + $(LINK) -Bgcctestdir/ -shared pr20308_def.o + +-pr20308_gd.o: pr20308_gd.S +- $(COMPILE) -c -o $@ $< ++pr20308_gd.o: pr20308_gd.S gcctestdir/as ++ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + +-pr20308_ld.o: pr20308_ld.S +- $(COMPILE) -c -o $@ $< ++pr20308_ld.o: pr20308_ld.S gcctestdir/as ++ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + + endif DEFAULT_TARGET_I386 + +diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in +index 4185287..bb6f44d 100644 +--- a/gold/testsuite/Makefile.in ++++ b/gold/testsuite/Makefile.in +@@ -6145,11 +6145,11 @@ uninstall-am: + @DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b.so: pr20216_def.o gcctestdir/ld + @DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared pr20216_def.o + +-@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_gd.o: pr20216_gd.S +-@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< ++@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_gd.o: pr20216_gd.S gcctestdir/as ++@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + +-@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_ld.o: pr20216_ld.S +-@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< ++@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_ld.o: pr20216_ld.S gcctestdir/as ++@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + + @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@i386_mov_to_lea1.o: i386_mov_to_lea1.s + @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AS) --32 -o $@ $< +@@ -6200,11 +6200,11 @@ uninstall-am: + @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308b.so: pr20308_def.o gcctestdir/ld + @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared pr20308_def.o + +-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_gd.o: pr20308_gd.S +-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< ++@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_gd.o: pr20308_gd.S gcctestdir/as ++@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + +-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_ld.o: pr20308_ld.S +-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< ++@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_ld.o: pr20308_ld.S gcctestdir/as ++@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -Bgcctestdir/ -c -o $@ $< + @GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_define.h: + @GCC_TRUE@@NATIVE_LINKER_TRUE@ (for i in `seq 1 70000`; do \ + @GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "int var_$$i __attribute__((section(\"section_$$i\"))) = $$i;"; \ +diff --git a/gold/x86_64.cc b/gold/x86_64.cc +index 6aa489a..8d494ea 100644 +--- a/gold/x86_64.cc ++++ b/gold/x86_64.cc +@@ -3505,6 +3505,7 @@ Target_x86_64::Relocate::relocate( + if (this->skip_call_tls_get_addr_) + { + if ((r_type != elfcpp::R_X86_64_PLT32 ++ && r_type != elfcpp::R_X86_64_GOTPCREL + && r_type != elfcpp::R_X86_64_GOTPCRELX + && r_type != elfcpp::R_X86_64_PLT32_BND + && r_type != elfcpp::R_X86_64_PC32_BND +@@ -3514,6 +3515,7 @@ Target_x86_64::Relocate::relocate( + { + gold_error_at_location(relinfo, relnum, rela.get_r_offset(), + _("missing expected TLS relocation")); ++ this->skip_call_tls_get_addr_ = false; + } + else + { +diff --git a/gold/yyscript.y b/gold/yyscript.y +index 7e6bd27..38831d5 100644 +--- a/gold/yyscript.y ++++ b/gold/yyscript.y +@@ -137,6 +137,7 @@ + %token FORCE_COMMON_ALLOCATION + %token GLOBAL /* global */ + %token GROUP ++%token HIDDEN + %token HLL + %token INCLUDE + %token INHIBIT_COMMON_ALLOCATION +@@ -864,6 +865,8 @@ assignment: + Expression_ptr e = script_exp_binary_bitwise_or(s, $3); + script_set_symbol(closure, $1.value, $1.length, e, 0, 0); + } ++ | HIDDEN '(' string '=' parse_exp ')' ++ { script_set_symbol(closure, $3.value, $3.length, $5, 0, 1); } + | PROVIDE '(' string '=' parse_exp ')' + { script_set_symbol(closure, $3.value, $3.length, $5, 1, 0); } + | PROVIDE_HIDDEN '(' string '=' parse_exp ')' +diff --git a/gprof/ChangeLog b/gprof/ChangeLog +index a02b3ce..19c596a 100644 +--- a/gprof/ChangeLog ++++ b/gprof/ChangeLog +@@ -2,6 +2,10 @@ + + * configure: Regenerate. + ++2016-08-03 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2016-07-01 Tristan Gingold + + * configure: Regenerate. +diff --git a/gprof/configure b/gprof/configure +index 4c17248..bf3ecaa 100755 +--- a/gprof/configure ++++ b/gprof/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.64 for gprof 2.27. ++# Generated by GNU Autoconf 2.64 for gprof 2.27.0. + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +@@ -556,8 +556,8 @@ MAKEFLAGS= + # Identity of this package. + PACKAGE_NAME='gprof' + PACKAGE_TARNAME='gprof' +-PACKAGE_VERSION='2.27' +-PACKAGE_STRING='gprof 2.27' ++PACKAGE_VERSION='2.27.0' ++PACKAGE_STRING='gprof 2.27.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1301,7 +1301,7 @@ if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures gprof 2.27 to adapt to many kinds of systems. ++\`configure' configures gprof 2.27.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1372,7 +1372,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of gprof 2.27:";; ++ short | recursive ) echo "Configuration of gprof 2.27.0:";; + esac + cat <<\_ACEOF + +@@ -1478,7 +1478,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-gprof configure 2.27 ++gprof configure 2.27.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -1843,7 +1843,7 @@ cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by gprof $as_me 2.27, which was ++It was created by gprof $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3652,7 +3652,7 @@ fi + + # Define the identity of the package. + PACKAGE='gprof' +- VERSION='2.27' ++ VERSION='2.27.0' + + + cat >>confdefs.h <<_ACEOF +@@ -12743,7 +12743,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by gprof $as_me 2.27, which was ++This file was extended by gprof $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -12807,7 +12807,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-gprof config.status 2.27 ++gprof config.status 2.27.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +diff --git a/ld/ChangeLog b/ld/ChangeLog +index a57cd66..82c6344 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,29 @@ ++2016-08-09 Roland McGrath ++ ++ * emulparams/armelf.sh (GENERATE_PIE_SCRIPT): Set to yes. ++ ++2016-08-02 Nick Clifton ++ ++ PR ld/17739 ++ * emulparams/shelf.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): Define with ++ valye 'yes'. ++ * emulparams/shelf32.sh: Likewise. ++ * emulparams/shelf32.sh: Likewise. ++ * emulparams/shelf_nto.sh: Likewise. ++ * emulparams/shelf_nto.sh: Likewise. ++ * emulparams/shelf_vxworks.sh: Likewise. ++ * emulparams/shelf_vxworks.sh: Likewise. ++ * emulparams/shlelf32_linux.sh: Likewise. ++ * emulparams/shlelf32_linux.sh: Likewise. ++ * emulparams/shlelf_linux.sh: Likewise. ++ * emulparams/shlelf_linux.sh: Likewise. ++ * emulparams/shlelf_nto.sh: Likewise. ++ * emulparams/shlelf_nto.sh: Likewise. ++ ++2016-08-03 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2016-08-03 Tristan Gingold + + * configure: Regenerate. +diff --git a/ld/configure b/ld/configure +index c6f871d..f9be51a 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.64 for ld 2.27. ++# Generated by GNU Autoconf 2.64 for ld 2.27.0. + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +@@ -556,8 +556,8 @@ MAKEFLAGS= + # Identity of this package. + PACKAGE_NAME='ld' + PACKAGE_TARNAME='ld' +-PACKAGE_VERSION='2.27' +-PACKAGE_STRING='ld 2.27' ++PACKAGE_VERSION='2.27.0' ++PACKAGE_STRING='ld 2.27.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1353,7 +1353,7 @@ if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures ld 2.27 to adapt to many kinds of systems. ++\`configure' configures ld 2.27.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1424,7 +1424,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of ld 2.27:";; ++ short | recursive ) echo "Configuration of ld 2.27.0:";; + esac + cat <<\_ACEOF + +@@ -1549,7 +1549,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-ld configure 2.27 ++ld configure 2.27.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -2258,7 +2258,7 @@ cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by ld $as_me 2.27, which was ++It was created by ld $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -4068,7 +4068,7 @@ fi + + # Define the identity of the package. + PACKAGE='ld' +- VERSION='2.27' ++ VERSION='2.27.0' + + + cat >>confdefs.h <<_ACEOF +@@ -17769,7 +17769,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by ld $as_me 2.27, which was ++This file was extended by ld $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -17833,7 +17833,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-ld config.status 2.27 ++ld config.status 2.27.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh +index 672b208..f581c68 100644 +--- a/ld/emulparams/armelf.sh ++++ b/ld/emulparams/armelf.sh +@@ -21,6 +21,7 @@ OTHER_READONLY_SECTIONS=" + DATA_START_SYMBOLS='__data_start = . ;'; + + GENERATE_SHLIB_SCRIPT=yes ++GENERATE_PIE_SCRIPT=yes + + ARCH=arm + MACHINE= +diff --git a/ld/emulparams/shelf.sh b/ld/emulparams/shelf.sh +index 83680a6..d3f4752 100644 +--- a/ld/emulparams/shelf.sh ++++ b/ld/emulparams/shelf.sh +@@ -11,6 +11,9 @@ MACHINE= + TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes + EMBEDDED=yes ++# PR 17739. Delay checking relocs until after all files have ++# been opened and linker garbage collection has taken place. ++CHECK_RELOCS_AFTER_OPEN_INPUT=yes + + # These are for compatibility with the COFF toolchain. + ENTRY=start +diff --git a/ld/emulparams/shelf32.sh b/ld/emulparams/shelf32.sh +index 966bd30..bf362c5 100644 +--- a/ld/emulparams/shelf32.sh ++++ b/ld/emulparams/shelf32.sh +@@ -11,6 +11,9 @@ ALIGNMENT=8 + TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes + EMBEDDED=yes ++# PR 17739. Delay checking relocs until after all files have ++# been opened and linker garbage collection has taken place. ++CHECK_RELOCS_AFTER_OPEN_INPUT=yes + + DATA_START_SYMBOLS='PROVIDE (___data = .);' + +diff --git a/ld/emulparams/shelf_nto.sh b/ld/emulparams/shelf_nto.sh +index c4d71aa..46efd87 100644 +--- a/ld/emulparams/shelf_nto.sh ++++ b/ld/emulparams/shelf_nto.sh +@@ -9,3 +9,6 @@ TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes + TEXT_START_SYMBOLS='_btext = .;' + ENTRY=_start ++# PR 17739. Delay checking relocs until after all files have ++# been opened and linker garbage collection has taken place. ++CHECK_RELOCS_AFTER_OPEN_INPUT=yes +diff --git a/ld/emulparams/shelf_vxworks.sh b/ld/emulparams/shelf_vxworks.sh +index 77619cb..759ffac 100644 +--- a/ld/emulparams/shelf_vxworks.sh ++++ b/ld/emulparams/shelf_vxworks.sh +@@ -14,6 +14,10 @@ TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes + ENTRY=__start + SYMPREFIX=_ ++# PR 17739. Delay checking relocs until after all files have ++# been opened and linker garbage collection has taken place. ++CHECK_RELOCS_AFTER_OPEN_INPUT=yes ++ + GOT=".got ${RELOCATING-0} : { + PROVIDE(__GLOBAL_OFFSET_TABLE_ = .); + *(.got.plt) *(.got) }" +diff --git a/ld/emulparams/shlelf32_linux.sh b/ld/emulparams/shlelf32_linux.sh +index 81aea39..0327e57 100644 +--- a/ld/emulparams/shlelf32_linux.sh ++++ b/ld/emulparams/shlelf32_linux.sh +@@ -13,7 +13,9 @@ ALIGNMENT=8 + TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes + GENERATE_PIE_SCRIPT=yes +- ++# PR 17739. Delay checking relocs until after all files have ++# been opened and linker garbage collection has taken place. ++CHECK_RELOCS_AFTER_OPEN_INPUT=yes + + DATA_START_SYMBOLS='PROVIDE (___data = .);' + +diff --git a/ld/emulparams/shlelf_linux.sh b/ld/emulparams/shlelf_linux.sh +index c14aae2..4e2a581 100644 +--- a/ld/emulparams/shlelf_linux.sh ++++ b/ld/emulparams/shlelf_linux.sh +@@ -12,6 +12,9 @@ MACHINE= + TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes + GENERATE_PIE_SCRIPT=yes ++# PR 17739. Delay checking relocs until after all files have ++# been opened and linker garbage collection has taken place. ++CHECK_RELOCS_AFTER_OPEN_INPUT=yes + + DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; + +diff --git a/ld/emulparams/shlelf_nto.sh b/ld/emulparams/shlelf_nto.sh +index 16f6508..f8ffc13 100644 +--- a/ld/emulparams/shlelf_nto.sh ++++ b/ld/emulparams/shlelf_nto.sh +@@ -9,3 +9,6 @@ TEMPLATE_NAME=elf32 + GENERATE_SHLIB_SCRIPT=yes + TEXT_START_SYMBOLS='_btext = .;' + ENTRY=_start ++# PR 17739. Delay checking relocs until after all files have ++# been opened and linker garbage collection has taken place. ++CHECK_RELOCS_AFTER_OPEN_INPUT=yes +diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog +index c420bdd..6800704 100644 +--- a/opcodes/ChangeLog ++++ b/opcodes/ChangeLog +@@ -2,6 +2,10 @@ + + * configure: Regenerate. + ++2016-08-03 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2016-07-01 Tristan Gingold + + * configure: Regenerate. +diff --git a/opcodes/configure b/opcodes/configure +index 5a4da06..f615634 100755 +--- a/opcodes/configure ++++ b/opcodes/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.64 for opcodes 2.27. ++# Generated by GNU Autoconf 2.64 for opcodes 2.27.0. + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, + # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +@@ -556,8 +556,8 @@ MAKEFLAGS= + # Identity of this package. + PACKAGE_NAME='opcodes' + PACKAGE_TARNAME='opcodes' +-PACKAGE_VERSION='2.27' +-PACKAGE_STRING='opcodes 2.27' ++PACKAGE_VERSION='2.27.0' ++PACKAGE_STRING='opcodes 2.27.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1321,7 +1321,7 @@ if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures opcodes 2.27 to adapt to many kinds of systems. ++\`configure' configures opcodes 2.27.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1392,7 +1392,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of opcodes 2.27:";; ++ short | recursive ) echo "Configuration of opcodes 2.27.0:";; + esac + cat <<\_ACEOF + +@@ -1499,7 +1499,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-opcodes configure 2.27 ++opcodes configure 2.27.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -1909,7 +1909,7 @@ cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by opcodes $as_me 2.27, which was ++It was created by opcodes $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3718,7 +3718,7 @@ fi + + # Define the identity of the package. + PACKAGE='opcodes' +- VERSION='2.27' ++ VERSION='2.27.0' + + + cat >>confdefs.h <<_ACEOF +@@ -13260,7 +13260,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by opcodes $as_me 2.27, which was ++This file was extended by opcodes $as_me 2.27.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -13324,7 +13324,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-opcodes config.status 2.27 ++opcodes config.status 2.27.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + diff --git a/binutils-2.27.tar.bz2 b/binutils-2.27.tar.bz2 new file mode 100644 index 0000000..e2a3014 --- /dev/null +++ b/binutils-2.27.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 +size 26099568 diff --git a/binutils.changes b/binutils.changes index 8f7b033..ef9ef7e 100644 --- a/binutils.changes +++ b/binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/binutils.spec b/binutils.spec index 6328ea6..8359c44 100644 --- a/binutils.spec +++ b/binutils.spec @@ -35,7 +35,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -82,7 +82,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -97,7 +97,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -153,7 +152,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -173,7 +172,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-aarch64-binutils.changes b/cross-aarch64-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-aarch64-binutils.changes +++ b/cross-aarch64-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-aarch64-binutils.spec b/cross-aarch64-binutils.spec index 0ba3153..2e675ec 100644 --- a/cross-aarch64-binutils.spec +++ b/cross-aarch64-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-arm-binutils.changes b/cross-arm-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-arm-binutils.changes +++ b/cross-arm-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-arm-binutils.spec b/cross-arm-binutils.spec index 86dd61f..68cdbe7 100644 --- a/cross-arm-binutils.spec +++ b/cross-arm-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-avr-binutils.changes b/cross-avr-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-avr-binutils.changes +++ b/cross-avr-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-avr-binutils.spec b/cross-avr-binutils.spec index 62017d7..3a59030 100644 --- a/cross-avr-binutils.spec +++ b/cross-avr-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-epiphany-binutils.changes b/cross-epiphany-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-epiphany-binutils.changes +++ b/cross-epiphany-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-epiphany-binutils.spec b/cross-epiphany-binutils.spec index 23573e9..8619faa 100644 --- a/cross-epiphany-binutils.spec +++ b/cross-epiphany-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-hppa-binutils.changes b/cross-hppa-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-hppa-binutils.changes +++ b/cross-hppa-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-hppa-binutils.spec b/cross-hppa-binutils.spec index 6378a76..cadb2cf 100644 --- a/cross-hppa-binutils.spec +++ b/cross-hppa-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-hppa64-binutils.changes b/cross-hppa64-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-hppa64-binutils.changes +++ b/cross-hppa64-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-hppa64-binutils.spec b/cross-hppa64-binutils.spec index 1eebe89..dd52a34 100644 --- a/cross-hppa64-binutils.spec +++ b/cross-hppa64-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-i386-binutils.changes b/cross-i386-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-i386-binutils.changes +++ b/cross-i386-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-i386-binutils.spec b/cross-i386-binutils.spec index 83530ce..8b6270c 100644 --- a/cross-i386-binutils.spec +++ b/cross-i386-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-ia64-binutils.changes b/cross-ia64-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-ia64-binutils.changes +++ b/cross-ia64-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-ia64-binutils.spec b/cross-ia64-binutils.spec index 64c9cbe..8b2445c 100644 --- a/cross-ia64-binutils.spec +++ b/cross-ia64-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-m68k-binutils.changes b/cross-m68k-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-m68k-binutils.changes +++ b/cross-m68k-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-m68k-binutils.spec b/cross-m68k-binutils.spec index 8bb54d6..55343ce 100644 --- a/cross-m68k-binutils.spec +++ b/cross-m68k-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-mips-binutils.changes b/cross-mips-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-mips-binutils.changes +++ b/cross-mips-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-mips-binutils.spec b/cross-mips-binutils.spec index 8fc84c6..cb715b0 100644 --- a/cross-mips-binutils.spec +++ b/cross-mips-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-ppc-binutils.changes b/cross-ppc-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-ppc-binutils.changes +++ b/cross-ppc-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-ppc-binutils.spec b/cross-ppc-binutils.spec index 2057fbb..e7ebc38 100644 --- a/cross-ppc-binutils.spec +++ b/cross-ppc-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-ppc64-binutils.changes b/cross-ppc64-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-ppc64-binutils.changes +++ b/cross-ppc64-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-ppc64-binutils.spec b/cross-ppc64-binutils.spec index 9fd925a..0c18ffa 100644 --- a/cross-ppc64-binutils.spec +++ b/cross-ppc64-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-ppc64le-binutils.changes b/cross-ppc64le-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-ppc64le-binutils.changes +++ b/cross-ppc64le-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-ppc64le-binutils.spec b/cross-ppc64le-binutils.spec index a4efbec..decdc44 100644 --- a/cross-ppc64le-binutils.spec +++ b/cross-ppc64le-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-rx-binutils.changes b/cross-rx-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-rx-binutils.changes +++ b/cross-rx-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-rx-binutils.spec b/cross-rx-binutils.spec index 2579fe8..e15f2d8 100644 --- a/cross-rx-binutils.spec +++ b/cross-rx-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-s390-binutils.changes b/cross-s390-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-s390-binutils.changes +++ b/cross-s390-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-s390-binutils.spec b/cross-s390-binutils.spec index 5a0e80f..634ddc7 100644 --- a/cross-s390-binutils.spec +++ b/cross-s390-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-s390x-binutils.changes b/cross-s390x-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-s390x-binutils.changes +++ b/cross-s390x-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-s390x-binutils.spec b/cross-s390x-binutils.spec index 5b14fa8..12d7aa8 100644 --- a/cross-s390x-binutils.spec +++ b/cross-s390x-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-sparc-binutils.changes b/cross-sparc-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-sparc-binutils.changes +++ b/cross-sparc-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-sparc-binutils.spec b/cross-sparc-binutils.spec index b33aa1d..eb1b460 100644 --- a/cross-sparc-binutils.spec +++ b/cross-sparc-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-sparc64-binutils.changes b/cross-sparc64-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-sparc64-binutils.changes +++ b/cross-sparc64-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-sparc64-binutils.spec b/cross-sparc64-binutils.spec index 31c0a8e..359072d 100644 --- a/cross-sparc64-binutils.spec +++ b/cross-sparc64-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-spu-binutils.changes b/cross-spu-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-spu-binutils.changes +++ b/cross-spu-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-spu-binutils.spec b/cross-spu-binutils.spec index 23ceff3..07e08cb 100644 --- a/cross-spu-binutils.spec +++ b/cross-spu-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/cross-x86_64-binutils.changes b/cross-x86_64-binutils.changes index 8f7b033..ef9ef7e 100644 --- a/cross-x86_64-binutils.changes +++ b/cross-x86_64-binutils.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + * The NOCROSSREFSTO command was added to the linker script language. + * Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply + link-time values for dynamic relocations. +- Add binutils-2.27-branch.diff with fixes on the branch sofar. +- Remove gold-relocate-tls.patch, included in binutils 2.27. + ------------------------------------------------------------------- Wed Jul 6 11:28:48 UTC 2016 - rguenther@suse.com diff --git a/cross-x86_64-binutils.spec b/cross-x86_64-binutils.spec index 21cf01c..1d08f4b 100644 --- a/cross-x86_64-binutils.spec +++ b/cross-x86_64-binutils.spec @@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.26.1 +Version: 2.27 Release: 0 # # RUN_TESTS @@ -85,7 +85,7 @@ Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -#Patch: binutils-2.26-branch.diff +Patch: binutils-2.27-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -100,7 +100,6 @@ Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -Patch35: gold-relocate-tls.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -156,7 +155,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version -#%patch -p1 +%patch -p1 %if !%{test_vanilla} %patch3 %patch4 @@ -176,7 +175,6 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch18 %patch22 %patch34 -p1 -%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/gold-relocate-tls.patch b/gold-relocate-tls.patch deleted file mode 100644 index 90663b5..0000000 --- a/gold-relocate-tls.patch +++ /dev/null @@ -1,165 +0,0 @@ -From d21f123b0ead1806416cf0dafae12bec4cca8920 Mon Sep 17 00:00:00 2001 -From: Cary Coutant -Date: Mon, 11 Jan 2016 23:57:44 -0800 -Subject: [PATCH] Fix internal error when applying TLSDESC relocations with no - TLS segment. - -gold/ - PR gold/19353 - * aarch64.cc (Target_aarch64::relocate_tls): Don't insist that - we have a TLS segment for GD-to-IE optimization. - * i386.cc (Target_i386::tls_gd_to_ie): Remove tls_segment parameter. - Adjust all calls. - (Target_i386::tls_desc_gd_to_ie): Likewise. - (Target_i386::relocate_tls): Don't insist that we have a TLS segment - for TLSDESC GD-to-IE optimizations. - * x86_64.cc (Target_x86_64::tls_gd_to_ie): Remove tls_segment parameter. - Adjust all calls. - (Target_x86_64::tls_desc_gd_to_ie): Likewise. - (Target_x86_64::relocate_tls): Don't insist that we have a TLS segment - for TLSDESC GD-to-IE optimizations. ---- - gold/ChangeLog | 16 ++++++++++++++++ - gold/aarch64.cc | 6 ------ - gold/i386.cc | 14 ++------------ - gold/x86_64.cc | 14 ++------------ - 4 files changed, 20 insertions(+), 30 deletions(-) - -Index: binutils-2.25.0/gold/aarch64.cc -=================================================================== ---- binutils-2.25.0.orig/gold/aarch64.cc -+++ binutils-2.25.0/gold/aarch64.cc -@@ -3689,12 +3689,6 @@ Target_aarch64::Reloca - } - if (tlsopt == tls::TLSOPT_TO_IE) - { -- if (tls_segment == NULL) -- { -- gold_assert(parameters->errors()->error_count() > 0 -- || issue_undefined_symbol_error(gsym)); -- return aarch64_reloc_funcs::STATUS_BAD_RELOC; -- } - return tls_desc_gd_to_ie(relinfo, target, rela, r_type, - view, psymval, got_entry_address, - address); -Index: binutils-2.25.0/gold/i386.cc -=================================================================== ---- binutils-2.25.0.orig/gold/i386.cc -+++ binutils-2.25.0/gold/i386.cc -@@ -654,7 +654,6 @@ class Target_i386 : public Sized_target< - // Do a TLS General-Dynamic to Initial-Exec transition. - inline void - tls_gd_to_ie(const Relocate_info<32, false>*, size_t relnum, -- Output_segment* tls_segment, - const elfcpp::Rel<32, false>&, unsigned int r_type, - elfcpp::Elf_types<32>::Elf_Addr value, - unsigned char* view, -@@ -673,7 +672,6 @@ class Target_i386 : public Sized_target< - // transition. - inline void - tls_desc_gd_to_ie(const Relocate_info<32, false>*, size_t relnum, -- Output_segment* tls_segment, - const elfcpp::Rel<32, false>&, unsigned int r_type, - elfcpp::Elf_types<32>::Elf_Addr value, - unsigned char* view, -@@ -2944,7 +2942,7 @@ Target_i386::Relocate::relocate_tls(cons - } - if (optimized_type == tls::TLSOPT_TO_IE) - { -- this->tls_gd_to_ie(relinfo, relnum, tls_segment, rel, r_type, -+ this->tls_gd_to_ie(relinfo, relnum, rel, r_type, - got_offset, view, view_size); - break; - } -@@ -3006,13 +3004,7 @@ Target_i386::Relocate::relocate_tls(cons - } - if (optimized_type == tls::TLSOPT_TO_IE) - { -- if (tls_segment == NULL) -- { -- gold_assert(parameters->errors()->error_count() > 0 -- || issue_undefined_symbol_error(gsym)); -- return; -- } -- this->tls_desc_gd_to_ie(relinfo, relnum, tls_segment, rel, r_type, -+ this->tls_desc_gd_to_ie(relinfo, relnum, rel, r_type, - got_offset, view, view_size); - break; - } -@@ -3244,7 +3236,6 @@ Target_i386::Relocate::tls_gd_to_le(cons - inline void - Target_i386::Relocate::tls_gd_to_ie(const Relocate_info<32, false>* relinfo, - size_t relnum, -- Output_segment*, - const elfcpp::Rel<32, false>& rel, - unsigned int, - elfcpp::Elf_types<32>::Elf_Addr value, -@@ -3350,7 +3341,6 @@ inline void - Target_i386::Relocate::tls_desc_gd_to_ie( - const Relocate_info<32, false>* relinfo, - size_t relnum, -- Output_segment*, - const elfcpp::Rel<32, false>& rel, - unsigned int r_type, - elfcpp::Elf_types<32>::Elf_Addr value, -Index: binutils-2.25.0/gold/x86_64.cc -=================================================================== ---- binutils-2.25.0.orig/gold/x86_64.cc -+++ binutils-2.25.0/gold/x86_64.cc -@@ -798,7 +798,6 @@ class Target_x86_64 : public Sized_targe - // Do a TLS General-Dynamic to Initial-Exec transition. - inline void - tls_gd_to_ie(const Relocate_info*, size_t relnum, -- Output_segment* tls_segment, - const elfcpp::Rela&, unsigned int r_type, - typename elfcpp::Elf_types::Elf_Addr value, - unsigned char* view, -@@ -817,7 +816,6 @@ class Target_x86_64 : public Sized_targe - // Do a TLSDESC-style General-Dynamic to Initial-Exec transition. - inline void - tls_desc_gd_to_ie(const Relocate_info*, size_t relnum, -- Output_segment* tls_segment, - const elfcpp::Rela&, unsigned int r_type, - typename elfcpp::Elf_types::Elf_Addr value, - unsigned char* view, -@@ -3613,7 +3611,7 @@ Target_x86_64::Relocate::relocate_ - if (optimized_type == tls::TLSOPT_TO_IE) - { - value = target->got_plt_section()->address() + got_offset; -- this->tls_gd_to_ie(relinfo, relnum, tls_segment, rela, r_type, -+ this->tls_gd_to_ie(relinfo, relnum, rela, r_type, - value, view, address, view_size); - break; - } -@@ -3680,14 +3678,8 @@ Target_x86_64::Relocate::relocate_ - } - if (optimized_type == tls::TLSOPT_TO_IE) - { -- if (tls_segment == NULL) -- { -- gold_assert(parameters->errors()->error_count() > 0 -- || issue_undefined_symbol_error(gsym)); -- return; -- } - value = target->got_plt_section()->address() + got_offset; -- this->tls_desc_gd_to_ie(relinfo, relnum, tls_segment, -+ this->tls_desc_gd_to_ie(relinfo, relnum, - rela, r_type, value, view, address, - view_size); - break; -@@ -3843,7 +3835,6 @@ inline void - Target_x86_64::Relocate::tls_gd_to_ie( - const Relocate_info* relinfo, - size_t relnum, -- Output_segment*, - const elfcpp::Rela& rela, - unsigned int, - typename elfcpp::Elf_types::Elf_Addr value, -@@ -3955,7 +3946,6 @@ inline void - Target_x86_64::Relocate::tls_desc_gd_to_ie( - const Relocate_info* relinfo, - size_t relnum, -- Output_segment*, - const elfcpp::Rela& rela, - unsigned int r_type, - typename elfcpp::Elf_types::Elf_Addr value,