Hello community, here is the log from the commit of package binutils for openSUSE:Factory checked in at 2018-03-08 10:40:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/binutils (Old) and /work/SRC/openSUSE:Factory/.binutils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "binutils" Thu Mar 8 10:40:45 2018 rev:124 rq:583547 version:2.30 Changes: -------- --- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2018-01-29 14:56:19.509696481 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/binutils.changes 2018-03-08 10:40:55.737131484 +0100 @@ -1,0 +2,33 @@ +Tue Mar 6 16:01:24 UTC 2018 - [email protected] + +- Add binutils-pr22868.diff to fix testsuite fails in LLVM. + +------------------------------------------------------------------- +Mon Feb 26 11:03:07 UTC 2018 - [email protected] + +- Update to binutils 2.30 + * Add --debug-dump=links option to readelf and --dwarf=links option to objdump + which displays the contents of any .gnu_debuglink or .gnu_debugaltlink + sections. + Add a --debug-dump=follow-links option to readelf and a --dwarf=follow-links + option to objdump which causes indirect links into separate debug info files + to be followed when dumping other DWARF sections. + * Add support for loaction views in DWARF debug line information. + * Add -z separate-code to generate separate code PT_LOAD segment. + * Add "-z undefs" command line option as the inverse of the "-z defs" option. + * Add -z globalaudit command line option to force audit libraries to be run + for every dynamic object loaded by an executable - provided that the loader + supports this functionality. + * Tighten linker script grammar around file name specifiers to prevent the use + of SORT_BY_ALIGNMENT and SORT_BY_INIT_PRIORITY on filenames. These would + previously be accepted but had no effect. + * The EXCLUDE_FILE directive can now be placed within any SORT_* directive + within input section lists. +- binutils-2.30-branch.diff: 2.30 branch @4cd0043413 +- riscv-wrap-relax.patch: Fix linker relaxation with --wrap +- Remove use-hashtype-both-by-default.diff, use + --enable-default-hash-style=both instead +- Remove binutils-2.29-branch.diff, s390x-8fe09d7.diff +- Use riscv64-suse-linux as target for cross-riscv64-binutils + +------------------------------------------------------------------- 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-riscv64-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 Old: ---- binutils-2.29-branch.diff binutils-2.29.1.tar.bz2 s390x-8fe09d7.diff use-hashtype-both-by-default.diff New: ---- binutils-2.30-branch.diff binutils-2.30.tar.bz2 binutils-pr22868.diff riscv-wrap-relax.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ binutils.spec ++++++ --- /var/tmp/diff_new_pack.IHxAxx/_old 2018-03-08 10:40:59.181007480 +0100 +++ /var/tmp/diff_new_pack.IHxAxx/_new 2018-03-08 10:40:59.185007336 +0100 @@ -33,7 +33,7 @@ %else BuildRequires: zlib-devel %endif -Version: 2.29.1 +Version: 2.30 Release: 0 # # RUN_TESTS @@ -73,13 +73,13 @@ %endif # Summary: GNU Binutils -License: GFDL-1.3 and GPL-3.0+ +License: GFDL-1.3-only AND GPL-3.0-or-later Group: Development/Tools/Building Source: binutils-%{version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -Patch: binutils-2.29-branch.diff +Patch: binutils-2.30-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -87,14 +87,13 @@ Patch8: ld-relro.diff Patch9: testsuite.diff Patch10: enable-targets-gold.diff -Patch11: use-hashtype-both-by-default.diff Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -# upstream typo fix -Patch35: s390x-8fe09d7.diff +Patch35: riscv-wrap-relax.patch +Patch36: binutils-pr22868.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -109,7 +108,7 @@ %package gold Summary: The gold linker -License: GPL-3.0+ +License: GPL-3.0-or-later Group: Development/Tools/Building Requires: binutils = %{version}-%{release} PreReq: update-alternatives @@ -126,7 +125,7 @@ %package devel Summary: GNU binutils (BFD development files) -License: GPL-3.0+ +License: GPL-3.0-or-later Group: Development/Libraries/C and C++ Requires: binutils = %{version}-%{release} Requires: zlib-devel @@ -159,17 +158,13 @@ %patch8 %patch9 %patch10 -%if "%{TARGET}" != "mips" -# The MIPS ABI is incompatible with .gnu.hash, so don't -# use it there -%patch11 %patch12 -%endif %patch14 %patch18 %patch22 %patch34 -p1 %patch35 -p1 +%patch36 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -247,6 +242,9 @@ --enable-compressed-debug-sections=gas \ %endif --enable-new-dtags \ +%if "%{TARGET}" != "mips" + --enable-default-hash-style=both \ +%endif --enable-shared make %{?_smp_mflags} all-bfd TARGET-bfd=headers # force reconfiguring (???) @@ -286,7 +284,7 @@ %if "%{TARGET}" == "avr" || "%{TARGET}" == "spu" %define TARGET_OS %{TARGET} %else -%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "riscv64" || "%{TARGET}" == "rx" +%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "rx" %define TARGET_OS %{TARGET}-elf %else %if "%{TARGET}" == "arm" @@ -312,6 +310,9 @@ %else --with-sysroot=%{_prefix}/%{TARGET_OS}/sys-root \ %endif +%if "%{TARGET}" != "mips" + --enable-default-hash-style=both \ +%endif ${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"} make %{?_smp_mflags} all-bfd TARGET-bfd=headers # force reconfiguring ++++++ cross-aarch64-binutils.spec ++++++ --- /var/tmp/diff_new_pack.IHxAxx/_old 2018-03-08 10:40:59.213006327 +0100 +++ /var/tmp/diff_new_pack.IHxAxx/_new 2018-03-08 10:40:59.213006327 +0100 @@ -36,7 +36,7 @@ %else BuildRequires: zlib-devel %endif -Version: 2.29.1 +Version: 2.30 Release: 0 # # RUN_TESTS @@ -76,13 +76,13 @@ %endif # Summary: GNU Binutils -License: GFDL-1.3 and GPL-3.0+ +License: GFDL-1.3-only AND GPL-3.0-or-later Group: Development/Tools/Building Source: binutils-%{version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf -Patch: binutils-2.29-branch.diff +Patch: binutils-2.30-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -90,14 +90,13 @@ Patch8: ld-relro.diff Patch9: testsuite.diff Patch10: enable-targets-gold.diff -Patch11: use-hashtype-both-by-default.diff Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch -# upstream typo fix -Patch35: s390x-8fe09d7.diff +Patch35: riscv-wrap-relax.patch +Patch36: binutils-pr22868.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -112,7 +111,7 @@ %package gold Summary: The gold linker -License: GPL-3.0+ +License: GPL-3.0-or-later Group: Development/Tools/Building Requires: binutils = %{version}-%{release} PreReq: update-alternatives @@ -129,7 +128,7 @@ %package devel Summary: GNU binutils (BFD development files) -License: GPL-3.0+ +License: GPL-3.0-or-later Group: Development/Libraries/C and C++ Requires: binutils = %{version}-%{release} Requires: zlib-devel @@ -162,17 +161,13 @@ %patch8 %patch9 %patch10 -%if "%{TARGET}" != "mips" -# The MIPS ABI is incompatible with .gnu.hash, so don't -# use it there -%patch11 %patch12 -%endif %patch14 %patch18 %patch22 %patch34 -p1 %patch35 -p1 +%patch36 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -250,6 +245,9 @@ --enable-compressed-debug-sections=gas \ %endif --enable-new-dtags \ +%if "%{TARGET}" != "mips" + --enable-default-hash-style=both \ +%endif --enable-shared make %{?_smp_mflags} all-bfd TARGET-bfd=headers # force reconfiguring (???) @@ -289,7 +287,7 @@ %if "%{TARGET}" == "avr" || "%{TARGET}" == "spu" %define TARGET_OS %{TARGET} %else -%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "riscv64" || "%{TARGET}" == "rx" +%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "rx" %define TARGET_OS %{TARGET}-elf %else %if "%{TARGET}" == "arm" @@ -315,6 +313,9 @@ %else --with-sysroot=%{_prefix}/%{TARGET_OS}/sys-root \ %endif +%if "%{TARGET}" != "mips" + --enable-default-hash-style=both \ +%endif ${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"} make %{?_smp_mflags} all-bfd TARGET-bfd=headers # force reconfiguring 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-riscv64-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-common-pagesize.patch ++++++ --- /var/tmp/diff_new_pack.IHxAxx/_old 2018-03-08 10:40:59.812984724 +0100 +++ /var/tmp/diff_new_pack.IHxAxx/_new 2018-03-08 10:40:59.816984580 +0100 @@ -12,7 +12,7 @@ -#define ELF_COMMONPAGESIZE 0x1000 +#define ELF_COMMONPAGESIZE 0x10000 - #define bfd_elfNN_close_and_cleanup \ + #define bfd_elfNN_close_and_cleanup \ elfNN_aarch64_close_and_cleanup Index: binutils-2.25.0/gold/aarch64.cc =================================================================== ++++++ binutils-2.29-branch.diff -> binutils-2.30-branch.diff ++++++ ++++ 31465 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/binutils/binutils-2.29-branch.diff ++++ and /work/SRC/openSUSE:Factory/.binutils.new/binutils-2.30-branch.diff ++++++ binutils-2.29.1.tar.bz2 -> binutils-2.30.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/binutils/binutils-2.29.1.tar.bz2 /work/SRC/openSUSE:Factory/.binutils.new/binutils-2.30.tar.bz2 differ: char 11, line 1 ++++++ binutils-pr22868.diff ++++++ Fixes two testsuite fails in the gold plugin tests of LLVM. Aka binutils/PR22868 Index: binutils-2.30/gold/resolve.cc =================================================================== --- binutils-2.30.orig/gold/resolve.cc 2018-01-13 14:31:16.000000000 +0100 +++ binutils-2.30/gold/resolve.cc 2018-03-06 16:58:42.000000000 +0100 @@ -265,10 +265,13 @@ Symbol_table::resolve(Sized_symbol<size> return; // Likewise for an absolute symbol defined twice with the same value. + // plugin-symbols are always absolute with same value here, so ignore those if (!is_ordinary && st_shndx == elfcpp::SHN_ABS && !to_is_ordinary && to_shndx == elfcpp::SHN_ABS + && object->pluginobj() == NULL + && to->object()->pluginobj() == NULL && to->value() == sym.get_st_value()) return; ++++++ riscv-wrap-relax.patch ++++++ 2018-02-02 Jim Wilson <[email protected]> PR ld/22756 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info. If link_info->wrap_hash, check for a duplicate symbol and ignore. (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le): Pass new argument to riscv_relax_delete_bytes. (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove ATTRIBUTE_UNUSED from link_info parameter. Index: binutils-2.30/bfd/elfnn-riscv.c =================================================================== --- binutils-2.30.orig/bfd/elfnn-riscv.c +++ binutils-2.30/bfd/elfnn-riscv.c @@ -2604,7 +2604,8 @@ fail: /* Delete some bytes from a section while relaxing. */ static bfd_boolean -riscv_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, size_t count) +riscv_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, size_t count, + struct bfd_link_info *link_info) { unsigned int i, symcount; bfd_vma toaddr = sec->size; @@ -2654,6 +2655,31 @@ riscv_relax_delete_bytes (bfd *abfd, ase { struct elf_link_hash_entry *sym_hash = sym_hashes[i]; + /* The '--wrap SYMBOL' option is causing a pain when the object file, + containing the definition of __wrap_SYMBOL, includes a direct + call to SYMBOL as well. Since both __wrap_SYMBOL and SYMBOL reference + the same symbol (which is __wrap_SYMBOL), but still exist as two + different symbols in 'sym_hashes', we don't want to adjust + the global symbol __wrap_SYMBOL twice. + This check is only relevant when symbols are being wrapped. */ + if (link_info->wrap_hash != NULL) + { + struct elf_link_hash_entry **cur_sym_hashes; + + /* Loop only over the symbols which have already been checked. */ + for (cur_sym_hashes = sym_hashes; cur_sym_hashes < &sym_hashes[i]; + cur_sym_hashes++) + { + /* If the current symbol is identical to 'sym_hash', that means + the symbol was already adjusted (or at least checked). */ + if (*cur_sym_hashes == sym_hash) + break; + } + /* Don't adjust the symbol again. */ + if (cur_sym_hashes < &sym_hashes[i]) + continue; + } + if ((sym_hash->root.type == bfd_link_hash_defined || sym_hash->root.type == bfd_link_hash_defweak) && sym_hash->root.u.def.section == sec) @@ -2886,7 +2912,8 @@ _bfd_riscv_relax_call (bfd *abfd, asecti /* Delete unnecessary JALR. */ *again = TRUE; - return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + len, 8 - len); + return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + len, 8 - len, + link_info); } /* Traverse all output sections and return the max alignment. */ @@ -2964,7 +2991,8 @@ _bfd_riscv_relax_lui (bfd *abfd, /* We can delete the unnecessary LUI and reloc. */ rel->r_info = ELFNN_R_INFO (0, R_RISCV_NONE); *again = TRUE; - return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4); + return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4, + link_info); default: abort (); @@ -2991,7 +3019,8 @@ _bfd_riscv_relax_lui (bfd *abfd, rel->r_info = ELFNN_R_INFO (ELFNN_R_SYM (rel->r_info), R_RISCV_RVC_LUI); *again = TRUE; - return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + 2, 2); + return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + 2, 2, + link_info); } return TRUE; @@ -3031,7 +3060,7 @@ _bfd_riscv_relax_tls_le (bfd *abfd, /* We can delete the unnecessary instruction and reloc. */ rel->r_info = ELFNN_R_INFO (0, R_RISCV_NONE); *again = TRUE; - return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4); + return riscv_relax_delete_bytes (abfd, sec, rel->r_offset, 4, link_info); default: abort (); @@ -3043,7 +3072,7 @@ _bfd_riscv_relax_tls_le (bfd *abfd, static bfd_boolean _bfd_riscv_relax_align (bfd *abfd, asection *sec, asection *sym_sec, - struct bfd_link_info *link_info ATTRIBUTE_UNUSED, + struct bfd_link_info *link_info, Elf_Internal_Rela *rel, bfd_vma symval, bfd_vma max_alignment ATTRIBUTE_UNUSED, @@ -3091,7 +3120,7 @@ _bfd_riscv_relax_align (bfd *abfd, asect /* Delete the excess bytes. */ return riscv_relax_delete_bytes (abfd, sec, rel->r_offset + nop_bytes, - rel->r_addend - nop_bytes); + rel->r_addend - nop_bytes, link_info); } /* Relax PC-relative references to GP-relative references. */ @@ -3212,7 +3241,7 @@ static bfd_boolean _bfd_riscv_relax_delete (bfd *abfd, asection *sec, asection *sym_sec ATTRIBUTE_UNUSED, - struct bfd_link_info *link_info ATTRIBUTE_UNUSED, + struct bfd_link_info *link_info, Elf_Internal_Rela *rel, bfd_vma symval ATTRIBUTE_UNUSED, bfd_vma max_alignment ATTRIBUTE_UNUSED, @@ -3220,7 +3249,8 @@ _bfd_riscv_relax_delete (bfd *abfd, bfd_boolean *again ATTRIBUTE_UNUSED, riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED) { - if (!riscv_relax_delete_bytes(abfd, sec, rel->r_offset, rel->r_addend)) + if (!riscv_relax_delete_bytes(abfd, sec, rel->r_offset, rel->r_addend, + link_info)) return FALSE; rel->r_info = ELFNN_R_INFO(0, R_RISCV_NONE); return TRUE; ++++++ testsuite.diff ++++++ --- /var/tmp/diff_new_pack.IHxAxx/_old 2018-03-08 10:41:00.032976803 +0100 +++ /var/tmp/diff_new_pack.IHxAxx/_new 2018-03-08 10:41:00.032976803 +0100 @@ -24,16 +24,3 @@ # Get the offset from an S-record line to the start of the data. proc srec_off { l } { -Index: ld/testsuite/ld-undefined/undefined.exp -=================================================================== ---- ld/testsuite/ld-undefined/undefined.exp.orig -+++ ld/testsuite/ld-undefined/undefined.exp -@@ -134,7 +134,7 @@ setup_xfail "sh64-*-*" - # the function. Therefore the line number in the error message is 8 instead - # of 9. On 64 bit s/390 this works because of the new brasl instruction that - # doesn't need a literal pool entry. --setup_xfail s390-*-* -+#setup_xfail s390-*-* - - # See comments above for Xtensa. - setup_xfail xtensa*-*-linux*
