Hello community, here is the log from the commit of package binutils for openSUSE:Factory checked in at 2017-02-13 00:24:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/binutils (Old) and /work/SRC/openSUSE:Factory/.binutils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "binutils" Changes: -------- --- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2016-12-03 18:22:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/binutils.changes 2017-02-13 00:24:52.745373287 +0100 @@ -1,0 +2,16 @@ +Tue Feb 7 11:42:02 UTC 2017 - [email protected] + +- Add s390x to gold_archs. + +------------------------------------------------------------------- +Mon Feb 6 15:25:44 UTC 2017 - [email protected] + +- Fix alignment frags for aarch64 (boo#1003846) + aarch64-alignment-frags.patch + +------------------------------------------------------------------- +Sun Dec 18 18:36:08 UTC 2016 - [email protected] + +- Call ldconfig for libbfd + +------------------------------------------------------------------- cross-aarch64-binutils.changes: same change cross-arm-binutils.changes: same change cross-avr-binutils.changes: same change cross-epiphany-binutils.changes: same change cross-hppa-binutils.changes: same change cross-hppa64-binutils.changes: same change cross-i386-binutils.changes: same change cross-ia64-binutils.changes: same change cross-m68k-binutils.changes: same change cross-mips-binutils.changes: same change cross-ppc-binutils.changes: same change cross-ppc64-binutils.changes: same change cross-ppc64le-binutils.changes: same change cross-rx-binutils.changes: same change cross-s390-binutils.changes: same change cross-s390x-binutils.changes: same change cross-sparc-binutils.changes: same change cross-sparc64-binutils.changes: same change cross-spu-binutils.changes: same change cross-x86_64-binutils.changes: same change New: ---- aarch64-alignment-frags.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ binutils.spec ++++++ --- /var/tmp/diff_new_pack.HPKQZD/_old 2017-02-13 00:25:05.907488882 +0100 +++ /var/tmp/diff_new_pack.HPKQZD/_new 2017-02-13 00:25:05.911488310 +0100 @@ -1,7 +1,7 @@ # # spec file for package binutils # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -100,6 +100,7 @@ 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 Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -120,7 +121,7 @@ PreReq: update-alternatives %if 0%{suse_version} > 1100 %if 0%{!?cross:1} -%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le %sparc +%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc %endif %endif @@ -177,6 +178,7 @@ %patch23 -p1 %patch24 -p1 %patch34 -p1 +%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -411,6 +413,7 @@ %if 0%{!?cross:1} %post +/sbin/ldconfig "%_sbindir/update-alternatives" --install \ "%_bindir/ld" ld "%_bindir/ld.bfd" 2 %install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz @@ -438,6 +441,8 @@ "%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold"; fi; +%postun +/sbin/ldconfig %endif %files -f binutils.lang ++++++ cross-aarch64-binutils.spec ++++++ --- /var/tmp/diff_new_pack.HPKQZD/_old 2017-02-13 00:25:05.935484874 +0100 +++ /var/tmp/diff_new_pack.HPKQZD/_new 2017-02-13 00:25:05.935484874 +0100 @@ -1,7 +1,7 @@ # # spec file for package cross-aarch64-binutils # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -103,6 +103,7 @@ 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 Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -123,7 +124,7 @@ PreReq: update-alternatives %if 0%{suse_version} > 1100 %if 0%{!?cross:1} -%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le %sparc +%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc %endif %endif @@ -180,6 +181,7 @@ %patch23 -p1 %patch24 -p1 %patch34 -p1 +%patch35 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -414,6 +416,7 @@ %if 0%{!?cross:1} %post +/sbin/ldconfig "%_sbindir/update-alternatives" --install \ "%_bindir/ld" ld "%_bindir/ld.bfd" 2 %install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz @@ -441,6 +444,8 @@ "%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold"; fi; +%postun +/sbin/ldconfig %endif %files -f binutils.lang cross-arm-binutils.spec: same change cross-avr-binutils.spec: same change cross-epiphany-binutils.spec: same change cross-hppa-binutils.spec: same change cross-hppa64-binutils.spec: same change cross-i386-binutils.spec: same change cross-ia64-binutils.spec: same change cross-m68k-binutils.spec: same change cross-mips-binutils.spec: same change cross-ppc-binutils.spec: same change cross-ppc64-binutils.spec: same change cross-ppc64le-binutils.spec: same change cross-rx-binutils.spec: same change cross-s390-binutils.spec: same change cross-s390x-binutils.spec: same change cross-sparc-binutils.spec: same change cross-sparc64-binutils.spec: same change cross-spu-binutils.spec: same change cross-x86_64-binutils.spec: same change ++++++ aarch64-alignment-frags.patch ++++++ >From 7ea12e5c3ad54da440c08f32da09534e63e515ca Mon Sep 17 00:00:00 2001 From: Nick Clifton <[email protected]> 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 <size>, <fill>" 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 <plat_report_exception> + 8: 17fffffe b 0 <bl1_exceptions> + 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 +
