diff --git a/aarch64-alignment-frags.patch b/aarch64-alignment-frags.patch deleted file mode 100644 index 907e10f..0000000 --- a/aarch64-alignment-frags.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 7ea12e5c3ad54da440c08f32da09534e63e515ca Mon Sep 17 00:00:00 2001 -From: Nick Clifton -Date: Fri, 5 Aug 2016 10:37:57 +0100 -Subject: [PATCH] Fix the generation of alignment frags in code sections for - AArch64. - - PR gas/20364 - * config/tc-aarch64.c (s_ltorg): Change the mapping state after - aligning the frag. - (aarch64_init): Treat rs_align frags in code sections as - containing code, not data. - * testsuite/gas/aarch64/pr20364.s: New test. - * testsuite/gas/aarch64/pr20364.d: New test driver. ---- - gas/ChangeLog | 10 ++++++++++ - gas/config/tc-aarch64.c | 10 +++++++--- - gas/testsuite/gas/aarch64/pr20364.d | 13 +++++++++++++ - gas/testsuite/gas/aarch64/pr20364.s | 28 ++++++++++++++++++++++++++++ - 4 files changed, 58 insertions(+), 3 deletions(-) - create mode 100644 gas/testsuite/gas/aarch64/pr20364.d - create mode 100644 gas/testsuite/gas/aarch64/pr20364.s - -Index: binutils-2.27/gas/config/tc-aarch64.c -=================================================================== ---- binutils-2.27.orig/gas/config/tc-aarch64.c -+++ binutils-2.27/gas/config/tc-aarch64.c -@@ -1736,13 +1736,13 @@ s_ltorg (int ignored ATTRIBUTE_UNUSED) - if (pool == NULL || pool->symbol == NULL || pool->next_free_entry == 0) - continue; - -- mapping_state (MAP_DATA); -- - /* Align pool as you have word accesses. - Only make a frag if we have to. */ - if (!need_pass_2) - frag_align (align, 0, 0); - -+ mapping_state (MAP_DATA); -+ - record_alignment (now_seg, align); - - sprintf (sym_name, "$$lit_\002%x", pool->id); -@@ -6373,11 +6373,15 @@ aarch64_init_frag (fragS * fragP, int ma - - switch (fragP->fr_type) - { -- case rs_align: - case rs_align_test: - case rs_fill: - mapping_state_2 (MAP_DATA, max_chars); - break; -+ case rs_align: -+ /* PR 20364: We can get alignment frags in code sections, -+ so do not just assume that we should use the MAP_DATA state. */ -+ mapping_state_2 (subseg_text_p (now_seg) ? MAP_INSN : MAP_DATA, max_chars); -+ break; - case rs_align_code: - mapping_state_2 (MAP_INSN, max_chars); - break; -Index: binutils-2.27/gas/testsuite/gas/aarch64/pr20364.d -=================================================================== ---- /dev/null -+++ binutils-2.27/gas/testsuite/gas/aarch64/pr20364.d -@@ -0,0 +1,13 @@ -+# Check that ".align , " does not set the mapping state to DATA, causing unnecessary frag generation. -+#name: PR20364 -+#objdump: -d -+ -+.*: file format .* -+ -+Disassembly of section \.vectors: -+ -+0+000 <.*>: -+ 0: d2800000 mov x0, #0x0 // #0 -+ 4: 94000000 bl 0 -+ 8: 17fffffe b 0 -+ -Index: binutils-2.27/gas/testsuite/gas/aarch64/pr20364.s -=================================================================== ---- /dev/null -+++ binutils-2.27/gas/testsuite/gas/aarch64/pr20364.s -@@ -0,0 +1,28 @@ -+ .macro vector_base label -+ .section .vectors, "ax" -+ .align 11, 0 -+ \label: -+ .endm -+ -+ .macro vector_entry label -+ .section .vectors, "ax" -+ .align 7, 0 -+ \label: -+ .endm -+ -+ .macro check_vector_size since -+ .if (. - \since) > (32 * 4) -+ .error "Vector exceeds 32 instructions" -+ .endif -+ .endm -+ -+ .globl bl1_exceptions -+ -+vector_base bl1_exceptions -+ -+vector_entry SynchronousExceptionSP0 -+ mov x0, #0x0 -+ bl plat_report_exception -+ b SynchronousExceptionSP0 -+ check_vector_size SynchronousExceptionSP0 -+ diff --git a/binutils-2.27-branch.diff b/binutils-2.27-branch.diff deleted file mode 100644 index 8fb9787..0000000 --- a/binutils-2.27-branch.diff +++ /dev/null @@ -1,2921 +0,0 @@ -diff --git a/bfd/ChangeLog b/bfd/ChangeLog -index 4f859c5..2eb6f2a 100644 ---- a/bfd/ChangeLog -+++ b/bfd/ChangeLog -@@ -1,3 +1,80 @@ -+2016-10-31 Alan Modra -+ -+ PR 20748 -+ * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert -+ 2016-05-13 change. -+ -+2016-10-10 Christophe Lyon -+ Backport from mainline -+ 2016-09-28 Christophe Lyon -+ -+ PR ld/20608 -+ * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT -+ Thumb-ARM stub is too far. -+ -+2016-09-06 Senthil Kumar Selvaraj -+ -+ Backport from mainline -+ 2016-09-02 Senthil Kumar Selvaraj -+ -+ PR ld/20545 -+ * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter -+ delete_shrinks_insn. Modify computation of shrinked_insn_address. -+ Compute shrink_boundary and adjust addend only if -+ addend_within_shrink_boundary. -+ (elf32_avr_relax_section): Modify calls to -+ elf32_avr_relax_delete_bytes to pass extra parameter. -+ -+2016-09-01 Alan Modra -+ -+ * elf64-ppc.c (synthetic_opd): New static var. -+ (compare_symbols): Don't treat symbols in .opd specially for ELFv2. -+ (ppc64_elf_get_synthetic_symtab): Likewise. Comment. -+ -+2016-08-30 Alan Modra -+ -+ PR 20531 -+ * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break". -+ -+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-arm.c b/bfd/elf32-arm.c -index 3d4a458..700bec3 100644 ---- a/bfd/elf32-arm.c -+++ b/bfd/elf32-arm.c -@@ -3877,17 +3877,43 @@ arm_type_of_stub (struct bfd_link_info *info, - /* Note when dealing with PLT entries: the main PLT stub is in - ARM mode, so if the branch is in Thumb mode, another - Thumb->ARM stub will be inserted later just before the ARM -- PLT stub. We don't take this extra distance into account -- here, because if a long branch stub is needed, we'll add a -- Thumb->Arm one and branch directly to the ARM PLT entry -- because it avoids spreading offset corrections in several -- places. */ -+ PLT stub. If a long branch stub is needed, we'll add a -+ Thumb->Arm one and branch directly to the ARM PLT entry. -+ Here, we have to check if a pre-PLT Thumb->ARM stub -+ is needed and if it will be close enough. */ - - destination = (splt->output_section->vma - + splt->output_offset - + root_plt->offset); - st_type = STT_FUNC; -- branch_type = ST_BRANCH_TO_ARM; -+ -+ /* Thumb branch/call to PLT: it can become a branch to ARM -+ or to Thumb. We must perform the same checks and -+ corrections as in elf32_arm_final_link_relocate. */ -+ if ((r_type == R_ARM_THM_CALL) -+ || (r_type == R_ARM_THM_JUMP24)) -+ { -+ if (globals->use_blx -+ && r_type == R_ARM_THM_CALL -+ && !thumb_only) -+ { -+ /* If the Thumb BLX instruction is available, convert -+ the BL to a BLX instruction to call the ARM-mode -+ PLT entry. */ -+ branch_type = ST_BRANCH_TO_ARM; -+ } -+ else -+ { -+ if (!thumb_only) -+ /* Target the Thumb stub before the ARM PLT entry. */ -+ destination -= PLT_THUMB_STUB_SIZE; -+ branch_type = ST_BRANCH_TO_THUMB; -+ } -+ } -+ else -+ { -+ branch_type = ST_BRANCH_TO_ARM; -+ } - } - } - /* Calls to STT_GNU_IFUNC symbols should go through a PLT. */ -@@ -3923,6 +3949,15 @@ arm_type_of_stub (struct bfd_link_info *info, - || (r_type == R_ARM_THM_JUMP19)) - && !use_plt)) - { -+ /* If we need to insert a Thumb-Thumb long branch stub to a -+ PLT, use one that branches directly to the ARM PLT -+ stub. If we pretended we'd use the pre-PLT Thumb->ARM -+ stub, undo this now. */ -+ if ((branch_type == ST_BRANCH_TO_THUMB) && use_plt && !thumb_only) { -+ branch_type = ST_BRANCH_TO_ARM; -+ branch_offset += PLT_THUMB_STUB_SIZE; -+ } -+ - if (branch_type == ST_BRANCH_TO_THUMB) - { - /* Thumb to thumb. */ -diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c -index a0a5c69..eea76a4 100644 ---- a/bfd/elf32-avr.c -+++ b/bfd/elf32-avr.c -@@ -1808,13 +1808,17 @@ elf32_avr_adjust_diff_reloc_value (bfd *abfd, - /* Delete some bytes from a section while changing the size of an instruction. - The parameter "addr" denotes the section-relative offset pointing just - behind the shrinked instruction. "addr+count" point at the first -- byte just behind the original unshrinked instruction. */ -+ byte just behind the original unshrinked instruction. If delete_shrinks_insn -+ is FALSE, we are deleting redundant padding bytes from relax_info prop -+ record handling. In that case, addr is section-relative offset of start -+ of padding, and count is the number of padding bytes to delete. */ - - static bfd_boolean - elf32_avr_relax_delete_bytes (bfd *abfd, - asection *sec, - bfd_vma addr, -- int count) -+ int count, -+ bfd_boolean delete_shrinks_insn) - { - Elf_Internal_Shdr *symtab_hdr; - unsigned int sec_shndx; -@@ -1829,6 +1833,7 @@ elf32_avr_relax_delete_bytes (bfd *abfd, - struct avr_relax_info *relax_info; - struct avr_property_record *prop_record = NULL; - bfd_boolean did_shrink = FALSE; -+ bfd_boolean did_pad = FALSE; - - symtab_hdr = &elf_tdata (abfd)->symtab_hdr; - sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec); -@@ -1909,6 +1914,7 @@ elf32_avr_relax_delete_bytes (bfd *abfd, - to remember we didn't delete anything i.e. don't set did_shrink, - so that we don't corrupt reloc offsets or symbol values.*/ - memset (contents + toaddr - count, fill, count); -+ did_pad = TRUE; - - /* Adjust the TOADDR to avoid moving symbols located at the address - of the property record, which has not moved. */ -@@ -1965,7 +1971,9 @@ elf32_avr_relax_delete_bytes (bfd *abfd, - continue; - - shrinked_insn_address = (sec->output_section->vma -- + sec->output_offset + addr - count); -+ + sec->output_offset + addr); -+ if (delete_shrinks_insn) -+ shrinked_insn_address -= count; - - irel = elf_section_data (isec)->relocs; - /* PR 12161: Read in the relocs for this section if necessary. */ -@@ -2002,6 +2010,13 @@ elf32_avr_relax_delete_bytes (bfd *abfd, - a symbol or section associated with it. */ - if (sym_sec == sec) - { -+ /* If there is an alignment boundary, we only need to -+ adjust addends that end up below the boundary. */ -+ bfd_vma shrink_boundary = (reloc_toaddr -+ + sec->output_section->vma -+ + sec->output_offset); -+ bfd_boolean addend_within_shrink_boundary = FALSE; -+ - symval += sym_sec->output_section->vma - + sym_sec->output_offset; - -@@ -2015,8 +2030,17 @@ elf32_avr_relax_delete_bytes (bfd *abfd, - (unsigned int) (symval + irel->r_addend), - (unsigned int) shrinked_insn_address); - -+ /* If we padded bytes, then the boundary didn't change, -+ so there's no need to adjust addends pointing at the boundary. -+ If we didn't pad, then we actually shrank the boundary, so -+ addends pointing at the boundary need to be adjusted too. */ -+ addend_within_shrink_boundary = did_pad -+ ? ((symval + irel->r_addend) < shrink_boundary) -+ : ((symval + irel->r_addend) <= shrink_boundary); -+ - if (symval <= shrinked_insn_address -- && (symval + irel->r_addend) > shrinked_insn_address) -+ && (symval + irel->r_addend) > shrinked_insn_address -+ && addend_within_shrink_boundary) - { - if (elf32_avr_is_diff_reloc (irel)) - { -@@ -2648,7 +2672,8 @@ elf32_avr_relax_section (bfd *abfd, - { - /* Delete two bytes of data. */ - if (!elf32_avr_relax_delete_bytes (abfd, sec, -- irel->r_offset + 2, 2)) -+ irel->r_offset + 2, 2, -+ TRUE)) - goto error_return; - - /* That will change things, so, we should relax again. -@@ -2972,7 +2997,8 @@ elf32_avr_relax_section (bfd *abfd, - - /* Delete two bytes of data. */ - if (!elf32_avr_relax_delete_bytes (abfd, sec, -- irel->r_offset + insn_size, 2)) -+ irel->r_offset + insn_size, 2, -+ TRUE)) - goto error_return; - - /* That will change things, so, we should relax -@@ -3040,7 +3066,7 @@ elf32_avr_relax_section (bfd *abfd, - record->offset -= count; - elf32_avr_relax_delete_bytes (abfd, sec, - addr - count, -- count); -+ count, FALSE); - *again = TRUE; - } - } -diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c -index 5496d16..d964e17 100644 ---- a/bfd/elf32-microblaze.c -+++ b/bfd/elf32-microblaze.c -@@ -3400,13 +3400,13 @@ microblaze_elf_finish_dynamic_sections (bfd *output_bfd, - { - asection *s; - -- s = bfd_get_linker_section (dynobj, name); -+ s = bfd_get_section_by_name (output_bfd, name); - if (s == NULL) - dyn.d_un.d_val = 0; - else - { - if (! size) -- dyn.d_un.d_ptr = s->output_section->vma + s->output_offset; -+ dyn.d_un.d_ptr = s->vma; - else - dyn.d_un.d_val = s->size; - } -diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c -index 95ce1dc..e42ef1c 100644 ---- a/bfd/elf32-ppc.c -+++ b/bfd/elf32-ppc.c -@@ -2246,6 +2246,7 @@ _bfd_elf_ppc_set_arch (bfd *abfd) - case PPC_APUINFO_BRLOCK: - if (mach != bfd_mach_ppc_vle) - mach = bfd_mach_ppc_e500; -+ break; - - case PPC_APUINFO_VLE: - mach = bfd_mach_ppc_vle; -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..d236732 100644 ---- a/bfd/elf64-ppc.c -+++ b/bfd/elf64-ppc.c -@@ -3085,6 +3085,7 @@ get_opd_info (asection * sec) - - /* Parameters for the qsort hook. */ - static bfd_boolean synthetic_relocatable; -+static asection *synthetic_opd; - - /* qsort comparison function for ppc64_elf_get_synthetic_symtab. */ - -@@ -3101,12 +3102,15 @@ compare_symbols (const void *ap, const void *bp) - return 1; - - /* then .opd symbols. */ -- if (strcmp (a->section->name, ".opd") == 0 -- && strcmp (b->section->name, ".opd") != 0) -- return -1; -- if (strcmp (a->section->name, ".opd") != 0 -- && strcmp (b->section->name, ".opd") == 0) -- return 1; -+ if (synthetic_opd != NULL) -+ { -+ if (strcmp (a->section->name, ".opd") == 0 -+ && strcmp (b->section->name, ".opd") != 0) -+ return -1; -+ if (strcmp (a->section->name, ".opd") != 0 -+ && strcmp (b->section->name, ".opd") == 0) -+ return 1; -+ } - - /* then other code symbols. */ - if ((a->section->flags & (SEC_CODE | SEC_ALLOC | SEC_THREAD_LOCAL)) -@@ -3265,6 +3269,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, - memcpy (syms, static_syms, (symcount + 1) * sizeof (*syms)); - - synthetic_relocatable = relocatable; -+ synthetic_opd = opd; - qsort (syms, symcount, sizeof (*syms), compare_symbols); - - if (!relocatable && symcount > 1) -@@ -3281,7 +3286,11 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, - } - - i = 0; -- if (strcmp (syms[i]->section->name, ".opd") == 0) -+ /* Note that here and in compare_symbols we can't compare opd and -+ sym->section directly. With separate debug info files, the -+ symbols will be extracted from the debug file while abfd passed -+ to this function is the real binary. */ -+ if (opd != NULL && strcmp (syms[i]->section->name, ".opd") == 0) - ++i; - codesecsym = i; - -@@ -3297,9 +3306,10 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, - break; - secsymend = i; - -- for (; i < symcount; ++i) -- if (strcmp (syms[i]->section->name, ".opd") != 0) -- break; -+ if (opd != NULL) -+ for (; i < symcount; ++i) -+ if (strcmp (syms[i]->section->name, ".opd") != 0) -+ break; - opdsymend = i; - - for (; i < symcount; ++i) -@@ -5081,7 +5091,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 +7112,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 +7132,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 +7192,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 +7245,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 +9560,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 +9639,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 +9664,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 +9695,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 +9852,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 +14705,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..b032cc5 100644 ---- a/bfd/version.h -+++ b/bfd/version.h -@@ -1,4 +1,4 @@ --#define BFD_VERSION_DATE 20160803 -+#define BFD_VERSION_DATE 20161129 - #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..50fcf52 100644 ---- a/gas/ChangeLog -+++ b/gas/ChangeLog -@@ -1,3 +1,31 @@ -+2016-09-16 Peter Bergner -+ -+ Apply from master. -+ 2016-09-14 Peter Bergner -+ -+ * testsuite/gas/ppc/power9.d New tests. -+ : Remove tests. -+ : Update tests. -+ * testsuite/gas/ppc/power9.s: Likewise. -+ -+2016-08-25 Thomas Preud'homme -+ -+ Backport from mainline -+ 2016-08-25 Thomas Preud'homme -+ -+ * config/tc-arm.c (v7m_psrs): Remove msp_s, MSP_S, psp_s and PSP_S -+ special registers. -+ * testsuite/gas/arm/archv8m-cmse-msr.s: Remove test for above special -+ registers. -+ * testsuite/gas/arm/archv8m-cmse-msr-base.d: Likewise. -+ * testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise. -+ * testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise. -+ -+2016-08-03 Tristan Gingold -+ -+ * configure: Regenerate. -+ - 2016-08-03 Tristan Gingold - - * configure: Regenerate. -diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c -index 73d0531..4fa0bfc 100644 ---- a/gas/config/tc-arm.c -+++ b/gas/config/tc-arm.c -@@ -18788,8 +18788,8 @@ static const struct asm_psr v7m_psrs[] = - {"ipsr", 5 }, {"IPSR", 5 }, - {"epsr", 6 }, {"EPSR", 6 }, - {"iepsr", 7 }, {"IEPSR", 7 }, -- {"msp", 8 }, {"MSP", 8 }, {"msp_s", 8 }, {"MSP_S", 8 }, -- {"psp", 9 }, {"PSP", 9 }, {"psp_s", 9 }, {"PSP_S", 9 }, -+ {"msp", 8 }, {"MSP", 8 }, -+ {"psp", 9 }, {"PSP", 9 }, - {"primask", 16}, {"PRIMASK", 16}, - {"basepri", 17}, {"BASEPRI", 17}, - {"basepri_max", 18}, {"BASEPRI_MAX", 18}, -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/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d b/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d -index 4bbb82d..0c46a44 100644 ---- a/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d -+++ b/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d -@@ -7,26 +7,18 @@ - - Disassembly of section .text: - 0+.* <[^>]*> f380 8808 msr MSP, r0 --0+.* <[^>]*> f380 8808 msr MSP, r0 - 0+.* <[^>]*> f380 8888 msr MSP_NS, r0 - 0+.* <[^>]*> f380 8809 msr PSP, r0 --0+.* <[^>]*> f380 8809 msr PSP, r0 - 0+.* <[^>]*> f380 8889 msr PSP_NS, r0 - 0+.* <[^>]*> f380 8808 msr MSP, r0 --0+.* <[^>]*> f380 8808 msr MSP, r0 - 0+.* <[^>]*> f380 8888 msr MSP_NS, r0 - 0+.* <[^>]*> f380 8809 msr PSP, r0 --0+.* <[^>]*> f380 8809 msr PSP, r0 - 0+.* <[^>]*> f380 8889 msr PSP_NS, r0 - 0+.* <[^>]*> f3ef 8008 mrs r0, MSP --0+.* <[^>]*> f3ef 8008 mrs r0, MSP - 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS - 0+.* <[^>]*> f3ef 8009 mrs r0, PSP --0+.* <[^>]*> f3ef 8009 mrs r0, PSP - 0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS - 0+.* <[^>]*> f3ef 8008 mrs r0, MSP --0+.* <[^>]*> f3ef 8008 mrs r0, MSP - 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS - 0+.* <[^>]*> f3ef 8009 mrs r0, PSP --0+.* <[^>]*> f3ef 8009 mrs r0, PSP - 0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS -diff --git a/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d b/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d -index 30a3361..42d3ba9 100644 ---- a/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d -+++ b/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d -@@ -7,26 +7,18 @@ - - Disassembly of section .text: - 0+.* <[^>]*> f380 8808 msr MSP, r0 --0+.* <[^>]*> f380 8808 msr MSP, r0 - 0+.* <[^>]*> f380 8888 msr MSP_NS, r0 - 0+.* <[^>]*> f380 8809 msr PSP, r0 --0+.* <[^>]*> f380 8809 msr PSP, r0 - 0+.* <[^>]*> f380 8889 msr PSP_NS, r0 - 0+.* <[^>]*> f380 8808 msr MSP, r0 --0+.* <[^>]*> f380 8808 msr MSP, r0 - 0+.* <[^>]*> f380 8888 msr MSP_NS, r0 - 0+.* <[^>]*> f380 8809 msr PSP, r0 --0+.* <[^>]*> f380 8809 msr PSP, r0 - 0+.* <[^>]*> f380 8889 msr PSP_NS, r0 - 0+.* <[^>]*> f3ef 8008 mrs r0, MSP --0+.* <[^>]*> f3ef 8008 mrs r0, MSP - 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS - 0+.* <[^>]*> f3ef 8009 mrs r0, PSP --0+.* <[^>]*> f3ef 8009 mrs r0, PSP - 0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS - 0+.* <[^>]*> f3ef 8008 mrs r0, MSP --0+.* <[^>]*> f3ef 8008 mrs r0, MSP - 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS - 0+.* <[^>]*> f3ef 8009 mrs r0, PSP --0+.* <[^>]*> f3ef 8009 mrs r0, PSP - 0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS -diff --git a/gas/testsuite/gas/arm/archv8m-cmse-msr.s b/gas/testsuite/gas/arm/archv8m-cmse-msr.s -index 897be1a..66a3b64 100644 ---- a/gas/testsuite/gas/arm/archv8m-cmse-msr.s -+++ b/gas/testsuite/gas/arm/archv8m-cmse-msr.s -@@ -1,25 +1,17 @@ - T: - msr MSP, r0 --msr MSP_S, r0 - msr MSP_NS, r0 - msr PSP, r0 --msr PSP_S, r0 - msr PSP_NS, r0 - msr msp, r0 --msr msp_s, r0 - msr msp_ns, r0 - msr psp, r0 --msr psp_s, r0 - msr psp_ns, r0 - mrs r0, MSP --mrs r0, MSP_S - mrs r0, MSP_NS - mrs r0, PSP --mrs r0, PSP_S - mrs r0, PSP_NS - mrs r0, msp --mrs r0, msp_s - mrs r0, msp_ns - mrs r0, psp --mrs r0, psp_s - mrs r0, psp_ns -diff --git a/gas/testsuite/gas/arm/archv8m-main-dsp-4.d b/gas/testsuite/gas/arm/archv8m-main-dsp-4.d -index 248f75e..7ebc9c1 100644 ---- a/gas/testsuite/gas/arm/archv8m-main-dsp-4.d -+++ b/gas/testsuite/gas/arm/archv8m-main-dsp-4.d -@@ -7,26 +7,18 @@ - - Disassembly of section .text: - 0+.* <[^>]*> f380 8808 msr MSP, r0 --0+.* <[^>]*> f380 8808 msr MSP, r0 - 0+.* <[^>]*> f380 8888 msr MSP_NS, r0 - 0+.* <[^>]*> f380 8809 msr PSP, r0 --0+.* <[^>]*> f380 8809 msr PSP, r0 - 0+.* <[^>]*> f380 8889 msr PSP_NS, r0 - 0+.* <[^>]*> f380 8808 msr MSP, r0 --0+.* <[^>]*> f380 8808 msr MSP, r0 - 0+.* <[^>]*> f380 8888 msr MSP_NS, r0 - 0+.* <[^>]*> f380 8809 msr PSP, r0 --0+.* <[^>]*> f380 8809 msr PSP, r0 - 0+.* <[^>]*> f380 8889 msr PSP_NS, r0 - 0+.* <[^>]*> f3ef 8008 mrs r0, MSP --0+.* <[^>]*> f3ef 8008 mrs r0, MSP - 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS - 0+.* <[^>]*> f3ef 8009 mrs r0, PSP --0+.* <[^>]*> f3ef 8009 mrs r0, PSP - 0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS - 0+.* <[^>]*> f3ef 8008 mrs r0, MSP --0+.* <[^>]*> f3ef 8008 mrs r0, MSP - 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS - 0+.* <[^>]*> f3ef 8009 mrs r0, PSP --0+.* <[^>]*> f3ef 8009 mrs r0, PSP - 0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS -diff --git a/gas/testsuite/gas/ppc/power9.d b/gas/testsuite/gas/ppc/power9.d -index 1135d26..31e4530 100644 ---- a/gas/testsuite/gas/ppc/power9.d -+++ b/gas/testsuite/gas/ppc/power9.d -@@ -280,14 +280,6 @@ Disassembly of section \.text: - .*: (7f a8 49 80|80 49 a8 7f) cmprb cr7,1,r8,r9 - .*: (7d e0 01 00|00 01 e0 7d) setb r15,cr0 - .*: (7d fc 01 00|00 01 fc 7d) setb r15,cr7 --.*: (7e 00 01 01|01 01 00 7e) setbool r16,lt --.*: (7e 01 01 01|01 01 01 7e) setbool r16,gt --.*: (7e 02 01 01|01 01 02 7e) setbool r16,eq --.*: (7e 03 01 01|01 01 03 7e) setbool r16,so --.*: (7e 1c 01 01|01 01 1c 7e) setbool r16,4\*cr7\+lt --.*: (7e 1d 01 01|01 01 1d 7e) setbool r16,4\*cr7\+gt --.*: (7e 1e 01 01|01 01 1e 7e) setbool r16,4\*cr7\+eq --.*: (7e 1f 01 01|01 01 1f 7e) setbool r16,4\*cr7\+so - .*: (7f 40 52 1a|1a 52 40 7f) lxvl vs26,0,r10 - .*: (7f 14 52 1b|1b 52 14 7f) lxvl vs56,r20,r10 - .*: (7f 60 5b 1a|1a 5b 60 7f) stxvl vs27,0,r11 -@@ -331,6 +323,7 @@ Disassembly of section \.text: - .*: (4c e0 80 04|04 80 e0 4c) addpcis r7,-32768 - .*: (4c e0 80 04|04 80 e0 4c) addpcis r7,-32768 - .*: (7c 00 02 a4|a4 02 00 7c) slbsync -+.*: (7d 40 06 a4|a4 06 40 7d) slbiag r10 - .*: (7d 40 5b a4|a4 5b 40 7d) slbieg r10,r11 - .*: (7c 60 27 26|26 27 60 7c) slbmfee r3,r4 - .*: (7c 60 27 26|26 27 60 7c) slbmfee r3,r4 -@@ -344,14 +337,9 @@ Disassembly of section \.text: - .*: (7c 00 1a 24|24 1a 00 7c) tlbiel r3 - .*: (7c 00 1a 24|24 1a 00 7c) tlbiel r3 - .*: (7c 8f 1a 24|24 1a 8f 7c) tlbiel r3,r4,3,1,1 --.*: (7c 0c 6e 0c|0c 6e 0c 7c) copy r12,r13 --.*: (7c 2c 6e 0c|0c 6e 2c 7c) copy_first r12,r13 --.*: (7c 2c 6e 0c|0c 6e 2c 7c) copy_first r12,r13 --.*: (7c 0a 5f 0c|0c 5f 0a 7c) paste r10,r11 --.*: (7c 0a 5f 0c|0c 5f 0a 7c) paste r10,r11 --.*: (7c 2a 5f 0d|0d 5f 2a 7c) paste_last r10,r11 --.*: (7c 2a 5f 0d|0d 5f 2a 7c) paste_last r10,r11 --.*: (7c 00 06 8c|8c 06 00 7c) cp_abort -+.*: (7c 2c 6e 0c|0c 6e 2c 7c) copy r12,r13 -+.*: (7c 2a 5f 0d|0d 5f 2a 7c) paste\. r10,r11 -+.*: (7c 00 06 8c|8c 06 00 7c) cpabort - .*: (7c 00 04 ac|ac 04 00 7c) hwsync - .*: (7c 00 04 ac|ac 04 00 7c) hwsync - .*: (7c 00 04 ac|ac 04 00 7c) hwsync -@@ -359,8 +347,6 @@ Disassembly of section \.text: - .*: (7c 20 04 ac|ac 04 20 7c) lwsync - .*: (7c 40 04 ac|ac 04 40 7c) ptesync - .*: (7c 40 04 ac|ac 04 40 7c) ptesync --.*: (7c 07 04 ac|ac 04 07 7c) sync 0,7 --.*: (7c 28 04 ac|ac 04 28 7c) sync 1,8 - .*: (7e 80 04 cc|cc 04 80 7e) ldat r20,0,0 - .*: (7e 8a e4 cc|cc e4 8a 7e) ldat r20,r10,28 - .*: (7e a0 04 8c|8c 04 a0 7e) lwat r21,0,0 -@@ -373,8 +359,6 @@ Disassembly of section \.text: - .*: (7c 00 f6 e4|e4 f6 00 7c) rmieg r30 - .*: (7d 40 7a 6a|6a 7a 40 7d) ldmx r10,0,r15 - .*: (7d 43 7a 6a|6a 7a 43 7d) ldmx r10,r3,r15 --.*: (7d 60 83 6a|6a 83 60 7d) lwzmx r11,0,r16 --.*: (7d 63 83 6a|6a 83 63 7d) lwzmx r11,r3,r16 - .*: (4c 00 02 e4|e4 02 00 4c) stop - .*: (7c 00 00 3c|3c 00 00 7c) wait - .*: (7c 00 00 3c|3c 00 00 7c) wait -@@ -397,9 +381,6 @@ Disassembly of section \.text: - .*: (7d 6c 69 54|54 69 6c 7d) addex r11,r12,r13,0 - .*: (7d 6c 6b 54|54 6b 6c 7d) addex r11,r12,r13,1 - .*: (7d 6c 6d 54|54 6d 6c 7d) addex r11,r12,r13,2 --.*: (7e b6 b9 55|55 b9 b6 7e) addex\. r21,r22,r23,0 --.*: (7e b6 bb 55|55 bb b6 7e) addex\. r21,r22,r23,1 --.*: (7e b6 bd 55|55 bd b6 7e) addex\. r21,r22,r23,2 - .*: (ff 20 04 8e|8e 04 20 ff) mffs f25 - .*: (ff 20 04 8f|8f 04 20 ff) mffs\. f25 - .*: (ff 41 04 8e|8e 04 41 ff) mffsce f26 -@@ -410,12 +391,4 @@ Disassembly of section \.text: - .*: (ff d7 04 8e|8e 04 d7 ff) mffscrni f30,0 - .*: (ff d7 1c 8e|8e 1c d7 ff) mffscrni f30,3 - .*: (ff f8 04 8e|8e 04 f8 ff) mffsl f31 --.*: (7e 8a 01 76|76 01 8a 7e) brd r10,r20 --.*: (7e ab 01 b6|b6 01 ab 7e) brh r11,r21 --.*: (7e cc 01 36|36 01 cc 7e) brw r12,r22 --.*: (11 6a 63 77|77 63 6a 11) nandxor r10,r11,r12,r13 --.*: (12 b4 b5 f6|f6 b5 b4 12) xor3 r20,r21,r22,r23 --.*: (11 6a 60 34|34 60 6a 11) rldixor r10,r11,0,r12 --.*: (11 6a 66 f4|f4 66 6a 11) rldixor r10,r11,27,r12 --.*: (11 6a 67 f5|f5 67 6a 11) rldixor r10,r11,63,r12 - #pass -diff --git a/gas/testsuite/gas/ppc/power9.s b/gas/testsuite/gas/ppc/power9.s -index 21edb9c..469435d 100644 ---- a/gas/testsuite/gas/ppc/power9.s -+++ b/gas/testsuite/gas/ppc/power9.s -@@ -271,14 +271,6 @@ power9: - cmprb 7,1,8,9 - setb 15,0 - setb 15,7 -- setbool 16,0 -- setbool 16,1 -- setbool 16,2 -- setbool 16,3 -- setbool 16,28 -- setbool 16,29 -- setbool 16,30 -- setbool 16,31 - lxvl 26,0,10 - lxvl 56,20,10 - stxvl 27,0,11 -@@ -322,6 +314,7 @@ power9: - addpcis 7,-0x8000 - subpcis 7,0x8000 - slbsync -+ slbiag 10 - slbieg 10,11 - slbmfee 3,4 - slbmfee 3,4,0 -@@ -335,23 +328,16 @@ power9: - tlbiel 3 - tlbiel 3,0,0,0,0 - tlbiel 3,4,3,1,1 -- copy 12,13,0 -- copy_first 12,13 -- copy 12,13,1 -- paste 10,11,0 -- paste 10,11 -- paste. 10,11,1 -- paste_last 10,11 -- cp_abort -+ copy 12,13 -+ paste. 10,11 -+ cpabort - hwsync - sync -- sync 0,0x0 -+ sync 0 - lwsync -- sync 1,0x0 -+ sync 1 - ptesync -- sync 2,0x0 -- sync 0,0x7 -- sync 1,0x8 -+ sync 2 - ldat 20,0,0x0 - ldat 20,10,0x1c - lwat 21,0,0x0 -@@ -364,8 +350,6 @@ power9: - rmieg 30 - ldmx 10,0,15 - ldmx 10,3,15 -- lwzmx 11,0,16 -- lwzmx 11,3,16 - stop - wait - wait 0 -@@ -388,9 +372,6 @@ power9: - addex 11,12,13,0 - addex 11,12,13,1 - addex 11,12,13,2 -- addex. 21,22,23,0 -- addex. 21,22,23,1 -- addex. 21,22,23,2 - mffs 25 - mffs. 25 - mffsce 26 -@@ -401,11 +382,3 @@ power9: - mffscrni 30,0 - mffscrni 30,3 - mffsl 31 -- brd 10,20 -- brh 11,21 -- brw 12,22 -- nandxor 10,11,12,13 -- xor3 20,21,22,23 -- rldixor 10,11,0,12 -- rldixor 10,11,27,12 -- rldixor 10,11,63,12 -diff --git a/gold/ChangeLog b/gold/ChangeLog -index 239df36..f5005ef 100644 ---- a/gold/ChangeLog -+++ b/gold/ChangeLog -@@ -1,6 +1,72 @@ -+2016-09-26 Cary Coutant -+ -+ PR gold/20238 -+ * symtab.cc (Symbol_table::define_default_version): Check that -+ unversioned symbol is defined. -+ -+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..c872f47 100644 ---- a/gold/symtab.cc -+++ b/gold/symtab.cc -@@ -882,6 +882,7 @@ Symbol_table::define_default_version(Sized_symbol* sym, - ; - else if (pdef->second->is_from_dynobj() - && sym->is_from_dynobj() -+ && pdef->second->is_defined() - && pdef->second->object() != sym->object()) - ; - else -@@ -1325,6 +1326,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 +1410,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 +1609,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 +1650,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 +1659,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..6cc35c7 100644 ---- a/ld/ChangeLog -+++ b/ld/ChangeLog -@@ -1,3 +1,56 @@ -+2016-10-14 Alan Modra -+ -+ * scripttempl/DWARF.sc: Add .debug_addr. -+ -+2016-10-10 Christophe Lyon -+ -+ Backport from mainline -+ 2016-09-28 Christophe Lyon -+ -+ PR ld/20608 -+ * testsuite/ld-arm/arm-elf.exp: Handle new testcase. -+ * testsuite/ld-arm/farcall-mixed-app2.d: New file. -+ * testsuite/ld-arm/farcall-mixed-app2.r: Likewise. -+ * testsuite/ld-arm/farcall-mixed-app2.s: Likewise. -+ * testsuite/ld-arm/farcall-mixed-app2.sym: Likewise. -+ -+2016-09-06 Senthil Kumar Selvaraj -+ -+ Backport from mainline -+ 2016-09-02 Senthil Kumar Selvaraj -+ -+ PR ld/20545 -+ * testsuite/ld-avr/avr-prop-7.d: New test. -+ * testsuite/ld-avr/avr-prop-7.s: New test. -+ * testsuite/ld-avr/avr-prop-8.d: New test. -+ * testsuite/ld-avr/avr-prop-8.s: New test. -+ -+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/ld/scripttempl/DWARF.sc b/ld/scripttempl/DWARF.sc -index a8bcb97..cbb2999 100644 ---- a/ld/scripttempl/DWARF.sc -+++ b/ld/scripttempl/DWARF.sc -@@ -42,4 +42,5 @@ cat <: -+ .*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\) -+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* -+ .*: e08fe00e add lr, pc, lr -+ .*: e5bef008 ldr pc, \[lr, #8\]! -+ .*: .* -+.* : -+ .*: 4778 bx pc -+ .*: 46c0 nop ; \(mov r8, r8\) -+ .*: e28fc6.* add ip, pc, #.* -+ .*: e28cca.* add ip, ip, #.* ; 0x.* -+ .*: e5bcf.* ldr pc, \[ip, #.*\]!.* -+.* : -+ .*: e28fc6.* add ip, pc, #.* -+ .*: e28cca.* add ip, ip, #.* ; 0x.* -+ .*: e5bcf.* ldr pc, \[ip, #.*\]!.* -+ -+Disassembly of section .text: -+ -+.* <_start>: -+ .*: e1a0c00d mov ip, sp -+ .*: e92dd800 push {fp, ip, lr, pc} -+ .*: eb000008 bl .* <__app_func_veneer> -+ .*: ebfffff6 bl .* -+ .*: ebfffff2 bl .* -+ .*: e89d6800 ldm sp, {fp, sp, lr} -+ .*: e12fff1e bx lr -+ .*: e1a00000 nop ; \(mov r0, r0\) -+ -+.* : -+ .*: b500 push {lr} -+ .*: f7ff efde blx 81e0 -+ .*: bd00 pop {pc} -+ .*: 4770 bx lr -+ .*: 46c0 nop ; \(mov r8, r8\) -+#... -+ -+.* <__app_func_veneer>: -+ .*: e51ff004 ldr pc, \[pc, #-4\] ; 8234 <__app_func_veneer\+0x4> -+ .*: 02100000 .word 0x02100000 -+ -+Disassembly of section .mid_thumb: -+ -+.* : -+#... -+ .*: f400 9000 b.w .* -+ .*: f000 b800 b.w .* <__lib_func2_from_thumb> -+ -+.* <__lib_func2_from_thumb>: -+ .*: 4778 bx pc -+ .*: 46c0 nop ; \(mov r8, r8\) -+ .*: e51ff004 ldr pc, \[pc, #-4\] ; 10081e8 <__lib_func2_from_thumb\+0x8> -+ .*: 000081e0 .word 0x000081e0 -+ .*: 00000000 .word 0x00000000 -+ -+Disassembly of section .far_arm: -+ -+.* : -+ .*: e1a0c00d mov ip, sp -+ .*: e92dd800 push {fp, ip, lr, pc} -+ .*: eb000006 bl .* <__lib_func1_veneer> -+ .*: eb000007 bl .* <__lib_func2_veneer> -+ .*: e89d6800 ldm sp, {fp, sp, lr} -+ .*: e12fff1e bx lr -+ .*: e1a00000 nop ; \(mov r0, r0\) -+ .*: e1a00000 nop ; \(mov r0, r0\) -+ -+.* : -+ .*: e12fff1e bx lr -+#... -+ -+.* <__lib_func1_veneer>: -+ .*: e51ff004 ldr pc, \[pc, #-4\] ; .* <__lib_func1_veneer\+0x4> -+ .*: 000081ec .word 0x000081ec -+.* <__lib_func2_veneer>: -+ .*: e51ff004 ldr pc, \[pc, #-4\] ; .* <__lib_func2_veneer\+0x4> -+ .*: 000081e0 .word 0x000081e0 -+ -+Disassembly of section .far_thumb: -+ -+.* : -+ .*: b500 push {lr} -+ .*: f000 e806 blx .* <__lib_func2_from_thumb> -+ .*: bd00 pop {pc} -+ .*: 4770 bx lr -+ .*: 46c0 nop ; \(mov r8, r8\) -+#... -+ -+.* <__lib_func2_from_thumb>: -+ .*: e51ff004 ldr pc, \[pc, #-4\] ; 2200014 <__lib_func2_from_thumb\+0x4> -+ .*: 000081e0 .word 0x000081e0 -diff --git a/ld/testsuite/ld-arm/farcall-mixed-app2.r b/ld/testsuite/ld-arm/farcall-mixed-app2.r -new file mode 100644 -index 0000000..910a361 ---- /dev/null -+++ b/ld/testsuite/ld-arm/farcall-mixed-app2.r -@@ -0,0 +1,10 @@ -+ -+tmpdir/farcall-mixed-app.*: file format elf32-(little|big)arm -+ -+DYNAMIC RELOCATION RECORDS -+OFFSET TYPE VALUE -+.* R_ARM_COPY data_obj -+.* R_ARM_JUMP_SLOT lib_func2 -+.* R_ARM_JUMP_SLOT lib_func1 -+ -+ -diff --git a/ld/testsuite/ld-arm/farcall-mixed-app2.s b/ld/testsuite/ld-arm/farcall-mixed-app2.s -new file mode 100644 -index 0000000..ee315e9 ---- /dev/null -+++ b/ld/testsuite/ld-arm/farcall-mixed-app2.s -@@ -0,0 +1,76 @@ -+ .text -+ .p2align 4 -+ .globl _start -+_start: -+ mov ip, sp -+ stmdb sp!, {r11, ip, lr, pc} -+ bl app_func -+ bl lib_func1 -+ bl lib_func2 -+ ldmia sp, {r11, sp, lr} -+ bx lr -+ -+ .p2align 4 -+ .globl app_tfunc_close -+ .type app_tfunc_close,%function -+ .thumb_func -+ .code 16 -+app_tfunc_close: -+ push {lr} -+ bl lib_func2 -+ pop {pc} -+ bx lr -+ -+@ We will place the section .mid_thumb at 0xFFFEF8. -+@ Just far enough for XXXX -+ .section .mid_thumb, "xa" -+ -+ .p2align 4 -+ .globl mid_tfunc -+ .type mid_tfunc,%function -+ .thumb_func -+ .code 16 -+mid_tfunc: -+ .syntax unified -+ .space 24 -+ b.w lib_func2 -+ b.w lib_func2 -+ -+@ We will place the section .far_arm at 0x2100000. -+ .section .far_arm, "xa" -+ -+ .arm -+ .p2align 4 -+ .globl app_func -+ .type app_func,%function -+app_func: -+ mov ip, sp -+ stmdb sp!, {r11, ip, lr, pc} -+ bl lib_func1 -+ bl lib_func2 -+ ldmia sp, {r11, sp, lr} -+ bx lr -+ -+ .arm -+ .p2align 4 -+ .globl app_func2 -+ .type app_func2,%function -+app_func2: -+ bx lr -+ -+@ We will place the section .far_thumb at 0x2200000. -+ .section .far_thumb, "xa" -+ -+ .p2align 4 -+ .globl app_tfunc -+ .type app_tfunc,%function -+ .thumb_func -+ .code 16 -+app_tfunc: -+ push {lr} -+ bl lib_func2 -+ pop {pc} -+ bx lr -+ -+ .data -+ .long data_obj -diff --git a/ld/testsuite/ld-arm/farcall-mixed-app2.sym b/ld/testsuite/ld-arm/farcall-mixed-app2.sym -new file mode 100644 -index 0000000..1d3bd1d ---- /dev/null -+++ b/ld/testsuite/ld-arm/farcall-mixed-app2.sym -@@ -0,0 +1,15 @@ -+ -+Symbol table for image: -+ +Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__ -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end -+ +.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__ -+ +.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1 -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__ -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start -+ +.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +15 app_func2 -+ +.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2 -+ +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__ -diff --git a/ld/testsuite/ld-avr/avr-prop-7.d b/ld/testsuite/ld-avr/avr-prop-7.d -new file mode 100644 -index 0000000..9f2cea9 ---- /dev/null -+++ b/ld/testsuite/ld-avr/avr-prop-7.d -@@ -0,0 +1,15 @@ -+#name: AVR .avr.prop, AVR_7_PCREL after align -+#as: -mavrxmega2 -mlink-relax -+#ld: -mavrxmega2 --relax -+#source: avr-prop-7.s -+#objdump: -S -+#target: avr-*-* -+ -+#... -+00000000 <__ctors_end>: -+ 0: 04 d0 rcall .+8 ; 0xa -+ 2: 00 00 nop -+ 4: 00 00 nop -+ 6: 86 e0 ldi r24, 0x06 ; 6 -+ 8: f0 f7 brcc .-4 ; 0x6 <__ctors_end\+0x6> -+#... -diff --git a/ld/testsuite/ld-avr/avr-prop-7.s b/ld/testsuite/ld-avr/avr-prop-7.s -new file mode 100644 -index 0000000..38276ba ---- /dev/null -+++ b/ld/testsuite/ld-avr/avr-prop-7.s -@@ -0,0 +1,8 @@ -+ call foo -+ nop -+ .p2align 1 -+ nop -+.L618: -+ ldi r24,lo8(6) -+ brsh .L618 -+foo: nop -diff --git a/ld/testsuite/ld-avr/avr-prop-8.d b/ld/testsuite/ld-avr/avr-prop-8.d -new file mode 100644 -index 0000000..2905f98 ---- /dev/null -+++ b/ld/testsuite/ld-avr/avr-prop-8.d -@@ -0,0 +1,13 @@ -+#name: AVR .avr.prop, AVR_7_PCREL just before align -+#as: -mavrxmega2 -mlink-relax -+#ld: -mavrxmega2 --relax -+#source: avr-prop-8.s -+#objdump: -S -+#target: avr-*-* -+ -+#... -+00000000 <__ctors_end>: -+ 0: ff cf rjmp .-2 ; 0x0 <__ctors_end> -+ 2: fe df rcall .-4 ; 0x0 <__ctors_end> -+ 4: f8 f7 brcc .-2 ; 0x4 <__ctors_end\+0x4> -+#... -diff --git a/ld/testsuite/ld-avr/avr-prop-8.s b/ld/testsuite/ld-avr/avr-prop-8.s -new file mode 100644 -index 0000000..34554f2 ---- /dev/null -+++ b/ld/testsuite/ld-avr/avr-prop-8.s -@@ -0,0 +1,7 @@ -+foo: -+ jmp foo -+ call foo -+.L1: -+ brsh .L1 -+.p2align 1 -+ nop -diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog -index c420bdd..43841f5 100644 ---- a/opcodes/ChangeLog -+++ b/opcodes/ChangeLog -@@ -1,3 +1,26 @@ -+2016-09-16 Peter Bergner -+ -+ Apply from master. -+ 2016-09-14 Peter Bergner -+ -+ * ppc-opc.c (powerpc_opcodes) : New mnemonic. -+ : Delete mnemonics. -+ : Rename mnemonic from ... -+ : ...to this. -+ : Change to a X form instruction. -+ : Change to 1 operand form. -+ : Delete mnemonic. -+ : Rename mnemonic from ... -+ : ...to this. -+ : Delete mnemonics. -+ : Rename mnemonic from ... -+ : ...to this. -+ -+2016-08-03 Tristan Gingold -+ -+ * configure: Regenerate. -+ - 2016-08-03 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/opcodes/ppc-opc.c b/opcodes/ppc-opc.c -index 8106ab7..7003e0c 100644 ---- a/opcodes/ppc-opc.c -+++ b/opcodes/ppc-opc.c -@@ -3161,7 +3161,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { - {"machhwu.", XO (4, 12,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, - {"ps_muls1", A (4, 13,0), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, - {"ps_muls1.", A (4, 13,1), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, --{"rldixor", VXASH(4,26), VXASH_MASK, POWER9, 0, {RA, RS, SH6, RB}}, - {"ps_madds0", A (4, 14,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, - {"ps_madds0.", A (4, 14,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, - {"ps_madds1", A (4, 15,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, -@@ -3203,8 +3202,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { - {"ps_msub.", A (4, 28,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, - {"ps_madd", A (4, 29,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, - {"ps_madd.", A (4, 29,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, --{"xor3", VXA(4, 54), VXA_MASK, POWER9, 0, {RA, RS, RB, RC}}, --{"nandxor", VXA(4, 55), VXA_MASK, POWER9, 0, {RA, RS, RB, RC}}, - {"vpermr", VXA(4, 59), VXA_MASK, PPCVEC3, 0, {VD, VA, VB, VC}}, - {"ps_nmsub", A (4, 30,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, - {"vaddeuqm", VXA(4, 60), VXA_MASK, PPCVEC2, 0, {VD, VA, VB, VC}}, -@@ -4943,8 +4940,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { - - {"dcbfep", XRT(31,127,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, - --{"setb", VX(31,256), VXVB_MASK|(3<<16), POWER9, 0, {RT, BFA}}, --{"setbool", VX(31,257), VXVB_MASK, POWER9, 0, {RT, BA}}, -+{"setb", X(31,128), XRB_MASK|(3<<16), POWER9, 0, {RT, BFA}}, - - {"wrtee", X(31,131), XRARB_MASK, PPC403|BOOKE|PPCA2|PPC476, 0, {RS}}, - -@@ -4994,8 +4990,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { - - {"prtyw", X(31,154), XRB_MASK, POWER6|PPCA2|PPC476, 0, {RA, RS}}, - --{"brw", X(31,155), XRB_MASK, POWER9, 0, {RA, RS}}, -- - {"stdepx", X(31,157), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, - - {"stwepx", X(31,159), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, -@@ -5008,7 +5002,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { - {"sthfcmx", APU(31,167,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, - - {"addex", ZRC(31,170,0), Z2_MASK, POWER9, 0, {RT, RA, RB, CY}}, --{"addex.", ZRC(31,170,1), Z2_MASK, POWER9, 0, {RT, RA, RB, CY}}, - - {"msgclrp", XRTRA(31,174,0,0), XRTRA_MASK, POWER8, 0, {RB}}, - {"dcbtlse", X(31,174), X_MASK, PPCCHLK, E500MC, {CT, RA0, RB}}, -@@ -5033,8 +5026,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { - - {"prtyd", X(31,186), XRB_MASK, POWER6|PPCA2, 0, {RA, RS}}, - --{"brd", X(31,187), XRB_MASK, POWER9, 0, {RA, RS}}, -- - {"cmprb", X(31,192), XCMP_MASK, POWER9, 0, {BF, L, RA, RB}}, - - {"icblq.", XRC(31,198,1), X_MASK, E6500, 0, {CT, RA0, RB}}, -@@ -5073,8 +5064,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { - {"sleq", XRC(31,217,0), X_MASK, M601, 0, {RA, RS, RB}}, - {"sleq.", XRC(31,217,1), X_MASK, M601, 0, {RA, RS, RB}}, - --{"brh", X(31,219), XRB_MASK, POWER9, 0, {RA, RS}}, -- - {"stbepx", X(31,223), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, - - {"cmpeqb", X(31,224), XCMPL_MASK, POWER9, 0, {BF, RA, RB}}, -@@ -5541,8 +5530,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { - - {"mtvsrdd", X(31,435), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, - --{"lwzmx", X(31,437), X_MASK, POWER9, 0, {RT, RA0, RB}}, -- - {"ecowx", X(31,438), X_MASK, PPC, E500|TITAN, {RT, RA0, RB}}, - - {"sthux", X(31,439), X_MASK, COM, 0, {RS, RAS, RB}}, -@@ -5906,8 +5893,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { - {"hwsync", XSYNC(31,598,0), 0xffffffff, POWER4, BOOKE|PPC476, {0}}, - {"lwsync", XSYNC(31,598,1), 0xffffffff, PPC, E500, {0}}, - {"ptesync", XSYNC(31,598,2), 0xffffffff, PPC64, 0, {0}}, --{"sync", X(31,598), XSYNCLE_MASK, POWER9|E6500, 0, {LS, ESYNC}}, --{"sync", X(31,598), XSYNC_MASK, PPCCOM, BOOKE|PPC476|POWER9, {LS}}, -+{"sync", X(31,598), XSYNCLE_MASK, E6500, 0, {LS, ESYNC}}, -+{"sync", X(31,598), XSYNC_MASK, PPCCOM, BOOKE|PPC476, {LS}}, - {"msync", X(31,598), 0xffffffff, BOOKE|PPCA2|PPC476, 0, {0}}, - {"sync", X(31,598), 0xffffffff, BOOKE|PPC476, E6500, {0}}, - {"lwsync", X(31,598), 0xffffffff, E500, 0, {0}}, -@@ -6072,8 +6059,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { - - {"lvsm", X(31,773), X_MASK, PPCVEC2, 0, {VD, RA0, RB}}, - --{"copy_first", XOPL(31,774,1), XRT_MASK, POWER9, 0, {RA0, RB}}, --{"copy", X(31,774), XLRT_MASK, POWER9, 0, {RA0, RB, L}}, -+{"copy", XOPL(31,774,1), XRT_MASK, POWER9, 0, {RA0, RB}}, - - {"stvepxl", X(31,775), X_MASK, PPCVEC2, 0, {VS, RA0, RB}}, - {"lvlxl", X(31,775), X_MASK, CELL, 0, {VD, RA0, RB}}, -@@ -6143,7 +6129,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { - - {"lvtlxl", X(31,837), X_MASK, PPCVEC2, 0, {VD, RA0, RB}}, - --{"cp_abort", X(31,838), XRTRARB_MASK,POWER9, 0, {0}}, -+{"cpabort", X(31,838), XRTRARB_MASK,POWER9, 0, {0}}, - - {"divo", XO(31,331,1,0), XO_MASK, M601, 0, {RT, RA, RB}}, - {"divo.", XO(31,331,1,1), XO_MASK, M601, 0, {RT, RA, RB}}, -@@ -6155,6 +6141,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { - - {"tlbsrx.", XRC(31,850,1), XRT_MASK, PPCA2, 0, {RA0, RB}}, - -+{"slbiag", X(31,850), XRARB_MASK, POWER9, 0, {RS}}, - {"slbmfev", X(31,851), XRLA_MASK, POWER9, 0, {RT, RB, A_L}}, - {"slbmfev", X(31,851), XRA_MASK, PPC64, POWER9, {RT, RB}}, - -@@ -6190,9 +6177,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { - {"extswsli", XS(31,445,0), XS_MASK, POWER9, 0, {RA, RS, SH6}}, - {"extswsli.", XS(31,445,1), XS_MASK, POWER9, 0, {RA, RS, SH6}}, - --{"paste", XRC(31,902,0), XLRT_MASK, POWER9, 0, {RA0, RB, L0}}, --{"paste_last", XRCL(31,902,1,1),XRT_MASK, POWER9, 0, {RA0, RB}}, --{"paste.", XRC(31,902,1), XLRT_MASK, POWER9, 0, {RA0, RB, L1}}, -+{"paste.", XRCL(31,902,1,1),XRT_MASK, POWER9, 0, {RA0, RB}}, - - {"stvlxl", X(31,903), X_MASK, CELL, 0, {VS, RA0, RB}}, - {"stdfcmux", APU(31,903,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, diff --git a/binutils-2.27-fix-section-order.diff b/binutils-2.27-fix-section-order.diff deleted file mode 100644 index 2cc0084..0000000 --- a/binutils-2.27-fix-section-order.diff +++ /dev/null @@ -1,2205 +0,0 @@ -commit dd90581873482f67922a4ace92dafdfdfed09f3c -Author: Nick Clifton -Date: Fri Aug 19 09:16:30 2016 +0100 - - Place .shstrtab section after .symtab and .strtab, thus restoring monotonically increasing section offsets. - - bfd - * elf.c (assign_section_numbers): Assign number for the .shstrtab - section after the symbol table and string table sections. - - binutils - * testsuite/binutils-all/readelf.s: Adjust expected ordering of - sections. - * testsuite/binutils-all/readelf.s-64: Likewise. - - gas - * testsuite/gas/i386/ilp32/x86-64-unwind.d: Adjust expected ordering - of sections. - * testsuite/gas/i386/x86-64-unwind.d: Likewise. - * testsuite/gas/ia64/alias-ilp32.d: Likewise. - * testsuite/gas/ia64/alias.d: Likewise. - * testsuite/gas/ia64/group-1.d: Likewise. - * testsuite/gas/ia64/group-2.d: Likewise. - * testsuite/gas/ia64/secname-ilp32.d: Likewise. - * testsuite/gas/ia64/secname.d: Likewise. - * testsuite/gas/ia64/unwind-ilp32.d: Likewise. - * testsuite/gas/ia64/unwind.d: Likewise. - * testsuite/gas/ia64/xdata-ilp32.d: Likewise. - * testsuite/gas/ia64/xdata.d: Likewise. - * testsuite/gas/mmix/bspec-1.d: Likewise. - * testsuite/gas/mmix/bspec-2.d: Likewise. - * testsuite/gas/mmix/byte-1.d: Likewise. - * testsuite/gas/mmix/loc-1.d: Likewise. - * testsuite/gas/mmix/loc-2.d: Likewise. - * testsuite/gas/mmix/loc-3.d: Likewise. - * testsuite/gas/mmix/loc-4.d: Likewise. - * testsuite/gas/mmix/loc-5.d: Likewise. - * testsuite/gas/tic6x/scomm-directive-4.d: Likewise. - - ld - * testsuite/ld-alpha/tlsbin.rd: Adjust expected ordering of sections. - * testsuite/ld-alpha/tlsbinr.rd: Likewise. - * testsuite/ld-alpha/tlspic.rd: Likewise. - * testsuite/ld-cris/libdso-2.d: Likewise. - * testsuite/ld-i386/nogot1.d: Likewise. - * testsuite/ld-i386/pr12718.d: Likewise. - * testsuite/ld-i386/pr12921.d: Likewise. - * testsuite/ld-i386/tlsbin-nacl.rd: Likewise. - * testsuite/ld-i386/tlsbin.rd: Likewise. - * testsuite/ld-i386/tlsbin2-nacl.rd: Likewise. - * testsuite/ld-i386/tlsbin2.rd: Likewise. - * testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise. - * testsuite/ld-i386/tlsbindesc.rd: Likewise. - * testsuite/ld-i386/tlsdesc-nacl.rd: Likewise. - * testsuite/ld-i386/tlsdesc.rd: Likewise. - * testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise. - * testsuite/ld-i386/tlsgdesc.rd: Likewise. - * testsuite/ld-i386/tlsnopic-nacl.rd: Likewise. - * testsuite/ld-i386/tlsnopic.rd: Likewise. - * testsuite/ld-i386/tlspic-nacl.rd: Likewise. - * testsuite/ld-i386/tlspic.rd: Likewise. - * testsuite/ld-i386/tlspic2-nacl.rd: Likewise. - * testsuite/ld-i386/tlspic2.rd: Likewise. - * testsuite/ld-ia64/tlsbin.rd: Likewise. - * testsuite/ld-ia64/tlspic.rd: Likewise. - * testsuite/ld-mips-elf/attr-gnu-4-10.d: Likewise. - * testsuite/ld-mips-elf/attr-gnu-4-50.d: Likewise. - * testsuite/ld-mips-elf/attr-gnu-4-60.d: Likewise. - * testsuite/ld-mips-elf/attr-gnu-4-70.d: Likewise. - * testsuite/ld-mmix/bspec1.d: Likewise. - * testsuite/ld-mmix/bspec2.d: Likewise. - * testsuite/ld-mmix/local1.d: Likewise. - * testsuite/ld-mmix/local3.d: Likewise. - * testsuite/ld-mmix/local5.d: Likewise. - * testsuite/ld-mmix/local7.d: Likewise. - * testsuite/ld-mmix/undef-3.d: Likewise. - * testsuite/ld-powerpc/tlsexe.r: Likewise. - * testsuite/ld-powerpc/tlsexe32.r: Likewise. - * testsuite/ld-powerpc/tlsexetoc.r: Likewise. - * testsuite/ld-powerpc/tlsso.r: Likewise. - * testsuite/ld-powerpc/tlsso32.r: Likewise. - * testsuite/ld-powerpc/tlstocso.r: Likewise. - * testsuite/ld-s390/tlsbin.rd: Likewise. - * testsuite/ld-s390/tlsbin_64.rd: Likewise. - * testsuite/ld-s390/tlspic.rd: Likewise. - * testsuite/ld-s390/tlspic_64.rd: Likewise. - * testsuite/ld-sh/sh64/crange1.rd: Likewise. - * testsuite/ld-sh/sh64/crange2.rd: Likewise. - * testsuite/ld-sh/sh64/crange3-cmpct.rd: Likewise. - * testsuite/ld-sh/sh64/crange3-media.rd: Likewise. - * testsuite/ld-sh/sh64/crange3.rd: Likewise. - * testsuite/ld-sh/sh64/crangerel1.rd: Likewise. - * testsuite/ld-sh/sh64/crangerel2.rd: Likewise. - * testsuite/ld-sh/tlsbin-2.d: Likewise. - * testsuite/ld-sh/tlspic-2.d: Likewise. - * testsuite/ld-sparc/gotop32.rd: Likewise. - * testsuite/ld-sparc/gotop64.rd: Likewise. - * testsuite/ld-sparc/tlssunbin32.rd: Likewise. - * testsuite/ld-sparc/tlssunbin64.rd: Likewise. - * testsuite/ld-sparc/tlssunnopic32.rd: Likewise. - * testsuite/ld-sparc/tlssunnopic64.rd: Likewise. - * testsuite/ld-sparc/tlssunpic32.rd: Likewise. - * testsuite/ld-sparc/tlssunpic64.rd: Likewise. - * testsuite/ld-tic6x/common.d: Likewise. - * testsuite/ld-tic6x/shlib-1.rd: Likewise. - * testsuite/ld-tic6x/shlib-1b.rd: Likewise. - * testsuite/ld-tic6x/shlib-1r.rd: Likewise. - * testsuite/ld-tic6x/shlib-1rb.rd: Likewise. - * testsuite/ld-tic6x/shlib-app-1.rd: Likewise. - * testsuite/ld-tic6x/shlib-app-1b.rd: Likewise. - * testsuite/ld-tic6x/shlib-app-1r.rd: Likewise. - * testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise. - * testsuite/ld-tic6x/shlib-noindex.rd: Likewise. - * testsuite/ld-tic6x/static-app-1.rd: Likewise. - * testsuite/ld-tic6x/static-app-1b.rd: Likewise. - * testsuite/ld-tic6x/static-app-1r.rd: Likewise. - * testsuite/ld-tic6x/static-app-1rb.rd: Likewise. - * testsuite/ld-x86-64/ilp32-4-nacl.d: Likewise. - * testsuite/ld-x86-64/ilp32-4.d: Likewise. - * testsuite/ld-x86-64/nogot1.d: Likewise. - * testsuite/ld-x86-64/pr12718.d: Likewise. - * testsuite/ld-x86-64/pr12921.d: Likewise. - * testsuite/ld-x86-64/split-by-file-nacl.rd: Likewise. - * testsuite/ld-x86-64/split-by-file.rd: Likewise. - * testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise. - * testsuite/ld-x86-64/tlsbin.rd: Likewise. - * testsuite/ld-x86-64/tlsbin2-nacl.rd: Likewise. - * testsuite/ld-x86-64/tlsbin2.rd: Likewise. - * testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise. - * testsuite/ld-x86-64/tlsbindesc.rd: Likewise. - * testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise. - * testsuite/ld-x86-64/tlsdesc.rd: Likewise. - * testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise. - * testsuite/ld-x86-64/tlsgdesc.rd: Likewise. - * testsuite/ld-x86-64/tlspic-nacl.rd: Likewise. - * testsuite/ld-x86-64/tlspic.rd: Likewise. - * testsuite/ld-x86-64/tlspic2-nacl.rd: Likewise. - * testsuite/ld-x86-64/tlspic2.rd: Likewise. - * testsuite/ld-xtensa/tlsbin.rd: Likewise. - * testsuite/ld-xtensa/tlspic.rd: Likewise. - -diff --git a/bfd/elf.c b/bfd/elf.c -index 274cd53..c3630d2 100644 ---- a/bfd/elf.c -+++ b/bfd/elf.c -@@ -3093,7 +3093,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg) - compressed. */ - asect->flags |= SEC_ELF_COMPRESS; - -- /* If this section will be compressed, delay adding setion -+ /* If this section will be compressed, delay adding section - name to section name section after it is compressed in - _bfd_elf_assign_file_positions_for_non_load. */ - delay_st_name_p = TRUE; -@@ -3595,10 +3595,6 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info) - d->rela.idx = 0; - } - -- elf_shstrtab_sec (abfd) = section_number++; -- _bfd_elf_strtab_addref (elf_shstrtab (abfd), t->shstrtab_hdr.sh_name); -- elf_elfheader (abfd)->e_shstrndx = elf_shstrtab_sec (abfd); -- - need_symtab = (bfd_get_symcount (abfd) > 0 - || (link_info == NULL - && ((abfd->flags & (EXEC_P | DYNAMIC | HAS_RELOC)) -@@ -3626,6 +3622,10 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info) - _bfd_elf_strtab_addref (elf_shstrtab (abfd), t->strtab_hdr.sh_name); - } - -+ elf_shstrtab_sec (abfd) = section_number++; -+ _bfd_elf_strtab_addref (elf_shstrtab (abfd), t->shstrtab_hdr.sh_name); -+ elf_elfheader (abfd)->e_shstrndx = elf_shstrtab_sec (abfd); -+ - if (section_number >= SHN_LORESERVE) - { - _bfd_error_handler (_("%B: too many sections: %u"), -@@ -6028,7 +6028,7 @@ _bfd_elf_assign_file_positions_for_non_load (bfd *abfd) - return FALSE; - name = new_name; - } -- /* Add setion name to section name section. */ -+ /* Add section name to section name section. */ - if (shdrp->sh_name != (unsigned int) -1) - abort (); - shdrp->sh_name -@@ -6036,7 +6036,7 @@ _bfd_elf_assign_file_positions_for_non_load (bfd *abfd) - name, FALSE); - d = elf_section_data (sec); - -- /* Add reloc setion name to section name section. */ -+ /* Add reloc section name to section name section. */ - if (d->rel.hdr - && !_bfd_elf_set_reloc_sh_name (abfd, - d->rel.hdr, -diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d b/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d -index 5cea05e..5dc74d6 100644 ---- a/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d -+++ b/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d -@@ -11,8 +11,8 @@ Section Headers: - \[ 2\] .data PROGBITS 00000000 000034 000000 00 WA 0 0 1 - \[ 3\] .bss NOBITS 00000000 000034 000000 00 WA 0 0 1 - \[ 4\] .eh_frame X86_64_UNWIND 00000000 000034 000008 00 A 0 0 1 -- \[ 5\] .shstrtab STRTAB 00000000 [0-9a-f]+ 000036 00 . 0 0 1 -- \[ 6\] .symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 7 5 4 -- \[ 7\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 . 0 0 1 -+ \[ 5\] .symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 6 5 4 -+ \[ 6\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 . 0 0 1 -+ \[ 7\] .shstrtab STRTAB 00000000 [0-9a-f]+ 000036 00 . 0 0 1 - Key to Flags: - #pass -diff --git a/gas/testsuite/gas/i386/x86-64-unwind.d b/gas/testsuite/gas/i386/x86-64-unwind.d -index 7a4c64c..89f1a65 100644 ---- a/gas/testsuite/gas/i386/x86-64-unwind.d -+++ b/gas/testsuite/gas/i386/x86-64-unwind.d -@@ -16,11 +16,11 @@ Section Headers: - 0000000000000000 0000000000000000 WA 0 0 1 - \[ 4\] \.eh_frame X86_64_UNWIND 0000000000000000 00000040 - 0000000000000008 0000000000000000 A 0 0 1 -- \[ 5\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -- 0000000000000036 0000000000000000 . 0 0 1 -- \[ 6\] \.symtab SYMTAB 0000000000000000 [0-9a-f]+ -- 0000000000000078 0000000000000018 7 5 8 -- \[ 7\] \.strtab STRTAB 0000000000000000 [0-9a-f]+ -+ \[ 5\] \.symtab SYMTAB 0000000000000000 [0-9a-f]+ -+ 0000000000000078 0000000000000018 6 5 8 -+ \[ 6\] \.strtab STRTAB 0000000000000000 [0-9a-f]+ - 0000000000000001 0000000000000000 . 0 0 1 -+ \[ 7\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -+ 0000000000000036 0000000000000000 . 0 0 1 - Key to Flags: - #... -diff --git a/gas/testsuite/gas/ia64/alias-ilp32.d b/gas/testsuite/gas/ia64/alias-ilp32.d -index d882b3c..df05d36 100644 ---- a/gas/testsuite/gas/ia64/alias-ilp32.d -+++ b/gas/testsuite/gas/ia64/alias-ilp32.d -@@ -12,9 +12,9 @@ Section Headers: - +\[ 2\] .data +PROGBITS +00000000 000040 000000 00 +WA +0 +0 +1 - +\[ 3\] .bss +NOBITS +00000000 000040 000000 00 +WA +0 +0 +1 - +\[ 4\] 1234 +PROGBITS +00000000 000040 000005 00 +WA +0 +0 +1 -- +\[ 5\] .shstrtab +STRTAB +00000000 [0-9a-f]+ 000031 00 +0 +0 +1 -- +\[ 6\] .symtab +SYMTAB +00000000 [0-9a-f]+ 000060 10 +7 +6 +4 -- +\[ 7\] .strtab +STRTAB +00000000 [0-9a-f]+ 000006 00 +0 +0 +1 -+ +\[ 5\] .symtab +SYMTAB +00000000 [0-9a-f]+ 000060 10 +6 +6 +4 -+ +\[ 6\] .strtab +STRTAB +00000000 [0-9a-f]+ 000006 00 +0 +0 +1 -+ +\[ 7\] .shstrtab +STRTAB +00000000 [0-9a-f]+ 000031 00 +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/ia64/alias.d b/gas/testsuite/gas/ia64/alias.d -index 398bff4..23b9330 100644 ---- a/gas/testsuite/gas/ia64/alias.d -+++ b/gas/testsuite/gas/ia64/alias.d -@@ -16,12 +16,12 @@ Section Headers: - +0000000000000000 +0000000000000000 +WA +0 +0 +1 - +\[ 4\] 1234 +PROGBITS +0000000000000000 +00000040 - +0000000000000005 +0000000000000000 +WA +0 +0 +1 -- +\[ 5\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -- +0000000000000031 +0000000000000000 +0 +0 +1 -- +\[ 6\] \.symtab +SYMTAB +0000000000000000 .* -- +0000000000000090 +0000000000000018 +7 +6 +8 -- +\[ 7\] \.strtab +STRTAB +0000000000000000 .* -+ +\[ 5\] \.symtab +SYMTAB +0000000000000000 .* -+ +0000000000000090 +0000000000000018 +6 +6 +8 -+ +\[ 6\] \.strtab +STRTAB +0000000000000000 .* - +0000000000000006 +0000000000000000 +0 +0 +1 -+ +\[ 7\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -+ +0000000000000031 +0000000000000000 +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/ia64/group-1.d b/gas/testsuite/gas/ia64/group-1.d -index b4eab14..b90bd88 100644 ---- a/gas/testsuite/gas/ia64/group-1.d -+++ b/gas/testsuite/gas/ia64/group-1.d -@@ -18,12 +18,12 @@ Section Headers: - 0000000000000000 0000000000000000 WA 0 0 1 - \[ 5\] \.text PROGBITS 0000000000000000 00000050 - 0000000000000010 0000000000000000 AXG 0 0 16 -- \[ 6\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -- 0000000000000033 0000000000000000 0 0 1 -- \[ 7\] \.symtab SYMTAB 0000000000000000 .* -- 00000000000000c0 0000000000000018 8 8 8 -- \[ 8\] \.strtab STRTAB 0000000000000000 .* -+ \[ 6\] \.symtab SYMTAB 0000000000000000 .* -+ 00000000000000c0 0000000000000018 7 8 8 -+ \[ 7\] \.strtab STRTAB 0000000000000000 .* - 000000000000000[7c] 0000000000000000 0 0 1 -+ \[ 8\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -+ 0000000000000033 0000000000000000 0 0 1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/ia64/group-2.d b/gas/testsuite/gas/ia64/group-2.d -index 7370367..cc8413f 100644 ---- a/gas/testsuite/gas/ia64/group-2.d -+++ b/gas/testsuite/gas/ia64/group-2.d -@@ -25,12 +25,12 @@ Section Headers: - 0000000000000018 0000000000000000 ALG 5 5 8 - \[ 8\] \.rela\.gnu\.linkonc RELA 0000000000000000 .* - 0000000000000048 0000000000000018 I 10 7 8 -- \[ 9\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -- 0000000000000081 0000000000000000 0 0 1 -- \[10\] \.symtab SYMTAB 0000000000000000 .* -- 00000000000000d8 0000000000000018 11 9 8 -- \[11\] \.strtab STRTAB 0000000000000000 .* -+ \[ 9\] \.symtab SYMTAB 0000000000000000 .* -+ 00000000000000d8 0000000000000018 10 9 8 -+ \[10\] \.strtab STRTAB 0000000000000000 .* - 0000000000000005 0000000000000000 0 0 1 -+ \[11\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -+ 0000000000000081 0000000000000000 0 0 1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/ia64/secname-ilp32.d b/gas/testsuite/gas/ia64/secname-ilp32.d -index 4146307..0b8a771 100644 ---- a/gas/testsuite/gas/ia64/secname-ilp32.d -+++ b/gas/testsuite/gas/ia64/secname-ilp32.d -@@ -12,8 +12,8 @@ Section Headers: - \[ 2\] .data PROGBITS 00000000 000040 000000 00 WA 0 0 1 - \[ 3\] .bss NOBITS 00000000 000040 000000 00 WA 0 0 1 - \[ 4\] .foo PROGBITS 00000000 000040 000008 00 WA 0 0 8 -- \[ 5\] .shstrtab STRTAB 00000000 [0-9a-f]+ 000031 00 0 0 1 -- \[ 6\] .symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 7 5 4 -- \[ 7\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 0 0 1 -+ \[ 5\] .symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 6 5 4 -+ \[ 6\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 0 0 1 -+ \[ 7\] .shstrtab STRTAB 00000000 [0-9a-f]+ 000031 00 0 0 1 - Key to Flags: - #... -diff --git a/gas/testsuite/gas/ia64/secname.d b/gas/testsuite/gas/ia64/secname.d -index 79f1e33..9d02e1a 100644 ---- a/gas/testsuite/gas/ia64/secname.d -+++ b/gas/testsuite/gas/ia64/secname.d -@@ -16,11 +16,11 @@ Section Headers: - 0000000000000000 0000000000000000 WA 0 0 1 - \[ 4\] \.foo PROGBITS 0000000000000000 00000040 - 0000000000000008 0000000000000000 WA 0 0 8 -- \[ 5\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -- 0000000000000031 0000000000000000 0 0 1 -- \[ 6\] \.symtab SYMTAB 0000000000000000 .* -- 0000000000000078 0000000000000018 7 5 8 -- \[ 7\] \.strtab STRTAB 0000000000000000 .* -+ \[ 5\] \.symtab SYMTAB 0000000000000000 .* -+ 0000000000000078 0000000000000018 6 5 8 -+ \[ 6\] \.strtab STRTAB 0000000000000000 .* - 0000000000000001 0000000000000000 0 0 1 -+ \[ 7\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -+ 0000000000000031 0000000000000000 0 0 1 - Key to Flags: - #... -diff --git a/gas/testsuite/gas/ia64/unwind-ilp32.d b/gas/testsuite/gas/ia64/unwind-ilp32.d -index cd25b0d..e96f89b 100644 ---- a/gas/testsuite/gas/ia64/unwind-ilp32.d -+++ b/gas/testsuite/gas/ia64/unwind-ilp32.d -@@ -13,8 +13,8 @@ Section Headers: - \[ 3\] .bss NOBITS 00000000 000040 000000 00 WA 0 0 1 - \[ 4\] .IA_64.unwind_inf PROGBITS 00000000 000040 000008 00 A 0 0 8 - \[ 5\] .IA_64.unwind IA_64_UNWIND 00000000 000048 000008 00 AL 1 1 8 -- \[ 6\] .shstrtab STRTAB 00000000 [0-9a-f]+ 00004d 00 0 0 1 -- \[ 7\] .symtab SYMTAB 00000000 [0-9a-f]+ 000060 10 8 6 4 -- \[ 8\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 0 0 1 -+ \[ 6\] .symtab SYMTAB 00000000 [0-9a-f]+ 000060 10 7 6 4 -+ \[ 7\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 0 0 1 -+ \[ 8\] .shstrtab STRTAB 00000000 [0-9a-f]+ 00004d 00 0 0 1 - Key to Flags: - #... -diff --git a/gas/testsuite/gas/ia64/unwind.d b/gas/testsuite/gas/ia64/unwind.d -index ce71a7a..bdb7af8 100644 ---- a/gas/testsuite/gas/ia64/unwind.d -+++ b/gas/testsuite/gas/ia64/unwind.d -@@ -18,11 +18,11 @@ Section Headers: - 0000000000000008 0000000000000000 A 0 0 8 - \[ 5\] \.IA_64\.unwind IA_64_UNWIND 0000000000000000 00000048 - 0000000000000008 0000000000000000 AL 1 1 8 -- \[ 6\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -- 000000000000004d 0000000000000000 0 0 1 -- \[ 7\] \.symtab SYMTAB 0000000000000000 .* -- 0000000000000090 0000000000000018 8 6 8 -- \[ 8\] \.strtab STRTAB 0000000000000000 .* -+ \[ 6\] \.symtab SYMTAB 0000000000000000 .* -+ 0000000000000090 0000000000000018 7 6 8 -+ \[ 7\] \.strtab STRTAB 0000000000000000 .* - 0000000000000001 0000000000000000 0 0 1 -+ \[ 8\] \.shstrtab STRTAB 0000000000000000 [0-9a-f]+ -+ 000000000000004d 0000000000000000 0 0 1 - Key to Flags: - #... -diff --git a/gas/testsuite/gas/ia64/xdata-ilp32.d b/gas/testsuite/gas/ia64/xdata-ilp32.d -index 8c0bb30..e5dd507 100644 ---- a/gas/testsuite/gas/ia64/xdata-ilp32.d -+++ b/gas/testsuite/gas/ia64/xdata-ilp32.d -@@ -23,7 +23,7 @@ Section Headers: - \[13\] \.xreal\[4\] PROGBITS 00000000 [[:xdigit:]]+ 000020 00 A 0 0 16 - \[14\] \.xstr<1> PROGBITS 00000000 [[:xdigit:]]+ 000003 00 A 0 0 1 - \[15\] \.xstr\{2\} PROGBITS 00000000 [[:xdigit:]]+ 000004 00 A 0 0 1 -- \[16\] .shstrtab STRTAB 00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00 0 0 1 -- \[17\] .symtab SYMTAB 00000000 [[:xdigit:]]+ [[:xdigit:]]+ 10 18 15 4 -- \[18\] .strtab STRTAB 00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00 0 0 1 -+ \[16\] .symtab SYMTAB 00000000 [[:xdigit:]]+ [[:xdigit:]]+ 10 17 15 4 -+ \[17\] .strtab STRTAB 00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00 0 0 1 -+ \[18\] .shstrtab STRTAB 00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00 0 0 1 - #pass -diff --git a/gas/testsuite/gas/ia64/xdata.d b/gas/testsuite/gas/ia64/xdata.d -index dc23b78..eb12819 100644 ---- a/gas/testsuite/gas/ia64/xdata.d -+++ b/gas/testsuite/gas/ia64/xdata.d -@@ -38,10 +38,10 @@ Section Headers: - 0000000000000003 0000000000000000 A 0 0 1 - \[15\] \.xstr\{2\} PROGBITS 0000000000000000 [[:xdigit:]]+ - 0000000000000004 0000000000000000 A 0 0 1 -- \[16\] \.shstrtab STRTAB 0000000000000000 [[:xdigit:]]+ -+ \[16\] \.symtab SYMTAB 0000000000000000 [[:xdigit:]]+ -+ [[:xdigit:]]+ 0000000000000018 17 15 8 -+ \[17\] \.strtab STRTAB 0000000000000000 [[:xdigit:]]+ - [[:xdigit:]]+ 0000000000000000 0 0 1 -- \[17\] \.symtab SYMTAB 0000000000000000 [[:xdigit:]]+ -- [[:xdigit:]]+ 0000000000000018 18 15 8 -- \[18\] \.strtab STRTAB 0000000000000000 [[:xdigit:]]+ -+ \[18\] \.shstrtab STRTAB 0000000000000000 [[:xdigit:]]+ - [[:xdigit:]]+ 0000000000000000 0 0 1 - #pass -diff --git a/gas/testsuite/gas/mmix/bspec-1.d b/gas/testsuite/gas/mmix/bspec-1.d -index a18d242..4bbda8d 100644 ---- a/gas/testsuite/gas/mmix/bspec-1.d -+++ b/gas/testsuite/gas/mmix/bspec-1.d -@@ -4,7 +4,7 @@ There are 9 section headers, starting at offset .*: - +\[ 4\] \.MMIX\.spec_data\.2 +PROGBITS +0+ +0+44 - +0+4 +0+ +0 +0 +4 - +\[ 5\] \.rela\.MMIX\.spec_d +RELA +0+ +.* -- +0+18 +0+18 +I +7 +4 +8 -+ +0+18 +0+18 +I +6 +4 +8 - #... - Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x[0-9a-f]+ contains 1 entries: - .* -diff --git a/gas/testsuite/gas/mmix/bspec-2.d b/gas/testsuite/gas/mmix/bspec-2.d -index a9ce03d..ab3afd3 100644 ---- a/gas/testsuite/gas/mmix/bspec-2.d -+++ b/gas/testsuite/gas/mmix/bspec-2.d -@@ -4,11 +4,11 @@ There are 11 section headers, starting at offset .*: - \[ 4\] \.MMIX\.spec_data\.2 PROGBITS 0+ 0+48 - 0+10 0+ 0 0 8 - \[ 5\] \.rela\.MMIX\.spec_d RELA 0+ .* -- +0+30 0+18 +I +9 +4 +8 -+ +0+30 0+18 +I +8 +4 +8 - \[ 6\] \.MMIX\.spec_data\.3 PROGBITS 0+ 0+58 - 0+8 0+ 0 0 8 - \[ 7\] \.rela\.MMIX\.spec_d RELA 0+ .* -- +0+18 +0+18 +I +9 +6 +8 -+ +0+18 +0+18 +I +8 +6 +8 - #... - Relocation section '\.rela\.MMIX\.spec_data\.2' at offset .* contains 2 entries: - .* -diff --git a/gas/testsuite/gas/mmix/byte-1.d b/gas/testsuite/gas/mmix/byte-1.d -index b6c2768..a77eb08 100644 ---- a/gas/testsuite/gas/mmix/byte-1.d -+++ b/gas/testsuite/gas/mmix/byte-1.d -@@ -12,12 +12,12 @@ Section Headers: - +0000000000000000 +0000000000000000 +WA +0 +0 +1 - +\[ 3\] \.bss +NOBITS +0000000000000000 +00000056 - +0000000000000000 +0000000000000000 +WA +0 +0 +1 -- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -- +000000000000002c +0000000000000000 +0 +0 +1 -- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .* -- +00000000000000c0 +0000000000000018 +6 +7 +8 -- +\[ 6\] \.strtab +STRTAB +0000000000000000 .* -+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .* -+ +00000000000000c0 +0000000000000018 +5 +7 +8 -+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .* - +0000000000000018 +0000000000000000 +0 +0 +1 -+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -+ +000000000000002c +0000000000000000 +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/mmix/loc-1.d b/gas/testsuite/gas/mmix/loc-1.d -index e45b1d5..e46247d 100644 ---- a/gas/testsuite/gas/mmix/loc-1.d -+++ b/gas/testsuite/gas/mmix/loc-1.d -@@ -13,12 +13,12 @@ Section Headers: - +0000000000000004 +0000000000000000 +WA +0 +0 +4 - +\[ 3\] \.bss +NOBITS +0000000000000000 +00000064 - +0000000000000000 +0000000000000000 +WA +0 +0 +1 -- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -- +000000000000002c +0000000000000000 +0 +0 +1 -- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .* -- +00000000000000c0 +0000000000000018 +6 +6 +8 -- +\[ 6\] \.strtab +STRTAB +0000000000000000 .* -+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .* -+ +00000000000000c0 +0000000000000018 +5 +6 +8 -+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .* - +000000000000002a +0000000000000000 +0 +0 +1 -+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -+ +000000000000002c +0000000000000000 +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/mmix/loc-2.d b/gas/testsuite/gas/mmix/loc-2.d -index b92cabb..8d7ec8b 100644 ---- a/gas/testsuite/gas/mmix/loc-2.d -+++ b/gas/testsuite/gas/mmix/loc-2.d -@@ -13,12 +13,12 @@ Section Headers: - +0000000000000000 +0000000000000000 +WA +0 +0 +1 - +\[ 3\] \.bss +NOBITS +0000000000000000 +00000048 - +0000000000000000 +0000000000000000 +WA +0 +0 +1 -- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -- +000000000000002c +0000000000000000 +0 +0 +1 -- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .* -- +0000000000000090 +0000000000000018 +6 +4 +8 -- +\[ 6\] \.strtab +STRTAB +0000000000000000 .* -+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .* -+ +0000000000000090 +0000000000000018 +5 +4 +8 -+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .* - +000000000000001a +0000000000000000 +0 +0 +1 -+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -+ +000000000000002c +0000000000000000 +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/mmix/loc-3.d b/gas/testsuite/gas/mmix/loc-3.d -index 2c477db..14a68fa 100644 ---- a/gas/testsuite/gas/mmix/loc-3.d -+++ b/gas/testsuite/gas/mmix/loc-3.d -@@ -12,12 +12,12 @@ Section Headers: - +0000000000000008 +0000000000000000 +WA +0 +0 +4 - +\[ 3\] \.bss +NOBITS +0000000000000000 +00000054 - +0000000000000000 +0000000000000000 +WA +0 +0 +1 -- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -- +000000000000002c +0000000000000000 +0 +0 +1 -- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .* -- +00000000000000c0 +0000000000000018 +6 +5 +8 -- +\[ 6\] \.strtab +STRTAB +0000000000000000 .* -+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .* -+ +00000000000000c0 +0000000000000018 +5 +5 +8 -+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .* - +000000000000002e +0000000000000000 +0 +0 +1 -+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -+ +000000000000002c +0000000000000000 +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/mmix/loc-4.d b/gas/testsuite/gas/mmix/loc-4.d -index 1efc084..935cc18 100644 ---- a/gas/testsuite/gas/mmix/loc-4.d -+++ b/gas/testsuite/gas/mmix/loc-4.d -@@ -12,12 +12,12 @@ Section Headers: - +0000000000000004 +0000000000000000 +WA +0 +0 +4 - +\[ 3\] \.bss +NOBITS +0000000000000000 +0000005c - +0000000000000000 +0000000000000000 +WA +0 +0 +1 -- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -- +000000000000002c +0000000000000000 +0 +0 +1 -- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .* -- +00000000000000c0 +0000000000000018 +6 +5 +8 -- +\[ 6\] \.strtab +STRTAB +0000000000000000 .* -+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .* -+ +00000000000000c0 +0000000000000018 +5 +5 +8 -+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .* - +000000000000003b +0000000000000000 +0 +0 +1 -+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ -+ +000000000000002c +0000000000000000 +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/mmix/loc-5.d b/gas/testsuite/gas/mmix/loc-5.d -index fa80a86..a8e7545 100644 ---- a/gas/testsuite/gas/mmix/loc-5.d -+++ b/gas/testsuite/gas/mmix/loc-5.d -@@ -12,12 +12,12 @@ Section Headers: - +0+24 +0+ +WA +0 +0 +4 - +\[ 3\] \.bss +NOBITS +0+ +0+6c - +0+ +0+ +WA +0 +0 +1 -- +\[ 4\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -- +0+2c +0+ +0 +0 +1 -- +\[ 5\] \.symtab +SYMTAB +0+ .* -- +0+c0 +0+18 +6 +6 +8 -- +\[ 6\] \.strtab +STRTAB +0+ .* -+ +\[ 4\] \.symtab +SYMTAB +0+ .* -+ +0+c0 +0+18 +5 +6 +8 -+ +\[ 5\] \.strtab +STRTAB +0+ .* - +0+27 +0+ +0 +0 +1 -+ +\[ 6\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +0+2c +0+ +0 +0 +1 - Key to Flags: - #... - -diff --git a/gas/testsuite/gas/tic6x/scomm-directive-4.d b/gas/testsuite/gas/tic6x/scomm-directive-4.d -index 7822e8f..219673d 100644 ---- a/gas/testsuite/gas/tic6x/scomm-directive-4.d -+++ b/gas/testsuite/gas/tic6x/scomm-directive-4.d -@@ -12,9 +12,9 @@ Section Headers: - \[ 2\] \.data PROGBITS 00000000 000034 000000 00 WA 0 0 1 - \[ 3\] \.bss NOBITS 00000000 000034 000000 00 WA 0 0 1 - \[ 4\] \.c6xabi\.attribute C6000_ATTRIBUTE 00000000 000034 000013 00 0 0 1 -- \[ 5\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00003f 00 0 0 1 -- \[ 6\] \.symtab SYMTAB 00000000 [0-9a-f]+ 0000d0 10 7 5 4 -- \[ 7\] \.strtab STRTAB 00000000 [0-9a-f]+ 00001d 00 0 0 1 -+ \[ 5\] \.symtab SYMTAB 00000000 [0-9a-f]+ 0000d0 10 6 5 4 -+ \[ 6\] \.strtab STRTAB 00000000 [0-9a-f]+ 00001d 00 0 0 1 -+ \[ 7\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00003f 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-alpha/tlsbin.rd b/ld/testsuite/ld-alpha/tlsbin.rd -index 2184e5e..21fb11a 100644 ---- a/ld/testsuite/ld-alpha/tlsbin.rd -+++ b/ld/testsuite/ld-alpha/tlsbin.rd -@@ -24,9 +24,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 10 +WA +4 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-alpha/tlsbinr.rd b/ld/testsuite/ld-alpha/tlsbinr.rd -index 0329ba9..8b7b76a 100644 ---- a/ld/testsuite/ld-alpha/tlsbinr.rd -+++ b/ld/testsuite/ld-alpha/tlsbinr.rd -@@ -24,9 +24,9 @@ Section Headers: - +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ WAT +0 +0 +1 - +\[[ 0-9]+\] \.dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 10 +WA +4 +0 +8 - +\[[ 0-9]+\] \.got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ +WA +0 +0 +8 -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-alpha/tlspic.rd b/ld/testsuite/ld-alpha/tlspic.rd -index 7a97847..f1fb974 100644 ---- a/ld/testsuite/ld-alpha/tlspic.rd -+++ b/ld/testsuite/ld-alpha/tlspic.rd -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-cris/libdso-2.d b/ld/testsuite/ld-cris/libdso-2.d -index 3b4777a..aa4a7c8 100644 ---- a/ld/testsuite/ld-cris/libdso-2.d -+++ b/ld/testsuite/ld-cris/libdso-2.d -@@ -21,9 +21,9 @@ There are 13 section headers.* - +\[ 7\] \.text +PROGBITS .* - +\[ 8\] \.dynamic +DYNAMIC +.* - +\[ 9\] \.got +PROGBITS .* -- +\[10\] \.shstrtab +STRTAB +.* -- +\[11\] \.symtab +SYMTAB +.* -- +\[12\] \.strtab +STRTAB +.* -+ +\[10\] \.symtab +SYMTAB +.* -+ +\[11\] \.strtab +STRTAB +.* -+ +\[12\] \.shstrtab +STRTAB +.* - #... - Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries: - #... -diff --git a/ld/testsuite/ld-i386/nogot1.d b/ld/testsuite/ld-i386/nogot1.d -index a6c8832..018c24d 100644 ---- a/ld/testsuite/ld-i386/nogot1.d -+++ b/ld/testsuite/ld-i386/nogot1.d -@@ -4,5 +4,6 @@ - - #... - [ ]*\[.*\][ ]+\.dynamic[ ]+DYNAMIC.* -+#... - [ ]*\[.*\][ ]+.*STRTAB.* - #pass -diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d -index 87905c3..ec51540 100644 ---- a/ld/testsuite/ld-i386/pr12718.d -+++ b/ld/testsuite/ld-i386/pr12718.d -@@ -9,8 +9,8 @@ Section Headers: - +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al - +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0 - +\[ 1\] +.text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +000006 00 +AX +0 +0 +1 -- +\[ 2\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1 -- +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 10 +4 +[0-9] +4 -- +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1 -+ +\[ 2\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 10 +3 +[0-9] +4 -+ +\[ 3\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1 -+ +\[ 4\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1 - Key to Flags: - #pass -diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d -index c72b04c..e49079b 100644 ---- a/ld/testsuite/ld-i386/pr12921.d -+++ b/ld/testsuite/ld-i386/pr12921.d -@@ -11,8 +11,8 @@ Section Headers: - +\[ 1\] .text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+1 00 +AX +0 +0 +4096 - +\[ 2\] .data +PROGBITS +[0-9a-f]+ +[0-9a-f]+000 +0+20 +00 +WA +0 +0 +4096 - +\[ 3\] .bss +NOBITS +[0-9a-f]+ +[0-9a-f]+020 +0+10000 +00 +WA +0 +0 +4096 -- +\[ 4\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1 -- +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +10 +6 +[0-9] +4 -- +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 -+ +\[ 4\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +10 +5 +[0-9] +4 -+ +\[ 5\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 -+ +\[ 6\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1 - Key to Flags: - #pass -diff --git a/ld/testsuite/ld-i386/tlsbin-nacl.rd b/ld/testsuite/ld-i386/tlsbin-nacl.rd -index 1e1cf7c..89a0673 100644 ---- a/ld/testsuite/ld-i386/tlsbin-nacl.rd -+++ b/ld/testsuite/ld-i386/tlsbin-nacl.rd -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .* - +\[[ 0-9]+\] \.got +PROGBITS +0*10031100 .* - +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031124 .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsbin.rd b/ld/testsuite/ld-i386/tlsbin.rd -index 12b3e81..23fffd1 100644 ---- a/ld/testsuite/ld-i386/tlsbin.rd -+++ b/ld/testsuite/ld-i386/tlsbin.rd -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+804a060 .* - +\[[ 0-9]+\] \.got +PROGBITS +0+804a100 .* - +\[[ 0-9]+\] \.got\.plt +PROGBITS +0+804a124 .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsbin2-nacl.rd b/ld/testsuite/ld-i386/tlsbin2-nacl.rd -index b23bfe0..0011716 100644 ---- a/ld/testsuite/ld-i386/tlsbin2-nacl.rd -+++ b/ld/testsuite/ld-i386/tlsbin2-nacl.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .* - +\[[ 0-9]+\] \.got +PROGBITS +0*100310e0 .* - +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031108 .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsbin2.rd b/ld/testsuite/ld-i386/tlsbin2.rd -index 05d4ddb..e34d167 100644 ---- a/ld/testsuite/ld-i386/tlsbin2.rd -+++ b/ld/testsuite/ld-i386/tlsbin2.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+804a060 .* - +\[[ 0-9]+\] \.got +PROGBITS +0+804a0e0 .* - +\[[ 0-9]+\] \.got\.plt +PROGBITS +0+804a108 .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd -index 51cffc0..39c60a5 100644 ---- a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd -+++ b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .* - +\[[ 0-9]+\] \.got +PROGBITS +0*100310e0 .* - +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031104 .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsbindesc.rd b/ld/testsuite/ld-i386/tlsbindesc.rd -index 7f7194c..7cc85f1 100644 ---- a/ld/testsuite/ld-i386/tlsbindesc.rd -+++ b/ld/testsuite/ld-i386/tlsbindesc.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+804a060 .* - +\[[ 0-9]+\] \.got +PROGBITS +0+804a0e0 .* - +\[[ 0-9]+\] \.got\.plt +PROGBITS +0+804a104 .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsdesc-nacl.rd b/ld/testsuite/ld-i386/tlsdesc-nacl.rd -index b28744f..20c8ea2 100644 ---- a/ld/testsuite/ld-i386/tlsdesc-nacl.rd -+++ b/ld/testsuite/ld-i386/tlsdesc-nacl.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd -index 68695ff..3486847 100644 ---- a/ld/testsuite/ld-i386/tlsdesc.rd -+++ b/ld/testsuite/ld-i386/tlsdesc.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd -index ba5fa62..407bf2c 100644 ---- a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd -+++ b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsgdesc.rd b/ld/testsuite/ld-i386/tlsgdesc.rd -index 929ffa2..269cede 100644 ---- a/ld/testsuite/ld-i386/tlsgdesc.rd -+++ b/ld/testsuite/ld-i386/tlsgdesc.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsnopic-nacl.rd b/ld/testsuite/ld-i386/tlsnopic-nacl.rd -index b14164a..15e7eea 100644 ---- a/ld/testsuite/ld-i386/tlsnopic-nacl.rd -+++ b/ld/testsuite/ld-i386/tlsnopic-nacl.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010284 .* - +\[[ 0-9]+\] \.got +PROGBITS +0*10010304 .* - +\[[ 0-9]+\] \.got.plt +PROGBITS +0*1001031c .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlsnopic.rd b/ld/testsuite/ld-i386/tlsnopic.rd -index b754158..b60fb1d 100644 ---- a/ld/testsuite/ld-i386/tlsnopic.rd -+++ b/ld/testsuite/ld-i386/tlsnopic.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+20f4 .* - +\[[ 0-9]+\] \.got +PROGBITS +0+2174 .* - +\[[ 0-9]+\] \.got.plt +PROGBITS +0+218c .* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlspic-nacl.rd b/ld/testsuite/ld-i386/tlspic-nacl.rd -index b7d3e35..9645e35 100644 ---- a/ld/testsuite/ld-i386/tlspic-nacl.rd -+++ b/ld/testsuite/ld-i386/tlspic-nacl.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd -index f693760..6b915e5 100644 ---- a/ld/testsuite/ld-i386/tlspic.rd -+++ b/ld/testsuite/ld-i386/tlspic.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlspic2-nacl.rd b/ld/testsuite/ld-i386/tlspic2-nacl.rd -index 560e840..5fb6ba6 100644 ---- a/ld/testsuite/ld-i386/tlspic2-nacl.rd -+++ b/ld/testsuite/ld-i386/tlspic2-nacl.rd -@@ -20,9 +20,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-i386/tlspic2.rd b/ld/testsuite/ld-i386/tlspic2.rd -index a135547..ab00063 100644 ---- a/ld/testsuite/ld-i386/tlspic2.rd -+++ b/ld/testsuite/ld-i386/tlspic2.rd -@@ -20,9 +20,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-ia64/tlsbin.rd b/ld/testsuite/ld-ia64/tlsbin.rd -index ab2dacd..08c6a59 100644 ---- a/ld/testsuite/ld-ia64/tlsbin.rd -+++ b/ld/testsuite/ld-ia64/tlsbin.rd -@@ -25,9 +25,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +60+1[0-9a-f]+ 0+1[0-9a-f]+ 0+150 10 +WA +4 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +60+1318 0+1318 0+48 00 WAp +0 +0 +8 - +\[[ 0-9]+\] .IA_64.pltoff +.* -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-ia64/tlspic.rd b/ld/testsuite/ld-ia64/tlspic.rd -index 9666f86..cfcf8ed 100644 ---- a/ld/testsuite/ld-ia64/tlspic.rd -+++ b/ld/testsuite/ld-ia64/tlspic.rd -@@ -24,9 +24,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+11[0-9a-f]+ 0+1[0-9a-f]+ 0+140 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+112d8 0+12d8 0+50 00 WAp +0 +0 +8 - +\[[ 0-9]+\] .IA_64.pltoff +.* -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d -index e3a1c9c..8827e41 100644 ---- a/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d -+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d -@@ -22,7 +22,7 @@ ELF Header: - Number of program headers: 0 - Size of section headers: 40 \(bytes\) - Number of section headers: 11 -- Section header string table index: 8 -+ Section header string table index: 10 - - Attribute Section: gnu - File Attributes -diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d -index 5dc46d3..1fcab63 100644 ---- a/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d -+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d -@@ -22,7 +22,7 @@ ELF Header: - Number of program headers: 0 - Size of section headers: 40 \(bytes\) - Number of section headers: 11 -- Section header string table index: 8 -+ Section header string table index: 10 - Attribute Section: gnu - File Attributes - Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, Any FPU\) -diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d -index ea80c18..48a9839 100644 ---- a/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d -+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d -@@ -22,7 +22,7 @@ ELF Header: - Number of program headers: 0 - Size of section headers: 40 \(bytes\) - Number of section headers: 11 -- Section header string table index: 8 -+ Section header string table index: 10 - Attribute Section: gnu - File Attributes - Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\) -diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d -index edbd61f..ca17421 100644 ---- a/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d -+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d -@@ -22,7 +22,7 @@ ELF Header: - Number of program headers: 0 - Size of section headers: 40 \(bytes\) - Number of section headers: 11 -- Section header string table index: 8 -+ Section header string table index: 10 - Attribute Section: gnu - File Attributes - Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\) -diff --git a/ld/testsuite/ld-mmix/bspec1.d b/ld/testsuite/ld-mmix/bspec1.d -index 6440bbe..3d07d2d 100644 ---- a/ld/testsuite/ld-mmix/bspec1.d -+++ b/ld/testsuite/ld-mmix/bspec1.d -@@ -14,12 +14,12 @@ Section Headers: - +0+4 +0+ +AX +0 +0 +4 - +\[ 2\] \.MMIX\.spec_data\.2 PROGBITS +0+ +0+7c - +0+4 +0+ +0 +0 +4 -- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -- +0+33 +0+ +0 +0 +1 -- +\[ 4\] \.symtab +SYMTAB +0+ .* -- +0+d8 +0+18 +5 +3 +8 -- +\[ 5\] \.strtab +STRTAB +0+ .* -+ +\[ 3\] \.symtab +SYMTAB +0+ .* -+ +0+d8 +0+18 +4 +3 +8 -+ +\[ 4\] \.strtab +STRTAB +0+ .* - +0+26 +0+ +0 +0 +1 -+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +0+33 +0+ +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-mmix/bspec2.d b/ld/testsuite/ld-mmix/bspec2.d -index e881b08..b18fe47 100644 ---- a/ld/testsuite/ld-mmix/bspec2.d -+++ b/ld/testsuite/ld-mmix/bspec2.d -@@ -19,12 +19,12 @@ Section Headers: - +0+8 +0+ +0 +0 +4 - +\[ 3\] \.MMIX\.spec_data\.3 PROGBITS +0+ +0+84 - +0+4 +0+ +0 +0 +4 -- +\[ 4\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -- +0+45 +0+ +0 +0 +1 -- +\[ 5\] \.symtab +SYMTAB +0+ .* -- +0+108 +0+18 +6 +4 +8 -- +\[ 6\] \.strtab +STRTAB +0+ .* -+ +\[ 4\] \.symtab +SYMTAB +0+ .* -+ +0+108 +0+18 +5 +4 +8 -+ +\[ 5\] \.strtab +STRTAB +0+ .* - +0+2b +0+ +0 +0 +1 -+ +\[ 6\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +0+45 +0+ +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-mmix/local1.d b/ld/testsuite/ld-mmix/local1.d -index 478d17b..41a67c2 100644 ---- a/ld/testsuite/ld-mmix/local1.d -+++ b/ld/testsuite/ld-mmix/local1.d -@@ -21,12 +21,12 @@ Section Headers: - +0+8 +0+ +AX +0 +0 +4 - +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+80 - +0+10 +0+ +W +0 +0 +1 -- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -- +0+34 +0+ +0 +0 +1 -- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -- +[0-9a-f]+ +0+18 +5 +[0-9] +8 -- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ -+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -+ +[0-9a-f]+ +0+18 +4 +[0-9] +8 -+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+ - +[0-9a-f]+ +0+ +0 +0 +1 -+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +0+34 +0+ +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-mmix/local3.d b/ld/testsuite/ld-mmix/local3.d -index 9b9001a..74840d3 100644 ---- a/ld/testsuite/ld-mmix/local3.d -+++ b/ld/testsuite/ld-mmix/local3.d -@@ -19,12 +19,12 @@ Section Headers: - +0+8 +0+ +AX +0 +0 +4 - +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+80 - +0+10 +0+ +W +0 +0 +1 -- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -- +0+34 +0+ +0 +0 +1 -- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -- +[0-9a-f]+ +0+18 +5 +[0-9] +8 -- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ -+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -+ +[0-9a-f]+ +0+18 +4 +[0-9] +8 -+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+ - +[0-9a-f]+ +0+ +0 +0 +1 -+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +0+34 +0+ +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-mmix/local5.d b/ld/testsuite/ld-mmix/local5.d -index 93bacd3..ae81364 100644 ---- a/ld/testsuite/ld-mmix/local5.d -+++ b/ld/testsuite/ld-mmix/local5.d -@@ -20,12 +20,12 @@ Section Headers: - +0+c +0+ +AX +0 +0 +4 - +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+84 - +0+10 +0+ +W +0 +0 +1 -- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -- +0+34 +0+ +0 +0 +1 -- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -- +[0-9a-f]+ +0+18 +5 +[0-9] +8 -- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ -+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -+ +[0-9a-f]+ +0+18 +4 +[0-9] +8 -+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+ - +[0-9a-f]+ +0+ +0 +0 +1 -+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +0+34 +0+ +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-mmix/local7.d b/ld/testsuite/ld-mmix/local7.d -index 1495bf1..6d80cc9 100644 ---- a/ld/testsuite/ld-mmix/local7.d -+++ b/ld/testsuite/ld-mmix/local7.d -@@ -21,12 +21,12 @@ Section Headers: - +0+c +0+ +AX +0 +0 +4 - +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+84 - +0+10 +0+ +W +0 +0 +1 -- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -- +0+34 +0+ +0 +0 +1 -- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -- +[0-9a-f]+ +0+18 +5 +[0-9] +8 -- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ -+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+ -+ +[0-9a-f]+ +0+18 +4 +[0-9] +8 -+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+ - +[0-9a-f]+ +0+ +0 +0 +1 -+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +0+34 +0+ +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-mmix/undef-3.d b/ld/testsuite/ld-mmix/undef-3.d -index 94eeeaa..6afb52b 100644 ---- a/ld/testsuite/ld-mmix/undef-3.d -+++ b/ld/testsuite/ld-mmix/undef-3.d -@@ -11,11 +11,11 @@ Section Headers: - +0+ +0+ +0 +0 +0 - +\[ 1\] \.text +PROGBITS +0+ +0+78 - +0+4 +0+ +AX +0 +0 +4 -- +\[ 2\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ -+ +\[ 2\] \.symtab +SYMTAB +0+ .* -+ +0+a8 +0+18 +3 +2 +8 -+ +\[ 3\] \.strtab +STRTAB +0+ .* - +0+21 +0+ +0 +0 +1 -- +\[ 3\] \.symtab +SYMTAB +0+ .* -- +0+a8 +0+18 +4 +2 +8 -- +\[ 4\] \.strtab +STRTAB +0+ .* -+ +\[ 4\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ - +0+21 +0+ +0 +0 +1 - Key to Flags: - #... -diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r -index db72ad7..11da4a8 100644 ---- a/ld/testsuite/ld-powerpc/tlsexe.r -+++ b/ld/testsuite/ld-powerpc/tlsexe.r -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] \.opd .* - +\[[ 0-9]+\] \.got +PROGBITS .* 0+30 08 +WA +0 +0 +256 - +\[[ 0-9]+\] \.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-powerpc/tlsexe32.r b/ld/testsuite/ld-powerpc/tlsexe32.r -index a3304ec..baa3ee6 100644 ---- a/ld/testsuite/ld-powerpc/tlsexe32.r -+++ b/ld/testsuite/ld-powerpc/tlsexe32.r -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 08 +WA +4 +0 +4 - +\[[ 0-9]+\] \.got +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000018 04 +WA +0 +0 +4 - +\[[ 0-9]+\] \.plt +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000004 00 +WA +0 +0 +4 -- +\[[ 0-9]+\] \.shstrtab +STRTAB +.* - +\[[ 0-9]+\] \.symtab +SYMTAB +.* - +\[[ 0-9]+\] \.strtab +STRTAB +.* -+ +\[[ 0-9]+\] \.shstrtab +STRTAB +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r -index 56716bb..5c4a490 100644 ---- a/ld/testsuite/ld-powerpc/tlsexetoc.r -+++ b/ld/testsuite/ld-powerpc/tlsexetoc.r -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] \.opd .* - +\[[ 0-9]+\] \.got +PROGBITS .* 0+58 08 +WA +0 +0 +256 - +\[[ 0-9]+\] \.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-powerpc/tlsso.r b/ld/testsuite/ld-powerpc/tlsso.r -index fd3002b..4ba6173 100644 ---- a/ld/testsuite/ld-powerpc/tlsso.r -+++ b/ld/testsuite/ld-powerpc/tlsso.r -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.opd .* - +\[[ 0-9]+\] \.got .* - +\[[ 0-9]+\] \.plt .* -- +\[[ 0-9]+\] \.shstrtab .* - +\[[ 0-9]+\] \.symtab .* - +\[[ 0-9]+\] \.strtab .* -+ +\[[ 0-9]+\] \.shstrtab .* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-powerpc/tlsso32.r b/ld/testsuite/ld-powerpc/tlsso32.r -index 4d12c48..bc3b7c0 100644 ---- a/ld/testsuite/ld-powerpc/tlsso32.r -+++ b/ld/testsuite/ld-powerpc/tlsso32.r -@@ -20,9 +20,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +DYNAMIC .* 08 +WA +3 +0 +4 - +\[[ 0-9]+\] \.got +PROGBITS .* 0+30 04 +WA +0 +0 +4 - +\[[ 0-9]+\] \.plt +PROGBITS .* 0+4 00 +WA +0 +0 +4 -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-powerpc/tlstocso.r b/ld/testsuite/ld-powerpc/tlstocso.r -index 765bf08..bf7cf84 100644 ---- a/ld/testsuite/ld-powerpc/tlstocso.r -+++ b/ld/testsuite/ld-powerpc/tlstocso.r -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] \.opd .* - +\[[ 0-9]+\] \.got .* - +\[[ 0-9]+\] \.plt .* -- +\[[ 0-9]+\] \.shstrtab .* - +\[[ 0-9]+\] \.symtab .* - +\[[ 0-9]+\] \.strtab .* -+ +\[[ 0-9]+\] \.shstrtab .* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-s390/tlsbin.rd b/ld/testsuite/ld-s390/tlsbin.rd -index 32c883a..b45fc29 100644 ---- a/ld/testsuite/ld-s390/tlsbin.rd -+++ b/ld/testsuite/ld-s390/tlsbin.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS .* 0+40 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC .* - +\[[ 0-9]+\] .got +PROGBITS .* -- +\[[ 0-9]+\] .shstrtab .* - +\[[ 0-9]+\] .symtab .* - +\[[ 0-9]+\] .strtab .* -+ +\[[ 0-9]+\] .shstrtab .* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd -index 38d5789..f7caa16 100644 ---- a/ld/testsuite/ld-s390/tlsbin_64.rd -+++ b/ld/testsuite/ld-s390/tlsbin_64.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS .* 0+40 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC .* - +\[[ 0-9]+\] .got +PROGBITS .* -- +\[[ 0-9]+\] .shstrtab .* - +\[[ 0-9]+\] .symtab .* - +\[[ 0-9]+\] .strtab .* -+ +\[[ 0-9]+\] .shstrtab .* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd -index 07d29c2..5159863 100644 ---- a/ld/testsuite/ld-s390/tlspic.rd -+++ b/ld/testsuite/ld-s390/tlspic.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS .* 0+20 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC .* - +\[[ 0-9]+\] .got +PROGBITS .* -- +\[[ 0-9]+\] .shstrtab .* - +\[[ 0-9]+\] .symtab .* - +\[[ 0-9]+\] .strtab .* -+ +\[[ 0-9]+\] .shstrtab .* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd -index 6197f8a..7f8dc1b 100644 ---- a/ld/testsuite/ld-s390/tlspic_64.rd -+++ b/ld/testsuite/ld-s390/tlspic_64.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS .* 0+20 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC .* - +\[[ 0-9]+\] .got +PROGBITS .* -- +\[[ 0-9]+\] .shstrtab .* - +\[[ 0-9]+\] .symtab .* - +\[[ 0-9]+\] .strtab .* -+ +\[[ 0-9]+\] .shstrtab .* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/sh64/crange1.rd b/ld/testsuite/ld-sh/sh64/crange1.rd -index e22d502..83c1e9b 100644 ---- a/ld/testsuite/ld-sh/sh64/crange1.rd -+++ b/ld/testsuite/ld-sh/sh64/crange1.rd -@@ -7,9 +7,9 @@ Section Headers: - +\[ 2\] \.text +PROGBITS +00001004 000084 000018 00 AXp +0 +0 +4 - +\[ 3\] \.stack +PROGBITS +00080000 000100 000004 00 +WA +0 +0 +1 - +\[ 4\] \.cranges +LOUSER\+1 +00000000 000104 00001e 00 +W +0 +0 +1 -- +\[ 5\] \.shstrtab +STRTAB +.* -- +\[ 6\] \.symtab +SYMTAB +.* -- +\[ 7\] \.strtab +STRTAB +.* -+ +\[ 5\] \.symtab +SYMTAB +.* -+ +\[ 6\] \.strtab +STRTAB +.* -+ +\[ 7\] \.shstrtab +STRTAB +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/sh64/crange2.rd b/ld/testsuite/ld-sh/sh64/crange2.rd -index 5074087..e7416e1 100644 ---- a/ld/testsuite/ld-sh/sh64/crange2.rd -+++ b/ld/testsuite/ld-sh/sh64/crange2.rd -@@ -7,9 +7,9 @@ Section Headers: - +\[ 2\] \.text +PROGBITS +00001004 000084 00005c 00 AXp +0 +0 +4 - +\[ 3\] \.stack +PROGBITS +00080000 000100 000004 00 +WA +0 +0 +1 - +\[ 4\] \.cranges +LOUSER\+1 +00000000 000104 000046 00 +W +0 +0 +1 -- +\[ 5\] \.shstrtab +STRTAB +.* -- +\[ 6\] \.symtab +SYMTAB +.* -- +\[ 7\] \.strtab +STRTAB +.* -+ +\[ 5\] \.symtab +SYMTAB +.* -+ +\[ 6\] \.strtab +STRTAB +.* -+ +\[ 7\] \.shstrtab +STRTAB +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd b/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd -index d4f090e..9f5f595 100644 ---- a/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd -+++ b/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd -@@ -17,7 +17,7 @@ ELF Header: - +Number of program headers: +2 - +Size of section headers: +40 \(bytes\) - +Number of section headers: +8 -- +Section header string table index: 5 -+ +Section header string table index: 7 - - Section Headers: - +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al -@@ -26,9 +26,9 @@ Section Headers: - +\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4 - +\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1 - +\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1 -- +\[ 5\] \.shstrtab +STRTAB +.* -- +\[ 6\] \.symtab +SYMTAB +.* -- +\[ 7\] \.strtab +STRTAB +.* -+ +\[ 5\] \.symtab +SYMTAB +.* -+ +\[ 6\] \.strtab +STRTAB +.* -+ +\[ 7\] \.shstrtab +STRTAB +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/sh64/crange3-media.rd b/ld/testsuite/ld-sh/sh64/crange3-media.rd -index 5a856d4..926925c 100644 ---- a/ld/testsuite/ld-sh/sh64/crange3-media.rd -+++ b/ld/testsuite/ld-sh/sh64/crange3-media.rd -@@ -17,7 +17,7 @@ ELF Header: - +Number of program headers: +2 - +Size of section headers: +40 \(bytes\) - +Number of section headers: +8 -- +Section header string table index: 5 -+ +Section header string table index: 7 - - Section Headers: - +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al -@@ -26,9 +26,9 @@ Section Headers: - +\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4 - +\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1 - +\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1 -- +\[ 5\] \.shstrtab +STRTAB +.* -- +\[ 6\] \.symtab +SYMTAB +.* -- +\[ 7\] \.strtab +STRTAB +.* -+ +\[ 5\] \.symtab +SYMTAB +.* -+ +\[ 6\] \.strtab +STRTAB +.* -+ +\[ 7\] \.shstrtab +STRTAB +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/sh64/crange3.rd b/ld/testsuite/ld-sh/sh64/crange3.rd -index b495861..8870e0b 100644 ---- a/ld/testsuite/ld-sh/sh64/crange3.rd -+++ b/ld/testsuite/ld-sh/sh64/crange3.rd -@@ -7,9 +7,9 @@ Section Headers: - +\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4 - +\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1 - +\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1 -- +\[ 5\] \.shstrtab +STRTAB +.* -- +\[ 6\] \.symtab +SYMTAB +.* -- +\[ 7\] \.strtab +STRTAB +.* -+ +\[ 5\] \.symtab +SYMTAB +.* -+ +\[ 6\] \.strtab +STRTAB +.* -+ +\[ 7\] \.shstrtab +STRTAB +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/sh64/crangerel1.rd b/ld/testsuite/ld-sh/sh64/crangerel1.rd -index 90d71c5..3443f2a 100644 ---- a/ld/testsuite/ld-sh/sh64/crangerel1.rd -+++ b/ld/testsuite/ld-sh/sh64/crangerel1.rd -@@ -10,9 +10,9 @@ Section Headers: - +\[ 5\] \.stack +PROGBITS +00000000 00004c 000004 00 +WA +0 +0 +1 - +\[ 6\] \.cranges +PROGBITS +00000000 000050 00001e 00 +W +0 +0 +1 - +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000024 0c +I +9 +6 +4 -- +\[ 8\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1 -- +\[ 9\] \.symtab +SYMTAB .* -- +\[10\] \.strtab +STRTAB .* -+ +\[ 8\] \.symtab +SYMTAB .* -+ +\[ 9\] \.strtab +STRTAB .* -+ +\[10\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/sh64/crangerel2.rd b/ld/testsuite/ld-sh/sh64/crangerel2.rd -index 2daede7..a1674b5 100644 ---- a/ld/testsuite/ld-sh/sh64/crangerel2.rd -+++ b/ld/testsuite/ld-sh/sh64/crangerel2.rd -@@ -10,9 +10,9 @@ Section Headers: - +\[ 5\] \.stack +PROGBITS +00000000 000090 000004 00 +WA +0 +0 +1 - +\[ 6\] \.cranges +PROGBITS +00000000 000094 000046 00 +W +0 +0 +1 - +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000054 0c +I +9 +6 +4 -- +\[ 8\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1 -- +\[ 9\] \.symtab +SYMTAB +00000000 [0-9a-f]+ [0-9a-f]+ 10 +10 +[0-9]+ +4 -- +\[10\] \.strtab +STRTAB +00000000 [0-9a-f]+ [0-9a-f]+ 00 +0 +0 +1 -+ +\[ 8\] \.symtab +SYMTAB +00000000 [0-9a-f]+ [0-9a-f]+ 10 +8 +[0-9]+ +4 -+ +\[ 9\] \.strtab +STRTAB +00000000 [0-9a-f]+ [0-9a-f]+ 00 +0 +0 +1 -+ +\[10\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/tlsbin-2.d b/ld/testsuite/ld-sh/tlsbin-2.d -index 167270f..6958e45 100644 ---- a/ld/testsuite/ld-sh/tlsbin-2.d -+++ b/ld/testsuite/ld-sh/tlsbin-2.d -@@ -23,9 +23,9 @@ Section Headers: - #... - +\[[0-9a-f]+\] \.got +PROGBITS .* - #... -- +\[[0-9a-f]+\] \.shstrtab .* - +\[[0-9a-f]+\] \.symtab .* - +\[[0-9a-f]+\] \.strtab .* -+ +\[[0-9a-f]+\] \.shstrtab .* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sh/tlspic-2.d b/ld/testsuite/ld-sh/tlspic-2.d -index 0b47878..42baf1d 100644 ---- a/ld/testsuite/ld-sh/tlspic-2.d -+++ b/ld/testsuite/ld-sh/tlspic-2.d -@@ -22,9 +22,9 @@ Section Headers: - #... - +\[[0-9a-f]+\] \.got +PROGBITS .* - #... -- +\[[0-9a-f]+\] \.shstrtab .* - +\[[0-9a-f]+\] \.symtab .* - +\[[0-9a-f]+\] \.strtab .* -+ +\[[0-9a-f]+\] \.shstrtab .* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-sparc/gotop32.rd b/ld/testsuite/ld-sparc/gotop32.rd -index 3b5b942..1813719 100644 ---- a/ld/testsuite/ld-sparc/gotop32.rd -+++ b/ld/testsuite/ld-sparc/gotop32.rd -@@ -17,9 +17,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+12000 0+2000 0+70 08 +WA +3 +0 +4 - +\[[ 0-9]+\] .got +PROGBITS +0+12070 0+2070 0+8 04 +WA +0 +0 +4 - +\[[ 0-9]+\] .data +PROGBITS +0+13000 0+3000 0+8 00 +WA +0 +0 4096 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-sparc/gotop64.rd b/ld/testsuite/ld-sparc/gotop64.rd -index 2d3ffec..578fb2b 100644 ---- a/ld/testsuite/ld-sparc/gotop64.rd -+++ b/ld/testsuite/ld-sparc/gotop64.rd -@@ -17,9 +17,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+102000 0+2000 0+e0 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+1020e0 0+20e0 0+10 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .data +PROGBITS +0+103000 0+3000 0+8 00 +WA +0 +0 4096 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-sparc/tlssunbin32.rd b/ld/testsuite/ld-sparc/tlssunbin32.rd -index 7212732..3de615f 100644 ---- a/ld/testsuite/ld-sparc/tlssunbin32.rd -+++ b/ld/testsuite/ld-sparc/tlssunbin32.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS +0+231f4 0+31f4 0+40 00 WAT +0 +0 +4 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+231f4 0+31f4 0+80 08 +WA +4 +0 +4 - +\[[ 0-9]+\] .got +PROGBITS +0+23274 0+3274 0+14 04 +WA +0 +0 +4 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-sparc/tlssunbin64.rd b/ld/testsuite/ld-sparc/tlssunbin64.rd -index 5480dab..2297d2e 100644 ---- a/ld/testsuite/ld-sparc/tlssunbin64.rd -+++ b/ld/testsuite/ld-sparc/tlssunbin64.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS +0+202204 0+2204 0+40 00 WAT +0 +0 +4 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+202208 0+2208 0+100 10 +WA +4 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+202308 0+2308 0+28 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is EXEC \(Executable file\) -diff --git a/ld/testsuite/ld-sparc/tlssunnopic32.rd b/ld/testsuite/ld-sparc/tlssunnopic32.rd -index 21d07c0..bfb7cb8 100644 ---- a/ld/testsuite/ld-sparc/tlssunnopic32.rd -+++ b/ld/testsuite/ld-sparc/tlssunnopic32.rd -@@ -18,9 +18,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS +0+12000 0+2000 0+24 0+ WAT +0 +0 +4 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+12000 0+2000 0+80 08 +WA +3 +0 +4 - +\[[ 0-9]+\] .got +PROGBITS +0+12080 0+2080 0+1c 04 +WA +0 +0 +4 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - Elf file type is DYN \(Shared object file\) - Entry point 0x1000 -diff --git a/ld/testsuite/ld-sparc/tlssunnopic64.rd b/ld/testsuite/ld-sparc/tlssunnopic64.rd -index 6825aa9..88fe05f 100644 ---- a/ld/testsuite/ld-sparc/tlssunnopic64.rd -+++ b/ld/testsuite/ld-sparc/tlssunnopic64.rd -@@ -18,9 +18,9 @@ Section Headers: - +\[[ 0-9]+\] .tbss +NOBITS +0+102000 0+2000 0+24 0+ WAT +0 +0 +4 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+102000 0+2000 0+100 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+102100 0+2100 0+38 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - Elf file type is DYN \(Shared object file\) - Entry point 0x1000 -diff --git a/ld/testsuite/ld-sparc/tlssunpic32.rd b/ld/testsuite/ld-sparc/tlssunpic32.rd -index 4d96736..519b5df 100644 ---- a/ld/testsuite/ld-sparc/tlssunpic32.rd -+++ b/ld/testsuite/ld-sparc/tlssunpic32.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+12060 0+2060 0+98 08 +WA +3 +0 +4 - +\[[ 0-9]+\] .got +PROGBITS +0+120f8 0+20f8 0+4c 04 +WA +0 +0 +4 - +\[[ 0-9]+\] .plt +.* -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-sparc/tlssunpic64.rd b/ld/testsuite/ld-sparc/tlssunpic64.rd -index 6f91fee..fa00bbf 100644 ---- a/ld/testsuite/ld-sparc/tlssunpic64.rd -+++ b/ld/testsuite/ld-sparc/tlssunpic64.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+102060 0+2060 0+130 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+102190 0+2190 0+98 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .plt +.* -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - #... - - Elf file type is DYN \(Shared object file\) -diff --git a/ld/testsuite/ld-tic6x/common.d b/ld/testsuite/ld-tic6x/common.d -index 30521fc..f2a7b1b 100644 ---- a/ld/testsuite/ld-tic6x/common.d -+++ b/ld/testsuite/ld-tic6x/common.d -@@ -11,9 +11,9 @@ Section Headers: - \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.far NOBITS 00000080 000080 000008 00 WA 0 0 4 - \[ 2\] \.bss NOBITS 00000100 000080 000004 00 WA 0 0 4 -- \[ 3\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000025 00 0 0 1 -- \[ 4\] \.symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 5 3 4 -- \[ 5\] \.strtab STRTAB 00000000 [0-9a-f]+ 000005 00 0 0 1 -+ \[ 3\] \.symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 4 3 4 -+ \[ 4\] \.strtab STRTAB 00000000 [0-9a-f]+ 000005 00 0 0 1 -+ \[ 5\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000025 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-1.rd b/ld/testsuite/ld-tic6x/shlib-1.rd -index a07ddca..77ec3d7 100644 ---- a/ld/testsuite/ld-tic6x/shlib-1.rd -+++ b/ld/testsuite/ld-tic6x/shlib-1.rd -@@ -16,9 +16,9 @@ Section Headers: - \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 - \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 - \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 -- \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 -- \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -- \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 -+ \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-1b.rd b/ld/testsuite/ld-tic6x/shlib-1b.rd -index a07ddca..77ec3d7 100644 ---- a/ld/testsuite/ld-tic6x/shlib-1b.rd -+++ b/ld/testsuite/ld-tic6x/shlib-1b.rd -@@ -16,9 +16,9 @@ Section Headers: - \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 - \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 - \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 -- \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 -- \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -- \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 -+ \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-1r.rd b/ld/testsuite/ld-tic6x/shlib-1r.rd -index a07ddca..77ec3d7 100644 ---- a/ld/testsuite/ld-tic6x/shlib-1r.rd -+++ b/ld/testsuite/ld-tic6x/shlib-1r.rd -@@ -16,9 +16,9 @@ Section Headers: - \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 - \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 - \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 -- \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 -- \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -- \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 -+ \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-1rb.rd b/ld/testsuite/ld-tic6x/shlib-1rb.rd -index a07ddca..77ec3d7 100644 ---- a/ld/testsuite/ld-tic6x/shlib-1rb.rd -+++ b/ld/testsuite/ld-tic6x/shlib-1rb.rd -@@ -16,9 +16,9 @@ Section Headers: - \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 - \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 - \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 -- \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 -- \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -- \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 -+ \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-app-1.rd b/ld/testsuite/ld-tic6x/shlib-app-1.rd -index f0e67c9..c3ddcd3 100644 ---- a/ld/testsuite/ld-tic6x/shlib-app-1.rd -+++ b/ld/testsuite/ld-tic6x/shlib-app-1.rd -@@ -17,9 +17,9 @@ Section Headers: - \[12\] \.neardata PROGBITS 100000c0 0020c0 00000c 00 WA 0 0 4 - \[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 - \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 -- \[15\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 -- \[16\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 17 [0-9]+ 4 -- \[17\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -+ \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[17\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-app-1b.rd b/ld/testsuite/ld-tic6x/shlib-app-1b.rd -index 19a7371..2f9d0f6 100644 ---- a/ld/testsuite/ld-tic6x/shlib-app-1b.rd -+++ b/ld/testsuite/ld-tic6x/shlib-app-1b.rd -@@ -17,9 +17,9 @@ Section Headers: - \[12\] \.neardata PROGBITS 100000c0 0020c0 00000c 00 WA 0 0 4 - \[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 - \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 -- \[15\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 -- \[16\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 17 [0-9]+ 4 -- \[17\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -+ \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[17\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-app-1r.rd b/ld/testsuite/ld-tic6x/shlib-app-1r.rd -index f4fcf6b..2cf8c58 100644 ---- a/ld/testsuite/ld-tic6x/shlib-app-1r.rd -+++ b/ld/testsuite/ld-tic6x/shlib-app-1r.rd -@@ -16,9 +16,9 @@ Section Headers: - \[11\] \.neardata PROGBITS 100000c0 0020c0 000004 00 WA 0 0 4 - \[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 - \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 -- \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 -- \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -- \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 -+ \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-app-1rb.rd b/ld/testsuite/ld-tic6x/shlib-app-1rb.rd -index 3b7b6a9..3cb0256 100644 ---- a/ld/testsuite/ld-tic6x/shlib-app-1rb.rd -+++ b/ld/testsuite/ld-tic6x/shlib-app-1rb.rd -@@ -16,9 +16,9 @@ Section Headers: - \[11\] \.neardata PROGBITS 100000c0 0020c0 000004 00 WA 0 0 4 - \[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 - \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 -- \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 -- \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -- \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 -+ \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/shlib-noindex.rd b/ld/testsuite/ld-tic6x/shlib-noindex.rd -index fa03130..0a29c63 100644 ---- a/ld/testsuite/ld-tic6x/shlib-noindex.rd -+++ b/ld/testsuite/ld-tic6x/shlib-noindex.rd -@@ -17,9 +17,9 @@ Section Headers: - \[12\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 - \[13\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 - \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 -- \[15\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 -- \[16\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 17 [0-9]+ 4 -- \[17\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 -+ \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[17\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/static-app-1.rd b/ld/testsuite/ld-tic6x/static-app-1.rd -index c1bfc2f..27d2d23 100644 ---- a/ld/testsuite/ld-tic6x/static-app-1.rd -+++ b/ld/testsuite/ld-tic6x/static-app-1.rd -@@ -14,9 +14,9 @@ Section Headers: - \[ 9\] \.neardata PROGBITS 100000e0 0020e0 000014 00 WA 0 0 4 - \[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 - \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 -- \[12\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 -- \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 -- \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 -+ \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/static-app-1b.rd b/ld/testsuite/ld-tic6x/static-app-1b.rd -index c1bfc2f..27d2d23 100644 ---- a/ld/testsuite/ld-tic6x/static-app-1b.rd -+++ b/ld/testsuite/ld-tic6x/static-app-1b.rd -@@ -14,9 +14,9 @@ Section Headers: - \[ 9\] \.neardata PROGBITS 100000e0 0020e0 000014 00 WA 0 0 4 - \[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 - \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 -- \[12\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 -- \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 -- \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 -+ \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/static-app-1r.rd b/ld/testsuite/ld-tic6x/static-app-1r.rd -index af8341e..9f3ed9b 100644 ---- a/ld/testsuite/ld-tic6x/static-app-1r.rd -+++ b/ld/testsuite/ld-tic6x/static-app-1r.rd -@@ -14,9 +14,9 @@ Section Headers: - \[ 9\] \.neardata PROGBITS 100000e0 0020e0 00000c 00 WA 0 0 4 - \[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 - \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 -- \[12\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 -- \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 -- \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 -+ \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-tic6x/static-app-1rb.rd b/ld/testsuite/ld-tic6x/static-app-1rb.rd -index af8341e..9f3ed9b 100644 ---- a/ld/testsuite/ld-tic6x/static-app-1rb.rd -+++ b/ld/testsuite/ld-tic6x/static-app-1rb.rd -@@ -14,9 +14,9 @@ Section Headers: - \[ 9\] \.neardata PROGBITS 100000e0 0020e0 00000c 00 WA 0 0 4 - \[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 - \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 -- \[12\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 -- \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 -- \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 -+ \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d -index 296c406..f560ae3 100644 ---- a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d -+++ b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d -@@ -14,9 +14,9 @@ Section Headers: - +\[ 3\] \.dynsym +DYNSYM +100000dc +0+dc +0+50 +10 +A +4 +1 +4 - +\[ 4\] \.dynstr +STRTAB +1000012c +0+12c +0+19 +00 +A +0 +0 +1 - +\[ 5\] \.dynamic +DYNAMIC +10010148 +0+148 +0+58 +08 +WA +4 +0 +4 -- +\[ 6\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1 -- +\[ 7\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +8 +[0-9] +4 -- +\[ 8\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 -+ +\[ 6\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +7 +[0-9] +4 -+ +\[ 7\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 -+ +\[ 8\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/ilp32-4.d b/ld/testsuite/ld-x86-64/ilp32-4.d -index 7f1391f..658ad49 100644 ---- a/ld/testsuite/ld-x86-64/ilp32-4.d -+++ b/ld/testsuite/ld-x86-64/ilp32-4.d -@@ -13,9 +13,9 @@ Section Headers: - \[ 3\] .dynstr STRTAB 0000010c 00010c 000019 00 A 0 0 1 - \[ 4\] .text PROGBITS 00000125 000125 000001 00 AX 0 0 1 - \[ 5\] .dynamic DYNAMIC 00200128 000128 000058 08 WA 3 0 4 -- \[ 6\] .shstrtab STRTAB 00000000 [0-9a-f]+ 000040 00 0 0 1 -- \[ 7\] .symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 8 [0-9] 4 -- \[ 8\] .strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[ 6\] .symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 7 [0-9] 4 -+ \[ 7\] .strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[ 8\] .shstrtab STRTAB 00000000 [0-9a-f]+ 000040 00 0 0 1 - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/nogot1.d b/ld/testsuite/ld-x86-64/nogot1.d -index f6c4cf1..823a28a 100644 ---- a/ld/testsuite/ld-x86-64/nogot1.d -+++ b/ld/testsuite/ld-x86-64/nogot1.d -@@ -4,5 +4,6 @@ - - #... - [ ]*\[.*\][ ]+\.dynamic[ ]+DYNAMIC.* -+#... - [ ]*\[.*\][ ]+.*STRTAB.* - #pass -diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d -index 4b81d71..07d1732 100644 ---- a/ld/testsuite/ld-x86-64/pr12718.d -+++ b/ld/testsuite/ld-x86-64/pr12718.d -@@ -9,8 +9,8 @@ Section Headers: - +\[Nr\] Name +Type +Address +Off +Size +ES +Flg +Lk +Inf +Al - +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0 - +\[ 1\] +.text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +000006 00 +AX +0 +0 +1 -- +\[ 2\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1 -- +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 18 +4 +[0-9] +8 -- +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1 -+ +\[ 2\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 18 +3 +[0-9] +8 -+ +\[ 3\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1 -+ +\[ 4\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1 - Key to Flags: - #pass -diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d -index 8d09616..6fe6abe 100644 ---- a/ld/testsuite/ld-x86-64/pr12921.d -+++ b/ld/testsuite/ld-x86-64/pr12921.d -@@ -11,8 +11,8 @@ Section Headers: - +\[ 1\] .text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+1 00 +AX +0 +0 +4096 - +\[ 2\] .data +PROGBITS +[0-9a-f]+ +[0-9a-f]+000 +0+28 +00 +WA +0 +0 +4096 - +\[ 3\] .bss +NOBITS +[0-9a-f]+ +[0-9a-f]+028 +0+10000 +00 +WA +0 +0 +4096 -- +\[ 4\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1 -- +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +18 +6 +[0-9] +8 -- +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 -+ +\[ 4\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +18 +5 +[0-9] +8 -+ +\[ 5\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 -+ +\[ 6\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1 - Key to Flags: - #pass -diff --git a/ld/testsuite/ld-x86-64/split-by-file-nacl.rd b/ld/testsuite/ld-x86-64/split-by-file-nacl.rd -index d11988a..4e3e74a 100644 ---- a/ld/testsuite/ld-x86-64/split-by-file-nacl.rd -+++ b/ld/testsuite/ld-x86-64/split-by-file-nacl.rd -@@ -8,8 +8,8 @@ Section Headers: - \[ 3\] .data PROGBITS 0000000000000000 000043 000000 00 WA 0 0 1 - \[ 4\] .bss NOBITS 0000000000000000 000043 000000 00 WA 0 0 1 - \[ 5\] .foo.0 PROGBITS 0000000000000003 000043 000003 00 AXl 0 0 1 -- \[ 6\] .shstrtab STRTAB 0000000000000000 [0-9a-f]+ 000038 00 0 0 1 -- \[ 7\] .symtab SYMTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 18 8 [0-9] 8 -- \[ 8\] .strtab STRTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[ 6\] .symtab SYMTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 18 7 [0-9] 8 -+ \[ 7\] .strtab STRTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[ 8\] .shstrtab STRTAB 0000000000000000 [0-9a-f]+ 000038 00 0 0 1 - Key to Flags: - #pass -diff --git a/ld/testsuite/ld-x86-64/split-by-file.rd b/ld/testsuite/ld-x86-64/split-by-file.rd -index d11988a..4e3e74a 100644 ---- a/ld/testsuite/ld-x86-64/split-by-file.rd -+++ b/ld/testsuite/ld-x86-64/split-by-file.rd -@@ -8,8 +8,8 @@ Section Headers: - \[ 3\] .data PROGBITS 0000000000000000 000043 000000 00 WA 0 0 1 - \[ 4\] .bss NOBITS 0000000000000000 000043 000000 00 WA 0 0 1 - \[ 5\] .foo.0 PROGBITS 0000000000000003 000043 000003 00 AXl 0 0 1 -- \[ 6\] .shstrtab STRTAB 0000000000000000 [0-9a-f]+ 000038 00 0 0 1 -- \[ 7\] .symtab SYMTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 18 8 [0-9] 8 -- \[ 8\] .strtab STRTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[ 6\] .symtab SYMTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 18 7 [0-9] 8 -+ \[ 7\] .strtab STRTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 -+ \[ 8\] .shstrtab STRTAB 0000000000000000 [0-9a-f]+ 000038 00 0 0 1 - Key to Flags: - #pass -diff --git a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd -index 5de5e1a..4284644 100644 ---- a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd -+++ b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+140 10 +WA +6 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10030550 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030570 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsbin.rd b/ld/testsuite/ld-x86-64/tlsbin.rd -index 6f73b98..a34775d 100644 ---- a/ld/testsuite/ld-x86-64/tlsbin.rd -+++ b/ld/testsuite/ld-x86-64/tlsbin.rd -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+601298 0+1298 0+140 10 +WA +4 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+6013d8 0+13d8 0+20 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+6013f8 0+13f8 0+20 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd -index 110927b..1f5b782 100644 ---- a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd -+++ b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+100 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10030510 [0-9a-f]+ 0+28 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030538 [0-9a-f]+ 0+18 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsbin2.rd b/ld/testsuite/ld-x86-64/tlsbin2.rd -index b283648..5fb1599 100644 ---- a/ld/testsuite/ld-x86-64/tlsbin2.rd -+++ b/ld/testsuite/ld-x86-64/tlsbin2.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+601298 0+1298 0+100 10 +WA +4 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+601398 0+1398 0+28 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+6013c0 0+13c0 0+18 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd -index 39a5abe..2c046f4 100644 ---- a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd -+++ b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303d0 0+3d0 0+100 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+100304d0 0+4d0 0+20 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304f0 0+4f0 0+18 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.rd b/ld/testsuite/ld-x86-64/tlsbindesc.rd -index 8c9a342..c94014a 100644 ---- a/ld/testsuite/ld-x86-64/tlsbindesc.rd -+++ b/ld/testsuite/ld-x86-64/tlsbindesc.rd -@@ -21,9 +21,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+601260 0+1260 0+100 10 +WA +4 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+601360 0+1360 0+20 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+601380 0+1380 0+18 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd -index db196a5..7c9d77a 100644 ---- a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd -+++ b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b0 [0-9a-f]+ 0+150 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10010600 [0-9a-f]+ 0+48 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010648 [0-9a-f]+ 0+68 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd -index 6a636a0..18060c0 100644 ---- a/ld/testsuite/ld-x86-64/tlsdesc.rd -+++ b/ld/testsuite/ld-x86-64/tlsdesc.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+2011b8 0+11b8 0+150 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+201308 0+1308 0+48 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+201350 0+1350 0+68 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd -index 8614af5..934ba03 100644 ---- a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd -+++ b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlsgdesc.rd b/ld/testsuite/ld-x86-64/tlsgdesc.rd -index 5d845c7..729d12e6 100644 ---- a/ld/testsuite/ld-x86-64/tlsgdesc.rd -+++ b/ld/testsuite/ld-x86-64/tlsgdesc.rd -@@ -19,9 +19,9 @@ Section Headers: - +\[[ 0-9]+\] \.dynamic +.* - +\[[ 0-9]+\] \.got +.* - +\[[ 0-9]+\] \.got.plt +.* -- +\[[ 0-9]+\] \.shstrtab +.* - +\[[ 0-9]+\] \.symtab +.* - +\[[ 0-9]+\] \.strtab +.* -+ +\[[ 0-9]+\] \.shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlspic-nacl.rd b/ld/testsuite/ld-x86-64/tlspic-nacl.rd -index f98e39b..740e399 100644 ---- a/ld/testsuite/ld-x86-64/tlspic-nacl.rd -+++ b/ld/testsuite/ld-x86-64/tlspic-nacl.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010510 [0-9a-f]+ 0+130 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10010640 [0-9a-f]+ 0+90 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106d0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd -index 589666b..3f5d544 100644 ---- a/ld/testsuite/ld-x86-64/tlspic.rd -+++ b/ld/testsuite/ld-x86-64/tlspic.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+201380 0+1380 0+130 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+2014b0 0+14b0 0+90 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+201540 0+1540 0+20 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd -index 1919b3f..cbc0a75 100644 ---- a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd -+++ b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010528 [0-9a-f]+ 0+130 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10010658 [0-9a-f]+ 0+98 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106f0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-x86-64/tlspic2.rd b/ld/testsuite/ld-x86-64/tlspic2.rd -index 3c7b8c1..684ae21 100644 ---- a/ld/testsuite/ld-x86-64/tlspic2.rd -+++ b/ld/testsuite/ld-x86-64/tlspic2.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+201380 0+1380 0+100 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+201480 0+1480 0+98 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+201518 0+1518 0+18 08 +WA +0 +0 +8 -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-xtensa/tlsbin.rd b/ld/testsuite/ld-xtensa/tlsbin.rd -index 2361139..dcd2b04 100644 ---- a/ld/testsuite/ld-xtensa/tlsbin.rd -+++ b/ld/testsuite/ld-xtensa/tlsbin.rd -@@ -22,9 +22,9 @@ Section Headers: - +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .* - +\[[ 0-9]+\] .xt.lit +PROGBITS +0+ .* - +\[[ 0-9]+\] .xt.prop +PROGBITS +0+ .* -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - -diff --git a/ld/testsuite/ld-xtensa/tlspic.rd b/ld/testsuite/ld-xtensa/tlspic.rd -index 379334c..b6f7067 100644 ---- a/ld/testsuite/ld-xtensa/tlspic.rd -+++ b/ld/testsuite/ld-xtensa/tlspic.rd -@@ -23,9 +23,9 @@ Section Headers: - +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .* - +\[[ 0-9]+\] .xt.lit +PROGBITS +0+ .* - +\[[ 0-9]+\] .xt.prop +PROGBITS +0+ .* -- +\[[ 0-9]+\] .shstrtab +.* - +\[[ 0-9]+\] .symtab +.* - +\[[ 0-9]+\] .strtab +.* -+ +\[[ 0-9]+\] .shstrtab +.* - Key to Flags: - #... - diff --git a/binutils-2.27.tar.bz2 b/binutils-2.27.tar.bz2 deleted file mode 100644 index e2a3014..0000000 --- a/binutils-2.27.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -size 26099568 diff --git a/binutils-2.28-branch.diff b/binutils-2.28-branch.diff new file mode 100644 index 0000000..f48f290 --- /dev/null +++ b/binutils-2.28-branch.diff @@ -0,0 +1,1167 @@ +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index 85c6a81..17e7e3b 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,25 @@ ++2017-03-07 Alan Modra ++ ++ PR 21224 ++ PR 20519 ++ * elf64-ppc.c (ppc64_elf_relocate_section): Add missing ++ dyn_relocs check. ++ ++2017-03-07 Alan Modra ++ ++ Apply from master ++ 2017-03-02 Alan Modra ++ * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo. ++ ++2017-03-02 Tristan Gingold ++ ++ * version.m4: Bump version to 2.28.0 ++ * configure: Regenerate. ++ ++2017-03-02 Tristan Gingold ++ ++ * development.sh: Set development to true. ++ + 2017-03-02 Tristan Gingold + + * version.m4: Bump version to 2.28 +diff --git a/bfd/configure b/bfd/configure +index 9769387..f30bfab 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.28. ++# Generated by GNU Autoconf 2.64 for bfd 2.28.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.28' +-PACKAGE_STRING='bfd 2.28' ++PACKAGE_VERSION='2.28.0' ++PACKAGE_STRING='bfd 2.28.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1354,7 +1354,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.28 to adapt to many kinds of systems. ++\`configure' configures bfd 2.28.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1425,7 +1425,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of bfd 2.28:";; ++ short | recursive ) echo "Configuration of bfd 2.28.0:";; + esac + cat <<\_ACEOF + +@@ -1546,7 +1546,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-bfd configure 2.28 ++bfd configure 2.28.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -2188,7 +2188,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.28, which was ++It was created by bfd $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3997,7 +3997,7 @@ fi + + # Define the identity of the package. + PACKAGE='bfd' +- VERSION='2.28' ++ VERSION='2.28.0' + + + cat >>confdefs.h <<_ACEOF +@@ -16613,7 +16613,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.28, which was ++This file was extended by bfd $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -16677,7 +16677,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-bfd config.status 2.28 ++bfd config.status 2.28.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 b001a88..cd31410 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-ppc.c b/bfd/elf32-ppc.c +index 0f3eb68..10caa8a 100644 +--- a/bfd/elf32-ppc.c ++++ b/bfd/elf32-ppc.c +@@ -4921,7 +4921,7 @@ ppc_elf_vle_split16 (bfd *input_bfd, + unsigned int insn, opcode, top5; + + insn = bfd_get_32 (input_bfd, loc); +- opcode = insn & 0xf300f800; ++ opcode = insn & 0xfc00f800; + if (opcode == E_OR2I_INSN + || opcode == E_AND2I_DOT_INSN + || opcode == E_OR2IS_INSN +diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c +index e7d4792..3381647 100644 +--- a/bfd/elf64-ppc.c ++++ b/bfd/elf64-ppc.c +@@ -14798,8 +14798,10 @@ ppc64_elf_relocate_section (bfd *output_bfd, + break; + + if (bfd_link_pic (info) +- ? ((h != NULL && pc_dynrelocs (h)) +- || must_be_dyn_reloc (info, r_type)) ++ ? ((h == NULL ++ || h->dyn_relocs != NULL) ++ && ((h != NULL && pc_dynrelocs (h)) ++ || must_be_dyn_reloc (info, r_type))) + : (h != NULL + ? h->dyn_relocs != NULL + : ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)) +diff --git a/bfd/version.h b/bfd/version.h +index eda06e4..4d79b22 100644 +--- a/bfd/version.h ++++ b/bfd/version.h +@@ -1,4 +1,4 @@ +-#define BFD_VERSION_DATE 20170302 ++#define BFD_VERSION_DATE 20170308 + #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 0cfca2d..8bde21e 100644 +--- a/bfd/version.m4 ++++ b/bfd/version.m4 +@@ -1 +1 @@ +-m4_define([BFD_VERSION], [2.28]) ++m4_define([BFD_VERSION], [2.28.0]) +diff --git a/binutils/ChangeLog b/binutils/ChangeLog +index aa17468..f21867f 100644 +--- a/binutils/ChangeLog ++++ b/binutils/ChangeLog +@@ -2,6 +2,10 @@ + + * configure: Regenerate. + ++2017-03-02 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2017-01-18 Bernhard Rosenkranzer + + PR 21059 +diff --git a/binutils/configure b/binutils/configure +index baddf34..82119ef 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.28. ++# Generated by GNU Autoconf 2.64 for binutils 2.28.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.28' +-PACKAGE_STRING='binutils 2.28' ++PACKAGE_VERSION='2.28.0' ++PACKAGE_STRING='binutils 2.28.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1338,7 +1338,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.28 to adapt to many kinds of systems. ++\`configure' configures binutils 2.28.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1409,7 +1409,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of binutils 2.28:";; ++ short | recursive ) echo "Configuration of binutils 2.28.0:";; + esac + cat <<\_ACEOF + +@@ -1530,7 +1530,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-binutils configure 2.28 ++binutils configure 2.28.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -2172,7 +2172,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.28, which was ++It was created by binutils $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3981,7 +3981,7 @@ fi + + # Define the identity of the package. + PACKAGE='binutils' +- VERSION='2.28' ++ VERSION='2.28.0' + + + cat >>confdefs.h <<_ACEOF +@@ -15223,7 +15223,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.28, which was ++This file was extended by binutils $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -15287,7 +15287,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-binutils config.status 2.28 ++binutils config.status 2.28.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 8a586ad..fa9ecbe 100644 +--- a/gas/ChangeLog ++++ b/gas/ChangeLog +@@ -2,6 +2,10 @@ + + * configure: Regenerate. + ++2017-03-02 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2017-02-28 Alan Modra + + * config/tc-nios2.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define. +diff --git a/gas/configure b/gas/configure +index ce7091e..e574cb8 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.28. ++# Generated by GNU Autoconf 2.64 for gas 2.28.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.28' +-PACKAGE_STRING='gas 2.28' ++PACKAGE_VERSION='2.28.0' ++PACKAGE_STRING='gas 2.28.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1330,7 +1330,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.28 to adapt to many kinds of systems. ++\`configure' configures gas 2.28.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1401,7 +1401,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of gas 2.28:";; ++ short | recursive ) echo "Configuration of gas 2.28.0:";; + esac + cat <<\_ACEOF + +@@ -1523,7 +1523,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-gas configure 2.28 ++gas configure 2.28.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -1933,7 +1933,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.28, which was ++It was created by gas $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3742,7 +3742,7 @@ fi + + # Define the identity of the package. + PACKAGE='gas' +- VERSION='2.28' ++ VERSION='2.28.0' + + + cat >>confdefs.h <<_ACEOF +@@ -15212,7 +15212,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.28, which was ++This file was extended by gas $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -15276,7 +15276,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-gas config.status 2.28 ++gas config.status 2.28.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +diff --git a/gprof/ChangeLog b/gprof/ChangeLog +index cc57e0d8..0c25d51 100644 +--- a/gprof/ChangeLog ++++ b/gprof/ChangeLog +@@ -2,6 +2,10 @@ + + * configure: Regenerate. + ++2017-03-02 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2017-01-02 Alan Modra + + Update year range in copyright notice of all files. +diff --git a/gprof/configure b/gprof/configure +index 43e0dac..9e6b8f3 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.28. ++# Generated by GNU Autoconf 2.64 for gprof 2.28.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.28' +-PACKAGE_STRING='gprof 2.28' ++PACKAGE_VERSION='2.28.0' ++PACKAGE_STRING='gprof 2.28.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1302,7 +1302,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.28 to adapt to many kinds of systems. ++\`configure' configures gprof 2.28.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1373,7 +1373,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of gprof 2.28:";; ++ short | recursive ) echo "Configuration of gprof 2.28.0:";; + esac + cat <<\_ACEOF + +@@ -1479,7 +1479,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-gprof configure 2.28 ++gprof configure 2.28.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -1844,7 +1844,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.28, which was ++It was created by gprof $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3653,7 +3653,7 @@ fi + + # Define the identity of the package. + PACKAGE='gprof' +- VERSION='2.28' ++ VERSION='2.28.0' + + + cat >>confdefs.h <<_ACEOF +@@ -12787,7 +12787,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.28, which was ++This file was extended by gprof $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -12851,7 +12851,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-gprof config.status 2.28 ++gprof config.status 2.28.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 ba7d1d4..f4fda0c 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,12 @@ ++2017-03-07 Alan Modra ++ ++ * ldlang.c (open_input_bfds): Check that lang_assignment_statement ++ is not an assert before referencing defsym. ++ ++2017-03-02 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2017-03-02 Tristan Gingold + + * configure: Regenerate. +diff --git a/ld/configure b/ld/configure +index 36af969..a16c6db 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.28. ++# Generated by GNU Autoconf 2.64 for ld 2.28.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.28' +-PACKAGE_STRING='ld 2.28' ++PACKAGE_VERSION='2.28.0' ++PACKAGE_STRING='ld 2.28.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1354,7 +1354,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.28 to adapt to many kinds of systems. ++\`configure' configures ld 2.28.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1425,7 +1425,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of ld 2.28:";; ++ short | recursive ) echo "Configuration of ld 2.28.0:";; + esac + cat <<\_ACEOF + +@@ -1550,7 +1550,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-ld configure 2.28 ++ld configure 2.28.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -2259,7 +2259,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.28, which was ++It was created by ld $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -4069,7 +4069,7 @@ fi + + # Define the identity of the package. + PACKAGE='ld' +- VERSION='2.28' ++ VERSION='2.28.0' + + + cat >>confdefs.h <<_ACEOF +@@ -17813,7 +17813,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.28, which was ++This file was extended by ld $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -17877,7 +17877,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-ld config.status 2.28 ++ld config.status 2.28.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/ldlang.c b/ld/ldlang.c +index dafc348..54f160c 100644 +--- a/ld/ldlang.c ++++ b/ld/ldlang.c +@@ -3377,7 +3377,8 @@ open_input_bfds (lang_statement_union_type *s, enum open_bfd_mode mode) + #endif + break; + case lang_assignment_statement_enum: +- if (s->assignment_statement.exp->assign.defsym) ++ if (s->assignment_statement.exp->type.node_class != etree_assert ++ && s->assignment_statement.exp->assign.defsym) + /* This is from a --defsym on the command line. */ + exp_fold_tree_no_dot (s->assignment_statement.exp); + break; +diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog +index 7f01e54..3a19442 100644 +--- a/opcodes/ChangeLog ++++ b/opcodes/ChangeLog +@@ -1,3 +1,19 @@ ++2017-03-07 Alan Modra ++ ++ Apply from master ++ 2017-03-06 Alan Modra ++ PR 21124 ++ * ppc-opc.c (extract_esync, extract_ls, extract_ral, extract_ram) ++ (extract_raq, extract_ras, extract_rbx): New functions. ++ (powerpc_operands): Use opposite corresponding insert function. ++ (Q_MASK): Define. ++ (powerpc_opcodes): Apply Q_MASK to all quad insns with even ++ register restriction. ++ ++2017-03-02 Tristan Gingold ++ ++ * configure: Regenerate. ++ + 2017-03-02 Tristan Gingold + + * configure: Regenerate. +diff --git a/opcodes/configure b/opcodes/configure +index be87eb2..0b352a4 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.28. ++# Generated by GNU Autoconf 2.64 for opcodes 2.28.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.28' +-PACKAGE_STRING='opcodes 2.28' ++PACKAGE_VERSION='2.28.0' ++PACKAGE_STRING='opcodes 2.28.0' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1322,7 +1322,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.28 to adapt to many kinds of systems. ++\`configure' configures opcodes 2.28.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1393,7 +1393,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of opcodes 2.28:";; ++ short | recursive ) echo "Configuration of opcodes 2.28.0:";; + esac + cat <<\_ACEOF + +@@ -1500,7 +1500,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-opcodes configure 2.28 ++opcodes configure 2.28.0 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -1910,7 +1910,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.28, which was ++It was created by opcodes $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -3719,7 +3719,7 @@ fi + + # Define the identity of the package. + PACKAGE='opcodes' +- VERSION='2.28' ++ VERSION='2.28.0' + + + cat >>confdefs.h <<_ACEOF +@@ -13305,7 +13305,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.28, which was ++This file was extended by opcodes $as_me 2.28.0, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -13369,7 +13369,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-opcodes config.status 2.28 ++opcodes config.status 2.28.0 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c +index 9ac779c..30fd789 100644 +--- a/opcodes/ppc-opc.c ++++ b/opcodes/ppc-opc.c +@@ -54,6 +54,7 @@ static long extract_bo (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_boe (unsigned long, long, ppc_cpu_t, const char **); + static long extract_boe (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_esync (unsigned long, long, ppc_cpu_t, const char **); ++static long extract_esync (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_dcmxs (unsigned long, long, ppc_cpu_t, const char **); + static long extract_dcmxs (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_dxd (unsigned long, long, ppc_cpu_t, const char **); +@@ -65,6 +66,7 @@ static long extract_fxm (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_li20 (unsigned long, long, ppc_cpu_t, const char **); + static long extract_li20 (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_ls (unsigned long, long, ppc_cpu_t, const char **); ++static long extract_ls (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_mbe (unsigned long, long, ppc_cpu_t, const char **); + static long extract_mbe (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_mb6 (unsigned long, long, ppc_cpu_t, const char **); +@@ -76,12 +78,17 @@ static long extract_nsi (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_oimm (unsigned long, long, ppc_cpu_t, const char **); + static long extract_oimm (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_ral (unsigned long, long, ppc_cpu_t, const char **); ++static long extract_ral (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_ram (unsigned long, long, ppc_cpu_t, const char **); ++static long extract_ram (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_raq (unsigned long, long, ppc_cpu_t, const char **); ++static long extract_raq (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_ras (unsigned long, long, ppc_cpu_t, const char **); ++static long extract_ras (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_rbs (unsigned long, long, ppc_cpu_t, const char **); + static long extract_rbs (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_rbx (unsigned long, long, ppc_cpu_t, const char **); ++static long extract_rbx (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_rx (unsigned long, long, ppc_cpu_t, const char **); + static long extract_rx (unsigned long, ppc_cpu_t, int *); + static unsigned long insert_ry (unsigned long, long, ppc_cpu_t, const char **); +@@ -462,7 +469,7 @@ const struct powerpc_operand powerpc_operands[] = + /* The LS or WC field in an X (sync or wait) form instruction. */ + #define LS LIA + 1 + #define WC LS +- { 0x3, 21, insert_ls, NULL, PPC_OPERAND_OPTIONAL }, ++ { 0x3, 21, insert_ls, extract_ls, PPC_OPERAND_OPTIONAL }, + + /* The ME field in an M form instruction. */ + #define ME LS + 1 +@@ -519,24 +526,24 @@ const struct powerpc_operand powerpc_operands[] = + value restrictions. */ + #define RAQ RA0 + 1 + #define RAX RAQ +- { 0x1f, 16, insert_raq, NULL, PPC_OPERAND_GPR_0 }, ++ { 0x1f, 16, insert_raq, extract_raq, PPC_OPERAND_GPR_0 }, + + /* The RA field in a D or X form instruction which is an updating + load, which means that the RA field may not be zero and may not + equal the RT field. */ + #define RAL RAQ + 1 +- { 0x1f, 16, insert_ral, NULL, PPC_OPERAND_GPR_0 }, ++ { 0x1f, 16, insert_ral, extract_ral, PPC_OPERAND_GPR_0 }, + + /* The RA field in an lmw instruction, which has special value + restrictions. */ + #define RAM RAL + 1 +- { 0x1f, 16, insert_ram, NULL, PPC_OPERAND_GPR_0 }, ++ { 0x1f, 16, insert_ram, extract_ram, PPC_OPERAND_GPR_0 }, + + /* The RA field in a D or X form instruction which is an updating + store or an updating floating point load, which means that the RA + field may not be zero. */ + #define RAS RAM + 1 +- { 0x1f, 16, insert_ras, NULL, PPC_OPERAND_GPR_0 }, ++ { 0x1f, 16, insert_ras, extract_ras, PPC_OPERAND_GPR_0 }, + + /* The RA field of the tlbwe, dccci and iccci instructions, + which are optional. */ +@@ -557,7 +564,7 @@ const struct powerpc_operand powerpc_operands[] = + /* The RB field in an lswx instruction, which has special value + restrictions. */ + #define RBX RBS + 1 +- { 0x1f, 11, insert_rbx, NULL, PPC_OPERAND_GPR }, ++ { 0x1f, 11, insert_rbx, extract_rbx, PPC_OPERAND_GPR }, + + /* The RB field of the dccci and iccci instructions, which are optional. */ + #define RBOPT RBX + 1 +@@ -580,6 +587,7 @@ const struct powerpc_operand powerpc_operands[] = + which have special value restrictions. */ + #define RSQ RS + 1 + #define RTQ RSQ ++#define Q_MASK (1 << 21) + { 0x1e, 21, NULL, NULL, PPC_OPERAND_GPR }, + + /* The RS field of the tlbwe instruction, which is optional. */ +@@ -694,7 +702,7 @@ const struct powerpc_operand powerpc_operands[] = + + /* The ESYNC field in an X (sync) form instruction. */ + #define ESYNC STRM + 1 +- { 0xf, 16, insert_esync, NULL, PPC_OPERAND_OPTIONAL }, ++ { 0xf, 16, insert_esync, extract_esync, PPC_OPERAND_OPTIONAL }, + + /* The SV field in a POWER SC form instruction. */ + #define SV ESYNC + 1 +@@ -1533,6 +1541,22 @@ insert_ls (unsigned long insn, + return insn | ((value & 0x3) << 21); + } + ++static long ++extract_ls (unsigned long insn, ++ ppc_cpu_t dialect, ++ int *invalid) ++{ ++ unsigned long lvalue = (insn >> 21) & 3; ++ ++ if (((insn >> 1) & 0x3ff) == 598) ++ { ++ unsigned long max_lvalue = (dialect & PPC_OPCODE_POWER4) ? 2 : 1; ++ if (lvalue > max_lvalue) ++ *invalid = 1; ++ } ++ return lvalue; ++} ++ + /* The 4-bit E field in a sync instruction that accepts 2 operands. + If ESYNC is non-zero, then the L field must be either 0 or 1 and + the complement of ESYNC-bit2. */ +@@ -1560,6 +1584,27 @@ insert_esync (unsigned long insn, + return insn | ((value & 0xf) << 16); + } + ++static long ++extract_esync (unsigned long insn, ++ ppc_cpu_t dialect, ++ int *invalid) ++{ ++ unsigned long ls = (insn >> 21) & 0x3; ++ unsigned long lvalue = (insn >> 16) & 0xf; ++ ++ if (lvalue == 0) ++ { ++ if (((dialect & PPC_OPCODE_E6500) != 0 && ls > 1) ++ || ((dialect & PPC_OPCODE_POWER9) != 0 && ls > 2)) ++ *invalid = 1; ++ } ++ else if ((ls & ~0x1) ++ || (((lvalue >> 1) & 0x1) ^ ls) == 0) ++ *invalid = 1; ++ ++ return lvalue; ++} ++ + /* The MB and ME fields in an M form instruction expressed as a single + operand which is itself a bitmask. The extraction function always + marks it as invalid, since we never want to recognize an +@@ -1743,6 +1788,19 @@ insert_ral (unsigned long insn, + return insn | ((value & 0x1f) << 16); + } + ++static long ++extract_ral (unsigned long insn, ++ ppc_cpu_t dialect ATTRIBUTE_UNUSED, ++ int *invalid) ++{ ++ long rtvalue = (insn >> 21) & 0x1f; ++ long ravalue = (insn >> 16) & 0x1f; ++ ++ if (rtvalue == ravalue || ravalue == 0) ++ *invalid = 1; ++ return ravalue; ++} ++ + /* The RA field in an lmw instruction, which has special value + restrictions. */ + +@@ -1757,6 +1815,19 @@ insert_ram (unsigned long insn, + return insn | ((value & 0x1f) << 16); + } + ++static long ++extract_ram (unsigned long insn, ++ ppc_cpu_t dialect ATTRIBUTE_UNUSED, ++ int *invalid) ++{ ++ unsigned long rtvalue = (insn >> 21) & 0x1f; ++ unsigned long ravalue = (insn >> 16) & 0x1f; ++ ++ if (ravalue >= rtvalue) ++ *invalid = 1; ++ return ravalue; ++} ++ + /* The RA field in the DQ form lq or an lswx instruction, which have special + value restrictions. */ + +@@ -1773,6 +1844,19 @@ insert_raq (unsigned long insn, + return insn | ((value & 0x1f) << 16); + } + ++static long ++extract_raq (unsigned long insn, ++ ppc_cpu_t dialect ATTRIBUTE_UNUSED, ++ int *invalid) ++{ ++ unsigned long rtvalue = (insn >> 21) & 0x1f; ++ unsigned long ravalue = (insn >> 16) & 0x1f; ++ ++ if (ravalue == rtvalue) ++ *invalid = 1; ++ return ravalue; ++} ++ + /* The RA field in a D or X form instruction which is an updating + store or an updating floating point load, which means that the RA + field may not be zero. */ +@@ -1788,6 +1872,18 @@ insert_ras (unsigned long insn, + return insn | ((value & 0x1f) << 16); + } + ++static long ++extract_ras (unsigned long insn, ++ ppc_cpu_t dialect ATTRIBUTE_UNUSED, ++ int *invalid) ++{ ++ unsigned long ravalue = (insn >> 16) & 0x1f; ++ ++ if (ravalue == 0) ++ *invalid = 1; ++ return ravalue; ++} ++ + /* The RB field in an X form instruction when it must be the same as + the RS field in the instruction. This is used for extended + mnemonics like mr. This operand is marked FAKE. The insertion +@@ -1829,6 +1925,19 @@ insert_rbx (unsigned long insn, + return insn | ((value & 0x1f) << 11); + } + ++static long ++extract_rbx (unsigned long insn, ++ ppc_cpu_t dialect ATTRIBUTE_UNUSED, ++ int *invalid) ++{ ++ unsigned long rtvalue = (insn >> 21) & 0x1f; ++ unsigned long rbvalue = (insn >> 11) & 0x1f; ++ ++ if (rbvalue == rtvalue) ++ *invalid = 1; ++ return rbvalue; ++} ++ + /* The SCI8 field is made up of SCL and {U,N}I8 fields. */ + static unsigned long + insert_sci8 (unsigned long insn, +@@ -4974,7 +5083,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"stdux", X(31,181), X_MASK, PPC64, 0, {RS, RAS, RB}}, + +-{"stqcx.", XRC(31,182,1), X_MASK, POWER8, 0, {RSQ, RA0, RB}}, ++{"stqcx.", XRC(31,182,1), X_MASK|Q_MASK, POWER8, 0, {RSQ, RA0, RB}}, + {"wchkall", X(31,182), X_MASK, PPCA2, 0, {OBF}}, + + {"stwux", X(31,183), X_MASK, PPCCOM, 0, {RS, RAS, RB}}, +@@ -5105,7 +5214,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"mfapidi", X(31,275), X_MASK, BOOKE, E500|TITAN, {RT, RA}}, + +-{"lqarx", X(31,276), XEH_MASK, POWER8, 0, {RTQ, RAX, RBX, EH}}, ++{"lqarx", X(31,276), XEH_MASK|Q_MASK, POWER8, 0, {RTQ, RAX, RBX, EH}}, + + {"lscbx", XRC(31,277,0), X_MASK, M601, 0, {RT, RA, RB}}, + {"lscbx.", XRC(31,277,1), X_MASK, M601, 0, {RT, RA, RB}}, +@@ -6052,7 +6161,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"lhbrx", X(31,790), X_MASK, COM, 0, {RT, RA0, RB}}, + +-{"lfdpx", X(31,791), X_MASK, POWER6, POWER7, {FRTp, RA0, RB}}, ++{"lfdpx", X(31,791), X_MASK|Q_MASK, POWER6, POWER7, {FRTp, RA0, RB}}, + {"lfqx", X(31,791), X_MASK, POWER2, 0, {FRT, RA, RB}}, + + {"sraw", XRC(31,792,0), X_MASK, PPCCOM, 0, {RA, RS, RB}}, +@@ -6167,7 +6276,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"sthbrx", X(31,918), X_MASK, COM, 0, {RS, RA0, RB}}, + +-{"stfdpx", X(31,919), X_MASK, POWER6, POWER7, {FRSp, RA0, RB}}, ++{"stfdpx", X(31,919), X_MASK|Q_MASK, POWER6, POWER7, {FRSp, RA0, RB}}, + {"stfqx", X(31,919), X_MASK, POWER2, 0, {FRS, RA0, RB}}, + + {"sraq", XRC(31,920,0), X_MASK, M601, 0, {RA, RS, RB}}, +@@ -6345,13 +6454,13 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"stfdu", OP(55), OP_MASK, COM, PPCEFS|PPCVLE, {FRS, D, RAS}}, + +-{"lq", OP(56), OP_MASK, POWER4, PPC476|PPCVLE, {RTQ, DQ, RAQ}}, ++{"lq", OP(56), OP_MASK|Q_MASK, POWER4, PPC476|PPCVLE, {RTQ, DQ, RAQ}}, + {"psq_l", OP(56), OP_MASK, PPCPS, PPCVLE, {FRT,PSD,RA,PSW,PSQ}}, + {"lfq", OP(56), OP_MASK, POWER2, PPCVLE, {FRT, D, RA0}}, + + {"lxsd", DSO(57,2), DS_MASK, PPCVSX3, PPCVLE, {VD, DS, RA0}}, + {"lxssp", DSO(57,3), DS_MASK, PPCVSX3, PPCVLE, {VD, DS, RA0}}, +-{"lfdp", OP(57), OP_MASK, POWER6, POWER7|PPCVLE, {FRTp, DS, RA0}}, ++{"lfdp", OP(57), OP_MASK|Q_MASK, POWER6, POWER7|PPCVLE, {FRTp, DS, RA0}}, + {"psq_lu", OP(57), OP_MASK, PPCPS, PPCVLE, {FRT,PSD,RA,PSW,PSQ}}, + {"lfqu", OP(57), OP_MASK, POWER2, PPCVLE, {FRT, D, RA0}}, + +@@ -6676,21 +6785,21 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"stxv", DQX(61,5), DQX_MASK, PPCVSX3, PPCVLE, {XSQ6, DQ, RA0}}, + {"stxsd", DSO(61,2), DS_MASK, PPCVSX3, PPCVLE, {VS, DS, RA0}}, + {"stxssp", DSO(61,3), DS_MASK, PPCVSX3, PPCVLE, {VS, DS, RA0}}, +-{"stfdp", OP(61), OP_MASK, POWER6, POWER7|PPCVLE, {FRSp, DS, RA0}}, ++{"stfdp", OP(61), OP_MASK|Q_MASK, POWER6, POWER7|PPCVLE, {FRSp, DS, RA0}}, + {"psq_stu", OP(61), OP_MASK, PPCPS, PPCVLE, {FRS,PSD,RA,PSW,PSQ}}, + {"stfqu", OP(61), OP_MASK, POWER2, PPCVLE, {FRS, D, RA}}, + + {"std", DSO(62,0), DS_MASK, PPC64, PPCVLE, {RS, DS, RA0}}, + {"stdu", DSO(62,1), DS_MASK, PPC64, PPCVLE, {RS, DS, RAS}}, +-{"stq", DSO(62,2), DS_MASK, POWER4, PPC476|PPCVLE, {RSQ, DS, RA0}}, ++{"stq", DSO(62,2), DS_MASK|Q_MASK, POWER4, PPC476|PPCVLE, {RSQ, DS, RA0}}, + + {"fcmpu", X(63,0), XBF_MASK, COM, PPCEFS|PPCVLE, {BF, FRA, FRB}}, + +-{"daddq", XRC(63,2,0), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, +-{"daddq.", XRC(63,2,1), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"daddq", XRC(63,2,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"daddq.", XRC(63,2,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, + +-{"dquaq", ZRC(63,3,0), Z2_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp, RMC}}, +-{"dquaq.", ZRC(63,3,1), Z2_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp, RMC}}, ++{"dquaq", ZRC(63,3,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp, RMC}}, ++{"dquaq.", ZRC(63,3,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp, RMC}}, + + {"xsaddqp", XRC(63,4,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, + {"xsaddqpo", XRC(63,4,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, +@@ -6772,11 +6881,11 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"fcmpo", X(63,32), XBF_MASK, COM, PPCEFS|PPCVLE, {BF, FRA, FRB}}, + +-{"dmulq", XRC(63,34,0), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, +-{"dmulq.", XRC(63,34,1), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"dmulq", XRC(63,34,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"dmulq.", XRC(63,34,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, + +-{"drrndq", ZRC(63,35,0), Z2_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp, RMC}}, +-{"drrndq.", ZRC(63,35,1), Z2_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp, RMC}}, ++{"drrndq", ZRC(63,35,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp, RMC}}, ++{"drrndq.", ZRC(63,35,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp, RMC}}, + + {"xsmulqp", XRC(63,36,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, + {"xsmulqpo", XRC(63,36,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, +@@ -6791,11 +6900,11 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"mcrfs", X(63,64), XRB_MASK|(3<<21)|(3<<16), COM, PPCVLE, {BF, BFA}}, + +-{"dscliq", ZRC(63,66,0), Z_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, +-{"dscliq.", ZRC(63,66,1), Z_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, ++{"dscliq", ZRC(63,66,0), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, ++{"dscliq.", ZRC(63,66,1), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, + +-{"dquaiq", ZRC(63,67,0), Z2_MASK, POWER6, PPCVLE, {TE, FRTp, FRBp, RMC}}, +-{"dquaiq.", ZRC(63,67,1), Z2_MASK, POWER6, PPCVLE, {TE, FRTp, FRBp, RMC}}, ++{"dquaiq", ZRC(63,67,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {TE, FRTp, FRBp, RMC}}, ++{"dquaiq.", ZRC(63,67,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {TE, FRTp, FRBp, RMC}}, + + {"mtfsb0", XRC(63,70,0), XRARB_MASK, COM, PPCVLE, {BT}}, + {"mtfsb0.", XRC(63,70,1), XRARB_MASK, COM, PPCVLE, {BT}}, +@@ -6803,11 +6912,11 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"fmr", XRC(63,72,0), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, + {"fmr.", XRC(63,72,1), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, + +-{"dscriq", ZRC(63,98,0), Z_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, +-{"dscriq.", ZRC(63,98,1), Z_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, ++{"dscriq", ZRC(63,98,0), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, ++{"dscriq.", ZRC(63,98,1), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, + +-{"drintxq", ZRC(63,99,0), Z2_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, +-{"drintxq.", ZRC(63,99,1), Z2_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, ++{"drintxq", ZRC(63,99,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, ++{"drintxq.", ZRC(63,99,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, + + {"xscpsgnqp", X(63,100), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, + +@@ -6839,11 +6948,11 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"dtstdcq", Z(63,194), Z_MASK, POWER6, PPCVLE, {BF, FRAp, DCM}}, + {"dtstdgq", Z(63,226), Z_MASK, POWER6, PPCVLE, {BF, FRAp, DGM}}, + +-{"drintnq", ZRC(63,227,0), Z2_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, +-{"drintnq.", ZRC(63,227,1), Z2_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, ++{"drintnq", ZRC(63,227,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, ++{"drintnq.", ZRC(63,227,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, + +-{"dctqpq", XRC(63,258,0), X_MASK, POWER6, PPCVLE, {FRTp, FRB}}, +-{"dctqpq.", XRC(63,258,1), X_MASK, POWER6, PPCVLE, {FRTp, FRB}}, ++{"dctqpq", XRC(63,258,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, ++{"dctqpq.", XRC(63,258,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, + + {"fabs", XRC(63,264,0), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, + {"fabs.", XRC(63,264,1), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, +@@ -6851,8 +6960,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"dctfixq", XRC(63,290,0), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, + {"dctfixq.", XRC(63,290,1), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, + +-{"ddedpdq", XRC(63,322,0), X_MASK, POWER6, PPCVLE, {SP, FRTp, FRBp}}, +-{"ddedpdq.", XRC(63,322,1), X_MASK, POWER6, PPCVLE, {SP, FRTp, FRBp}}, ++{"ddedpdq", XRC(63,322,0), X_MASK|Q_MASK, POWER6, PPCVLE, {SP, FRTp, FRBp}}, ++{"ddedpdq.", XRC(63,322,1), X_MASK|Q_MASK, POWER6, PPCVLE, {SP, FRTp, FRBp}}, + + {"dxexq", XRC(63,354,0), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, + {"dxexq.", XRC(63,354,1), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, +@@ -6881,14 +6990,14 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"frim", XRC(63,488,0), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, + {"frim.", XRC(63,488,1), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, + +-{"dsubq", XRC(63,514,0), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, +-{"dsubq.", XRC(63,514,1), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"dsubq", XRC(63,514,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"dsubq.", XRC(63,514,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, + + {"xssubqp", XRC(63,516,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, + {"xssubqpo", XRC(63,516,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, + +-{"ddivq", XRC(63,546,0), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, +-{"ddivq.", XRC(63,546,1), X_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"ddivq", XRC(63,546,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, ++{"ddivq.", XRC(63,546,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, + + {"xsdivqp", XRC(63,548,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, + {"xsdivqpo", XRC(63,548,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, +@@ -6917,11 +7026,11 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"mtfsf.", XFL(63,711,1), XFL_MASK, POWER6|PPCA2|PPC476, PPCVLE, {FLM, FRB, XFL_L, W}}, + {"mtfsf.", XFL(63,711,1), XFL_MASK, COM, POWER6|PPCA2|PPC476|PPCEFS|PPCVLE, {FLM, FRB}}, + +-{"drdpq", XRC(63,770,0), X_MASK, POWER6, PPCVLE, {FRTp, FRBp}}, +-{"drdpq.", XRC(63,770,1), X_MASK, POWER6, PPCVLE, {FRTp, FRBp}}, ++{"drdpq", XRC(63,770,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRBp}}, ++{"drdpq.", XRC(63,770,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRBp}}, + +-{"dcffixq", XRC(63,802,0), X_MASK, POWER6, PPCVLE, {FRTp, FRB}}, +-{"dcffixq.", XRC(63,802,1), X_MASK, POWER6, PPCVLE, {FRTp, FRB}}, ++{"dcffixq", XRC(63,802,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, ++{"dcffixq.", XRC(63,802,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, + + {"xsabsqp", XVA(63,804,0), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, + {"xsxexpqp", XVA(63,804,2), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, +@@ -6941,8 +7050,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"fctidz.", XRC(63,815,1), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, + {"fctidz.", XRC(63,815,1), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, + +-{"denbcdq", XRC(63,834,0), X_MASK, POWER6, PPCVLE, {S, FRTp, FRBp}}, +-{"denbcdq.", XRC(63,834,1), X_MASK, POWER6, PPCVLE, {S, FRTp, FRBp}}, ++{"denbcdq", XRC(63,834,0), X_MASK|Q_MASK, POWER6, PPCVLE, {S, FRTp, FRBp}}, ++{"denbcdq.", XRC(63,834,1), X_MASK|Q_MASK, POWER6, PPCVLE, {S, FRTp, FRBp}}, + + {"xscvqpuwz", XVA(63,836,1), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, + {"xscvudqp", XVA(63,836,2), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, +@@ -6961,8 +7070,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"fcfid.", XRC(63,846,1), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, + {"fcfid.", XRC(63,846,1), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, + +-{"diexq", XRC(63,866,0), X_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp}}, +-{"diexq.", XRC(63,866,1), X_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp}}, ++{"diexq", XRC(63,866,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp}}, ++{"diexq.", XRC(63,866,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp}}, + + {"xsiexpqp", X(63,868), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, + diff --git a/binutils-2.28.tar.bz2 b/binutils-2.28.tar.bz2 new file mode 100644 index 0000000..7f6be09 --- /dev/null +++ b/binutils-2.28.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6297433ee120b11b4b0a1c8f3512d7d73501753142ab9e2daa13c5a3edd32a72 +size 26556365 diff --git a/binutils.changes b/binutils.changes index f326a51..a4f65a5 100644 --- a/binutils.changes +++ b/binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/binutils.spec b/binutils.spec index 13c61c2..3b20208 100644 --- a/binutils.spec +++ b/binutils.spec @@ -35,7 +35,7 @@ BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif -Version: 2.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -96,13 +96,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -177,11 +174,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-aarch64-binutils.changes +++ b/cross-aarch64-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-aarch64-binutils.spec b/cross-aarch64-binutils.spec index f703ec2..8972102 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-arm-binutils.changes +++ b/cross-arm-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-arm-binutils.spec b/cross-arm-binutils.spec index c30ff03..7e069e4 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-avr-binutils.changes +++ b/cross-avr-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-avr-binutils.spec b/cross-avr-binutils.spec index 9271c84..e5f541e 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-epiphany-binutils.changes +++ b/cross-epiphany-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-epiphany-binutils.spec b/cross-epiphany-binutils.spec index 7470cc1..d61b341 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-hppa-binutils.changes +++ b/cross-hppa-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-hppa-binutils.spec b/cross-hppa-binutils.spec index 2428a01..c61fb5b 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-hppa64-binutils.changes +++ b/cross-hppa64-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-hppa64-binutils.spec b/cross-hppa64-binutils.spec index 25e701c..9f5465e 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-i386-binutils.changes +++ b/cross-i386-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-i386-binutils.spec b/cross-i386-binutils.spec index 5749080..fb210bd 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-ia64-binutils.changes +++ b/cross-ia64-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-ia64-binutils.spec b/cross-ia64-binutils.spec index 868b2ba..c9837e3 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-m68k-binutils.changes +++ b/cross-m68k-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-m68k-binutils.spec b/cross-m68k-binutils.spec index 37a2b6a..49b11bd 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-mips-binutils.changes +++ b/cross-mips-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-mips-binutils.spec b/cross-mips-binutils.spec index 56ca63e..b438c86 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-ppc-binutils.changes +++ b/cross-ppc-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-ppc-binutils.spec b/cross-ppc-binutils.spec index 6a73ab0..dd93b91 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-ppc64-binutils.changes +++ b/cross-ppc64-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-ppc64-binutils.spec b/cross-ppc64-binutils.spec index 0b10866..f8d90ce 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-ppc64le-binutils.changes +++ b/cross-ppc64le-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-ppc64le-binutils.spec b/cross-ppc64le-binutils.spec index 927b00c..40e9411 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-rx-binutils.changes +++ b/cross-rx-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-rx-binutils.spec b/cross-rx-binutils.spec index fe12a9d..831e1d6 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-s390-binutils.changes +++ b/cross-s390-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-s390-binutils.spec b/cross-s390-binutils.spec index 378ae09..4d5cd21 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-s390x-binutils.changes +++ b/cross-s390x-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-s390x-binutils.spec b/cross-s390x-binutils.spec index 784a377..29e0bbd 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-sparc-binutils.changes +++ b/cross-sparc-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-sparc-binutils.spec b/cross-sparc-binutils.spec index 1e1d315..832bccb 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-sparc64-binutils.changes +++ b/cross-sparc64-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-sparc64-binutils.spec b/cross-sparc64-binutils.spec index ee917b6..9fd8819 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-spu-binutils.changes +++ b/cross-spu-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-spu-binutils.spec b/cross-spu-binutils.spec index fa860e0..58eb57d 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -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 f326a51..a4f65a5 100644 --- a/cross-x86_64-binutils.changes +++ b/cross-x86_64-binutils.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib= and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + ------------------------------------------------------------------- Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org diff --git a/cross-x86_64-binutils.spec b/cross-x86_64-binutils.spec index 3eb0c86..d33c6af 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.27 +Version: 2.28 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.27-branch.diff +Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -99,13 +99,10 @@ Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch -# Backport dd90581873482f67922 -Patch23: binutils-2.27-fix-section-order.diff -Patch24: refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch Patch34: aarch64-common-pagesize.patch -Patch35: aarch64-alignment-frags.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff +Patch37: fix-security-bugs.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,11 +177,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa %patch14 %patch18 %patch22 -%patch23 -p1 -%patch24 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 +%patch37 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 diff --git a/fix-security-bugs.diff b/fix-security-bugs.diff new file mode 100644 index 0000000..73013b7 --- /dev/null +++ b/fix-security-bugs.diff @@ -0,0 +1,762 @@ +This contains a merge of the following commits. +It fixes bnc#1029907, bnc#1029908, bnc#1029909 and more. + +commit 03f7786e2f440b9892b1c34a58fb26222ce1b493 +Author: Nick Clifton +Date: Mon Feb 13 13:08:32 2017 +0000 + + Fix readelf writing to illegal addresses whilst processing corrupt input files containing symbol-difference relocations. + + PR binutils/21137 + * readelf.c (target_specific_reloc_handling): Add end parameter. + Check for buffer overflow before writing relocated values. + (apply_relocations): Pass end to target_specific_reloc_handling. + +commit f84ce13b6708801ca1d6289b7c4003e2f5a6d7f9 +Author: Nick Clifton +Date: Mon Feb 13 14:03:22 2017 +0000 + + Fix read-after-free error in readelf when processing multiple, relocated sections in an MSP430 binary. + + PR binutils/21139 + * readelf.c (target_specific_reloc_handling): Add num_syms + parameter. Check for symbol table overflow before accessing + symbol value. If reloc pointer is NULL, discard all saved state. + (apply_relocations): Pass num_syms to target_specific_reloc_handling. + Call target_specific_reloc_handling with a NULL reloc pointer + after processing all of the relocs. + +commit 0ee3043f58aae078a1ecc54b7be2810cae39a718 +Author: Nick Clifton +Date: Mon Feb 13 14:17:07 2017 +0000 + + Fix access violation when reporting sections that could not be dumped. + + PR binutils/21147 + * readelf.c (process_section_contents): Fix off by one error + reporting un-dumped sections. + +commit 4aeb00ad3cc6a29b32f0a4e42c2f64d55e25b76d +Author: Nick Clifton +Date: Mon Feb 13 14:35:24 2017 +0000 + + Fix check for buffer overflow when processing version information. + + PR binutils/21148 + * readelf.c (process_version_sections): Include size of auxillary + version information when checking for buffer overflow. + +commit ebdf1ebfa551fd4624c3cd05401aa3c01ea2ebbe +Author: Nick Clifton +Date: Mon Feb 13 14:52:48 2017 +0000 + + Fix invalid memory access attempting to read the compression header of a too-small compressed section. + + PR binutils/21149 + * readelf.c (get_compression_header): Add size parameter. Check + size against sizeof compression header before attempting to + extract the header. + (process_section_headers): Pass size to get_compression_header. + (dump_section_as_strings): Likewise. + (dump_section_as_bytes): Likewise. + (load_specific_debug_section): Likewise. + +commit f055032e4e922f1e1a5e11026c7c2669fa2a7d19 +Author: Nick Clifton +Date: Mon Feb 13 15:04:37 2017 +0000 + + Fix invalid read of section contents whilst processing a corrupt binary. + + PR binutils/21135 + * readelf.c (dump_section_as_bytes): Handle the case where + uncompress_section_contents returns false. + +commit 1835f746a7c7fff70a2cc03a051b14fdc6b3f73f +Author: Nick Clifton +Date: Mon Feb 13 15:19:48 2017 +0000 + + Extend previous patch to cover uncompress_section_contents returning FALSE to other callers. + + PR binutils/21135 + (dump_section_as_bytes, load_specific_debug_section): Likewise. + +commit c12214021dedefcc2320827bcc1751f2d94ca2c6 +Author: Nick Clifton +Date: Mon Feb 13 17:23:10 2017 +0000 + + Fix illegal memory access bug in nm when run on a corrupt binary. + + PR binutils/21150 + * nm.c (file_symbol): Add test of string length before testing + string characters. + +commit d11135f55294d75099ad03f81bacbe8ae93a6b28 +Author: Nick Clifton +Date: Mon Feb 13 17:51:27 2017 +0000 + + Fix invalid memory access in the BFD library's DWARF parser. + + PR binutils/21151 + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid + unit length field. + +commit b32e566ba6ee02687c6def22ade0899076adf7dd +Author: Nick Clifton +Date: Tue Feb 14 13:24:09 2017 +0000 + + Fix illegal memory access problems with readelf processing corrupt RL78 binaries. + + PR binutils/21155 + * readelf.c (IN_RANGE): New macro. Tests for an address + offset + being within a given range. + (target_specific_reloc_handling): Use macro to test for underflow + as well as overflow of reloc offset. + +commit a2dea0b20bc66a4c287c3c50002b8c3b3e9d953a +Author: Nick Clifton +Date: Tue Feb 14 14:07:29 2017 +0000 + + Fix handling of corrupt STABS enum type strings. + + PR binutils/21157 + * stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE + pairs. + (parse_number): Exit early if passed an empty string. + +commit 92134dc19b4bf6407a88a306b771c9c6c88658d6 +Author: Nick Clifton +Date: Tue Feb 14 14:17:09 2017 +0000 + + Fix an illegal memory access parsing corrupt STABD debug information. + + PR binutils/21158 + * rddbg.c (read_symbol_stabs_debugging_info): Check for a null or + empty symbol name. + +commit bc303e5d6c2dd33086478f80fd1d3096d4e1bc01 +Author: Nick Clifton +Date: Tue Feb 14 15:10:34 2017 +0000 + + Fix invalid memory access displayiing contents of sections. + + PR binutils/21159 + * readelf.c (dump_section_as_strings): Reset the start address if + no decompression is perfromed. + (dump_section_as_bytes): Likewise. + +commit b814a36d3440de95f2ac6eaa4fc7935c322ea456 +Author: Nick Clifton +Date: Fri Feb 17 15:59:45 2017 +0000 + + Fix illegal memory accesses in readelf when parsing a corrupt binary. + + PR binutils/21156 + * readelf.c (find_section_in_set): Test for invalid section + indicies. + +commit 43a444f9c5bfd44b4304eafd78338e21d54bea14 +Author: Nick Clifton +Date: Mon Feb 20 14:40:39 2017 +0000 + + Fix another memory access error in readelf when parsing a corrupt binary. + + PR binutils/21156 + * dwarf.c (cu_tu_indexes_read): Move into... + (load_cu_tu_indexes): ... here. Change the variable into + tri-state. Change the function into boolean, returning + false if the indicies could not be loaded. + (find_cu_tu_set): Return NULL if the indicies could not be + loaded. + +commit 6438d1be9e9b6802a465c70c76b9cec7e23270f3 +Author: Nick Clifton +Date: Fri Feb 17 11:39:20 2017 +0000 + + Fix potential illegal memory access in ZLIB because of an erroneous declaration of the size of the input buffer. + + * compress.c (bfd_get_full_section_contents): Remember to reduce + compressed size by the sizeof the compression header when + decompressing the contents. + +Index: binutils-2.28/binutils/readelf.c +=================================================================== +--- binutils-2.28.orig/binutils/readelf.c 2017-03-02 09:23:53.000000000 +0100 ++++ binutils-2.28/binutils/readelf.c 2017-03-17 16:24:11.000000000 +0100 +@@ -675,8 +675,14 @@ find_section_in_set (const char * name, + if (set != NULL) + { + while ((i = *set++) > 0) +- if (streq (SECTION_NAME (section_headers + i), name)) +- return section_headers + i; ++ { ++ /* See PR 21156 for a reproducer. */ ++ if (i >= elf_header.e_shnum) ++ continue; /* FIXME: Should we issue an error message ? */ ++ ++ if (streq (SECTION_NAME (section_headers + i), name)) ++ return section_headers + i; ++ } + } + + return find_section (name); +@@ -5708,12 +5714,18 @@ get_elf_section_flags (bfd_vma sh_flags) + } + + static unsigned int +-get_compression_header (Elf_Internal_Chdr *chdr, unsigned char *buf) ++get_compression_header (Elf_Internal_Chdr *chdr, unsigned char *buf, bfd_size_type size) + { + if (is_32bit_elf) + { + Elf32_External_Chdr *echdr = (Elf32_External_Chdr *) buf; + ++ if (size < sizeof (* echdr)) ++ { ++ error (_("Compressed section is too small even for a compression header\n")); ++ return 0; ++ } ++ + chdr->ch_type = BYTE_GET (echdr->ch_type); + chdr->ch_size = BYTE_GET (echdr->ch_size); + chdr->ch_addralign = BYTE_GET (echdr->ch_addralign); +@@ -5723,6 +5735,12 @@ get_compression_header (Elf_Internal_Chd + { + Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) buf; + ++ if (size < sizeof (* echdr)) ++ { ++ error (_("Compressed section is too small even for a compression header\n")); ++ return 0; ++ } ++ + chdr->ch_type = BYTE_GET (echdr->ch_type); + chdr->ch_size = BYTE_GET (echdr->ch_size); + chdr->ch_addralign = BYTE_GET (echdr->ch_addralign); +@@ -6304,7 +6322,7 @@ process_section_headers (FILE * file) + { + Elf_Internal_Chdr chdr; + +- (void) get_compression_header (&chdr, buf); ++ (void) get_compression_header (&chdr, buf, sizeof (buf)); + + if (chdr.ch_type == ELFCOMPRESS_ZLIB) + printf (" ZLIB, "); +@@ -10012,7 +10030,7 @@ process_version_sections (FILE * file) + ent.vd_ndx, ent.vd_cnt); + + /* Check for overflow. */ +- if (ent.vd_aux > (size_t) (endbuf - vstart)) ++ if (ent.vd_aux + sizeof (* eaux) > (size_t) (endbuf - vstart)) + break; + + vstart += ent.vd_aux; +@@ -11577,16 +11595,32 @@ process_syminfo (FILE * file ATTRIBUTE_U + return 1; + } + ++#define IN_RANGE(START,END,ADDR,OFF) \ ++ (((ADDR) >= (START)) && ((ADDR) + (OFF) < (END))) ++ + /* Check to see if the given reloc needs to be handled in a target specific + manner. If so then process the reloc and return TRUE otherwise return +- FALSE. */ ++ FALSE. ++ ++ If called with reloc == NULL, then this is a signal that reloc processing ++ for the current section has finished, and any saved state should be ++ discarded. */ + + static bfd_boolean + target_specific_reloc_handling (Elf_Internal_Rela * reloc, + unsigned char * start, +- Elf_Internal_Sym * symtab) ++ unsigned char * end, ++ Elf_Internal_Sym * symtab, ++ unsigned long num_syms) + { +- unsigned int reloc_type = get_reloc_type (reloc->r_info); ++ unsigned int reloc_type = 0; ++ unsigned long sym_index = 0; ++ ++ if (reloc) ++ { ++ reloc_type = get_reloc_type (reloc->r_info); ++ sym_index = get_reloc_symindex (reloc->r_info); ++ } + + switch (elf_header.e_machine) + { +@@ -11595,6 +11629,12 @@ target_specific_reloc_handling (Elf_Inte + { + static Elf_Internal_Sym * saved_sym = NULL; + ++ if (reloc == NULL) ++ { ++ saved_sym = NULL; ++ return TRUE; ++ } ++ + switch (reloc_type) + { + case 10: /* R_MSP430_SYM_DIFF */ +@@ -11602,7 +11642,12 @@ target_specific_reloc_handling (Elf_Inte + break; + /* Fall through. */ + case 21: /* R_MSP430X_SYM_DIFF */ +- saved_sym = symtab + get_reloc_symindex (reloc->r_info); ++ /* PR 21139. */ ++ if (sym_index >= num_syms) ++ error (_("MSP430 SYM_DIFF reloc contains invalid symbol index %lu\n"), ++ sym_index); ++ else ++ saved_sym = symtab + sym_index; + return TRUE; + + case 1: /* R_MSP430_32 or R_MSP430_ABS32 */ +@@ -11624,13 +11669,24 @@ target_specific_reloc_handling (Elf_Inte + handle_sym_diff: + if (saved_sym != NULL) + { ++ int reloc_size = reloc_type == 1 ? 4 : 2; + bfd_vma value; + +- value = reloc->r_addend +- + (symtab[get_reloc_symindex (reloc->r_info)].st_value +- - saved_sym->st_value); ++ if (sym_index >= num_syms) ++ error (_("MSP430 reloc contains invalid symbol index %lu\n"), ++ sym_index); ++ else ++ { ++ value = reloc->r_addend + (symtab[sym_index].st_value ++ - saved_sym->st_value); + +- byte_put (start + reloc->r_offset, value, reloc_type == 1 ? 4 : 2); ++ if (IN_RANGE (start, end, start + reloc->r_offset, reloc_size)) ++ byte_put (start + reloc->r_offset, value, reloc_size); ++ else ++ /* PR 21137 */ ++ error (_("MSP430 sym diff reloc contains invalid offset: 0x%lx\n"), ++ (long) reloc->r_offset); ++ } + + saved_sym = NULL; + return TRUE; +@@ -11650,24 +11706,45 @@ target_specific_reloc_handling (Elf_Inte + { + static Elf_Internal_Sym * saved_sym = NULL; + ++ if (reloc == NULL) ++ { ++ saved_sym = NULL; ++ return TRUE; ++ } ++ + switch (reloc_type) + { + case 34: /* R_MN10300_ALIGN */ + return TRUE; + case 33: /* R_MN10300_SYM_DIFF */ +- saved_sym = symtab + get_reloc_symindex (reloc->r_info); ++ if (sym_index >= num_syms) ++ error (_("MN10300_SYM_DIFF reloc contains invalid symbol index %lu\n"), ++ sym_index); ++ else ++ saved_sym = symtab + sym_index; + return TRUE; ++ + case 1: /* R_MN10300_32 */ + case 2: /* R_MN10300_16 */ + if (saved_sym != NULL) + { ++ int reloc_size = reloc_type == 1 ? 4 : 2; + bfd_vma value; + +- value = reloc->r_addend +- + (symtab[get_reloc_symindex (reloc->r_info)].st_value +- - saved_sym->st_value); ++ if (sym_index >= num_syms) ++ error (_("MN10300 reloc contains invalid symbol index %lu\n"), ++ sym_index); ++ else ++ { ++ value = reloc->r_addend + (symtab[sym_index].st_value ++ - saved_sym->st_value); + +- byte_put (start + reloc->r_offset, value, reloc_type == 1 ? 4 : 2); ++ if (IN_RANGE (start, end, start + reloc->r_offset, reloc_size)) ++ byte_put (start + reloc->r_offset, value, reloc_size); ++ else ++ error (_("MN10300 sym diff reloc contains invalid offset: 0x%lx\n"), ++ (long) reloc->r_offset); ++ } + + saved_sym = NULL; + return TRUE; +@@ -11687,12 +11764,24 @@ target_specific_reloc_handling (Elf_Inte + static bfd_vma saved_sym2 = 0; + static bfd_vma value; + ++ if (reloc == NULL) ++ { ++ saved_sym1 = saved_sym2 = 0; ++ return TRUE; ++ } ++ + switch (reloc_type) + { + case 0x80: /* R_RL78_SYM. */ + saved_sym1 = saved_sym2; +- saved_sym2 = symtab[get_reloc_symindex (reloc->r_info)].st_value; +- saved_sym2 += reloc->r_addend; ++ if (sym_index >= num_syms) ++ error (_("RL78_SYM reloc contains invalid symbol index %lu\n"), ++ sym_index); ++ else ++ { ++ saved_sym2 = symtab[sym_index].st_value; ++ saved_sym2 += reloc->r_addend; ++ } + return TRUE; + + case 0x83: /* R_RL78_OPsub. */ +@@ -11702,12 +11791,20 @@ target_specific_reloc_handling (Elf_Inte + break; + + case 0x41: /* R_RL78_ABS32. */ +- byte_put (start + reloc->r_offset, value, 4); ++ if (IN_RANGE (start, end, start + reloc->r_offset, 4)) ++ byte_put (start + reloc->r_offset, value, 4); ++ else ++ error (_("RL78 sym diff reloc contains invalid offset: 0x%lx\n"), ++ (long) reloc->r_offset); + value = 0; + return TRUE; + + case 0x43: /* R_RL78_ABS16. */ +- byte_put (start + reloc->r_offset, value, 2); ++ if (IN_RANGE (start, end, start + reloc->r_offset, 2)) ++ byte_put (start + reloc->r_offset, value, 2); ++ else ++ error (_("RL78 sym diff reloc contains invalid offset: 0x%lx\n"), ++ (long) reloc->r_offset); + value = 0; + return TRUE; + +@@ -12324,7 +12421,7 @@ apply_relocations (void * + + reloc_type = get_reloc_type (rp->r_info); + +- if (target_specific_reloc_handling (rp, start, symtab)) ++ if (target_specific_reloc_handling (rp, start, end, symtab, num_syms)) + continue; + else if (is_none_reloc (reloc_type)) + continue; +@@ -12420,6 +12517,9 @@ apply_relocations (void * + } + + free (symtab); ++ /* Let the target specific reloc processing code know that ++ we have finished with these relocs. */ ++ target_specific_reloc_handling (NULL, NULL, NULL, NULL, 0); + + if (relocs_return) + { +@@ -12548,7 +12648,8 @@ dump_section_as_strings (Elf_Internal_Sh + { + Elf_Internal_Chdr chdr; + unsigned int compression_header_size +- = get_compression_header (& chdr, (unsigned char *) start); ++ = get_compression_header (& chdr, (unsigned char *) start, ++ num_bytes); + + if (chdr.ch_type != ELFCOMPRESS_ZLIB) + { +@@ -12583,10 +12684,20 @@ dump_section_as_strings (Elf_Internal_Sh + new_size -= 12; + } + +- if (uncompressed_size +- && uncompress_section_contents (& start, +- uncompressed_size, & new_size)) +- num_bytes = new_size; ++ if (uncompressed_size) ++ { ++ if (uncompress_section_contents (& start, ++ uncompressed_size, & new_size)) ++ num_bytes = new_size; ++ else ++ { ++ error (_("Unable to decompress section %s\n"), ++ printable_section_name (section)); ++ return; ++ } ++ } ++ else ++ start = real_start; + } + + /* If the section being dumped has relocations against it the user might +@@ -12682,7 +12793,7 @@ dump_section_as_bytes (Elf_Internal_Shdr + { + Elf_Internal_Chdr chdr; + unsigned int compression_header_size +- = get_compression_header (& chdr, start); ++ = get_compression_header (& chdr, start, section_size); + + if (chdr.ch_type != ELFCOMPRESS_ZLIB) + { +@@ -12717,10 +12828,23 @@ dump_section_as_bytes (Elf_Internal_Shdr + new_size -= 12; + } + +- if (uncompressed_size +- && uncompress_section_contents (& start, uncompressed_size, +- & new_size)) +- section_size = new_size; ++ if (uncompressed_size) ++ { ++ if (uncompress_section_contents (& start, uncompressed_size, ++ & new_size)) ++ { ++ section_size = new_size; ++ } ++ else ++ { ++ error (_("Unable to decompress section %s\n"), ++ printable_section_name (section)); ++ /* FIXME: Print the section anyway ? */ ++ return; ++ } ++ } ++ else ++ start = real_start; + } + + if (relocate) +@@ -12835,7 +12959,7 @@ load_specific_debug_section (enum dwarf_ + return 0; + } + +- compression_header_size = get_compression_header (&chdr, start); ++ compression_header_size = get_compression_header (&chdr, start, size); + + if (chdr.ch_type != ELFCOMPRESS_ZLIB) + { +@@ -12870,15 +12994,24 @@ load_specific_debug_section (enum dwarf_ + size -= 12; + } + +- if (uncompressed_size +- && uncompress_section_contents (&start, uncompressed_size, +- &size)) +- { +- /* Free the compressed buffer, update the section buffer +- and the section size if uncompress is successful. */ +- free (section->start); +- section->start = start; ++ if (uncompressed_size) ++ { ++ if (uncompress_section_contents (&start, uncompressed_size, ++ &size)) ++ { ++ /* Free the compressed buffer, update the section buffer ++ and the section size if uncompress is successful. */ ++ free (section->start); ++ section->start = start; ++ } ++ else ++ { ++ error (_("Unable to decompress section %s\n"), ++ printable_section_name (sec)); ++ return 0; ++ } + } ++ + section->size = size; + } + +@@ -13077,9 +13210,12 @@ process_section_contents (FILE * file) + + /* Check to see if the user requested a + dump of a section that does not exist. */ +- while (i++ < num_dump_sects) +- if (dump_sects[i]) +- warn (_("Section %d was not dumped because it does not exist!\n"), i); ++ while (i < num_dump_sects) ++ { ++ if (dump_sects[i]) ++ warn (_("Section %d was not dumped because it does not exist!\n"), i); ++ i++; ++ } + } + + static void +Index: binutils-2.28/binutils/nm.c +=================================================================== +--- binutils-2.28.orig/binutils/nm.c 2017-03-02 09:23:53.000000000 +0100 ++++ binutils-2.28/binutils/nm.c 2017-03-17 16:24:11.000000000 +0100 +@@ -685,7 +685,8 @@ size_forward1 (const void *P_x, const vo + + #define file_symbol(s, sn, snl) \ + (((s)->flags & BSF_FILE) != 0 \ +- || ((sn)[(snl) - 2] == '.' \ ++ || ((snl) > 2 \ ++ && (sn)[(snl) - 2] == '.' \ + && ((sn)[(snl) - 1] == 'o' \ + || (sn)[(snl) - 1] == 'a'))) + +Index: binutils-2.28/bfd/dwarf2.c +=================================================================== +--- binutils-2.28.orig/bfd/dwarf2.c 2017-03-02 09:23:53.000000000 +0100 ++++ binutils-2.28/bfd/dwarf2.c 2017-03-17 16:24:11.000000000 +0100 +@@ -4288,6 +4288,10 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd + { + bfd_byte * new_ptr; + ++ /* PR 21151 */ ++ if (stash->info_ptr + length > stash->info_ptr_end) ++ return FALSE; ++ + each = parse_comp_unit (stash, length, info_ptr_unit, + offset_size); + if (!each) +Index: binutils-2.28/binutils/stabs.c +=================================================================== +--- binutils-2.28.orig/binutils/stabs.c 2017-03-02 09:23:53.000000000 +0100 ++++ binutils-2.28/binutils/stabs.c 2017-03-17 16:24:11.000000000 +0100 +@@ -232,6 +232,10 @@ parse_number (const char **pp, bfd_boole + + orig = *pp; + ++ /* Stop early if we are passed an empty string. */ ++ if (*orig == 0) ++ return (bfd_vma) 0; ++ + errno = 0; + ul = strtoul (*pp, (char **) pp, 0); + if (ul + 1 != 0 || errno == 0) +@@ -1975,9 +1979,17 @@ parse_stab_enum_type (void *dhandle, con + bfd_signed_vma val; + + p = *pp; +- while (*p != ':') ++ while (*p != ':' && *p != 0) + ++p; + ++ if (*p == 0) ++ { ++ bad_stab (orig); ++ free (names); ++ free (values); ++ return DEBUG_TYPE_NULL; ++ } ++ + name = savestring (*pp, p - *pp); + + *pp = p + 1; +Index: binutils-2.28/binutils/rddbg.c +=================================================================== +--- binutils-2.28.orig/binutils/rddbg.c 2017-03-02 09:23:53.000000000 +0100 ++++ binutils-2.28/binutils/rddbg.c 2017-03-17 16:24:11.000000000 +0100 +@@ -299,7 +299,10 @@ read_symbol_stabs_debugging_info (bfd *a + *pfound = TRUE; + + s = i.name; ++ if (s == NULL || strlen (s) < 1) ++ return FALSE; + f = NULL; ++ + while (s[strlen (s) - 1] == '\\' + && ps + 1 < symend) + { +Index: binutils-2.28/binutils/dwarf.c +=================================================================== +--- binutils-2.28.orig/binutils/dwarf.c 2017-03-02 09:23:53.000000000 +0100 ++++ binutils-2.28/binutils/dwarf.c 2017-03-17 16:24:11.000000000 +0100 +@@ -76,7 +76,6 @@ int dwarf_check = 0; + as a zero-terminated list of section indexes comprising one set of debug + sections from a .dwo file. */ + +-static int cu_tu_indexes_read = 0; + static unsigned int *shndx_pool = NULL; + static unsigned int shndx_pool_size = 0; + static unsigned int shndx_pool_used = 0; +@@ -99,7 +98,7 @@ static int tu_count = 0; + static struct cu_tu_set *cu_sets = NULL; + static struct cu_tu_set *tu_sets = NULL; + +-static void load_cu_tu_indexes (void *file); ++static bfd_boolean load_cu_tu_indexes (void *); + + /* Values for do_debug_lines. */ + #define FLAG_DEBUG_LINES_RAW 1 +@@ -2715,7 +2714,7 @@ load_debug_info (void * file) + return num_debug_info_entries; + + /* If this is a DWARF package file, load the CU and TU indexes. */ +- load_cu_tu_indexes (file); ++ (void) load_cu_tu_indexes (file); + + if (load_debug_section (info, file) + && process_debug_info (&debug_displays [info].section, file, abbrev, 1, 0)) +@@ -7378,21 +7377,27 @@ process_cu_tu_index (struct dwarf_sectio + section sets that we can use to associate a .debug_info.dwo section + with its associated .debug_abbrev.dwo section in a .dwp file. */ + +-static void ++static bfd_boolean + load_cu_tu_indexes (void *file) + { ++ static int cu_tu_indexes_read = -1; /* Tri-state variable. */ ++ + /* If we have already loaded (or tried to load) the CU and TU indexes + then do not bother to repeat the task. */ +- if (cu_tu_indexes_read) +- return; +- +- if (load_debug_section (dwp_cu_index, file)) +- process_cu_tu_index (&debug_displays [dwp_cu_index].section, 0); ++ if (cu_tu_indexes_read == -1) ++ { ++ cu_tu_indexes_read = TRUE; ++ ++ if (load_debug_section (dwp_cu_index, file)) ++ if (! process_cu_tu_index (&debug_displays [dwp_cu_index].section, 0)) ++ cu_tu_indexes_read = FALSE; + +- if (load_debug_section (dwp_tu_index, file)) +- process_cu_tu_index (&debug_displays [dwp_tu_index].section, 0); ++ if (load_debug_section (dwp_tu_index, file)) ++ if (! process_cu_tu_index (&debug_displays [dwp_tu_index].section, 0)) ++ cu_tu_indexes_read = FALSE; ++ } + +- cu_tu_indexes_read = 1; ++ return (bfd_boolean) cu_tu_indexes_read; + } + + /* Find the set of sections that includes section SHNDX. */ +@@ -7402,7 +7407,8 @@ find_cu_tu_set (void *file, unsigned int + { + unsigned int i; + +- load_cu_tu_indexes (file); ++ if (! load_cu_tu_indexes (file)) ++ return NULL; + + /* Find SHNDX in the shndx pool. */ + for (i = 0; i < shndx_pool_used; i++) +Index: binutils-2.28/bfd/compress.c +=================================================================== +--- binutils-2.28.orig/bfd/compress.c 2017-03-02 09:23:53.000000000 +0100 ++++ binutils-2.28/bfd/compress.c 2017-03-17 16:24:11.000000000 +0100 +@@ -300,7 +300,7 @@ bfd_get_full_section_contents (bfd *abfd + SHF_COMPRESSED section. */ + compression_header_size = 12; + if (!decompress_contents (compressed_buffer + compression_header_size, +- sec->compressed_size, p, sz)) ++ sec->compressed_size - compression_header_size, p, sz)) + { + bfd_set_error (bfd_error_bad_value); + if (p != *ptr) diff --git a/refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch b/refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch deleted file mode 100644 index 188ef56..0000000 --- a/refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 3d3424e9a8d6ad56160b98bf6e223c0346164468 Mon Sep 17 00:00:00 2001 -From: Matthew Fortune -Date: Thu, 29 Sep 2016 11:13:46 +0100 -Subject: [PATCH] Refine .cfi_sections check to only consider compact eh_frame - -The .cfi_sections directive can be safely used multiple times -with different sections named at any time unless the compact form -of exception handling is requested after CFI information has -been emitted. Only the compact form of CFI information changes -the way in which CFI is generated and therefore cannot be -retrospectively requested after generating CFI information. - -gas/ - - PR gas/20648 - * dw2gencfi.c (dot_cfi_sections): Refine the check for - inconsistent .cfi_sections to only consider compact vs non - compact forms. - * testsuite/gas/cfi/cfi-common-9.d: New file. - * testsuite/gas/cfi/cfi-common-9.s: New file. - * testsuite/gas/cfi/cfi.exp: Run new test. ---- - gas/ChangeLog | 10 ++++++++++ - gas/dw2gencfi.c | 5 ++++- - gas/testsuite/gas/cfi/cfi-common-9.d | 23 +++++++++++++++++++++++ - gas/testsuite/gas/cfi/cfi-common-9.s | 4 ++++ - gas/testsuite/gas/cfi/cfi.exp | 1 + - 5 files changed, 42 insertions(+), 1 deletions(-) - create mode 100644 gas/testsuite/gas/cfi/cfi-common-9.d - create mode 100644 gas/testsuite/gas/cfi/cfi-common-9.s - -Index: binutils-2.27/gas/dw2gencfi.c -=================================================================== ---- binutils-2.27.orig/gas/dw2gencfi.c -+++ binutils-2.27/gas/dw2gencfi.c -@@ -1244,7 +1244,10 @@ dot_cfi_sections (int ignored ATTRIBUTE_ - } - - demand_empty_rest_of_line (); -- if (cfi_sections_set && cfi_sections != sections) -+ if (cfi_sections_set -+ && (sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact)) -+ && (cfi_sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact)) -+ != (sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact))) - as_bad (_("inconsistent uses of .cfi_sections")); - cfi_sections = sections; - } -Index: binutils-2.27/gas/testsuite/gas/cfi/cfi-common-9.d -=================================================================== ---- /dev/null -+++ binutils-2.27/gas/testsuite/gas/cfi/cfi-common-9.d -@@ -0,0 +1,23 @@ -+#objdump: -Wf -+#name: CFI common 9 -+#... -+Contents of the .eh_frame section: -+ -+00000000 0+0010 0+0000 CIE -+ Version: 1 -+ Augmentation: "zR" -+ Code alignment factor: .* -+ Data alignment factor: .* -+ Return address column: .* -+ Augmentation data: [01]b -+ -+ DW_CFA_nop -+ DW_CFA_nop -+ DW_CFA_nop -+ -+00000014 0+00(10|18|1c|20) 0+0018 FDE cie=0+0000 pc=.* -+ -+ DW_CFA_nop -+ DW_CFA_nop -+ DW_CFA_nop -+#... -Index: binutils-2.27/gas/testsuite/gas/cfi/cfi-common-9.s -=================================================================== ---- /dev/null -+++ binutils-2.27/gas/testsuite/gas/cfi/cfi-common-9.s -@@ -0,0 +1,4 @@ -+ .cfi_sections .eh_frame -+ .cfi_startproc simple -+ .cfi_sections .debug_frame -+ .cfi_endproc -Index: binutils-2.27/gas/testsuite/gas/cfi/cfi.exp -=================================================================== ---- binutils-2.27.orig/gas/testsuite/gas/cfi/cfi.exp -+++ binutils-2.27/gas/testsuite/gas/cfi/cfi.exp -@@ -135,4 +135,5 @@ if { ![istarget "hppa64*-*"] } then { - run_dump_test "cfi-common-6" - } - run_dump_test "cfi-common-7" -+ run_dump_test "cfi-common-9" - }