From: Matthias Klose Date: Fri, 23 Nov 2018 08:02:12 +0000 (+0000) Subject: Import binutils_2.31.1-8.debian.tar.xz X-Git-Tag: archive/raspbian/2.31.1-8+rpi1^2~25^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3aaec256d8d4e9b219661c28af39ba7d8debe663;p=binutils.git Import binutils_2.31.1-8.debian.tar.xz [dgit import tarball binutils 2.31.1-8 binutils_2.31.1-8.debian.tar.xz] --- 3aaec256d8d4e9b219661c28af39ba7d8debe663 diff --git a/README.cross b/README.cross new file mode 100644 index 000000000..f118d3b36 --- /dev/null +++ b/README.cross @@ -0,0 +1,27 @@ +Cross-binutils debian packages are directly built from the binutils +source package together with the native binutils packages. + +To build a cross-binutils package which is not yet built: + + o Download and unpack the binutils source package: + + apt-get source binutils + + o Ensure you have the binutils build-dependencies installed: + + apt-get build-dep binutils + + o Then build the cross-binutils package: + + TARGET= dpkg-buildpackage -b -uc -us + or + echo arm >debian/target; dpkg-buildpackage -b -uc -us + + (substitute your target name, e.g. "arm" or "m68k", instead of + "") + +-- +Hector Oron +Marcin Juszkiewicz +Matthias Klose +Nikita Youshchenko diff --git a/binutils-common.overrides b/binutils-common.overrides new file mode 100644 index 000000000..65ee8dc90 --- /dev/null +++ b/binutils-common.overrides @@ -0,0 +1,2 @@ +# big tables +binutils-common binary: manpage-has-errors-from-man diff --git a/binutils-cross.overrides b/binutils-cross.overrides new file mode 100644 index 000000000..e5e9ca5df --- /dev/null +++ b/binutils-cross.overrides @@ -0,0 +1,15 @@ +@PKG@ binary: package-name-doesnt-match-sonames +@PKG@ binary: non-standard-dir-in-usr + +# needed for kfreebsd and the hurd +@PKG@ binary: file-in-unusual-dir + +# internal libs, with the target name encoded +@PKG@ binary: no-shlibs-control-file + +# yes, intended +@PKG@ binary: shlib-in-multi-arch-foreign-package +@PKG@ binary: triplet-dir-and-architecture-mismatch + +# some triplets are long ... +@PKG@ binary: extended-description-line-too-long diff --git a/binutils-hppa64-linux-gnu.overrides b/binutils-hppa64-linux-gnu.overrides new file mode 100644 index 000000000..ce5267c97 --- /dev/null +++ b/binutils-hppa64-linux-gnu.overrides @@ -0,0 +1,10 @@ +# don't warn about missing man pages for diverted binaries +binutils-hppa64-linux-gnu binary: binary-without-manpage + +# the API of the shared libs is not public, don't care about the name +binutils-hppa64-linux-gnu binary: package-name-doesnt-match-sonames + +binutils-hppa64-linux-gnu binary: non-standard-dir-in-usr + +# private library. no -dev package is provided, nothing can link it +binutils-hppa64-linux-gnu binary: no-shlibs-control-file diff --git a/binutils-multiarch-dev.overrides b/binutils-multiarch-dev.overrides new file mode 100644 index 000000000..1a81c37e4 --- /dev/null +++ b/binutils-multiarch-dev.overrides @@ -0,0 +1,2 @@ +# package only has symlinks +binutils-multiarch-dev binary: control-file-is-empty md5sums diff --git a/binutils-multiarch.overrides b/binutils-multiarch.overrides new file mode 100644 index 000000000..010ad55bc --- /dev/null +++ b/binutils-multiarch.overrides @@ -0,0 +1,13 @@ +# don't warn about missing man pages for diverted binaries +binutils-multiarch binary: binary-without-manpage + +# the API of the shared libs is not public, don't care about the name +binutils-multiarch binary: package-name-doesnt-match-sonames + +# the upstream name, we don't care +binutils-multiarch binary: dev-pkg-without-shlib-symlink + +# not in binutils-multiarch, just move these away +binutils-multiarch: diversion-for-unknown-file usr/lib/libopcodes.a preinst:19 +binutils-multiarch: diversion-for-unknown-file usr/lib/libbfd.a preinst:16 + diff --git a/binutils-multiarch.postinst.in b/binutils-multiarch.postinst.in new file mode 100644 index 000000000..a1a460ec3 --- /dev/null +++ b/binutils-multiarch.postinst.in @@ -0,0 +1,80 @@ +#! /bin/sh +# Update .so symlinks and remove obsolete diversions. +# +# Removing a diversion requires a guarantee that the conflicting +# file is not present any more, and we cannot guarantee that if +# some other version of binutils-multiarch is installed. +# So we remove the diversions in postinst, not preinst. +set -e +ma=@DEB_MULTIARCH@ +triplet=@DEB_TRIPLET@ +old_diversion() { + local divertto file + file=$1 + divertto=${2-$file.single} + if + dpkg-divert --package binutils-multiarch --list | + grep -q -F "$divertto" + then + dpkg-divert --package binutils-multiarch \ + --remove --rename \ + --divert "$divertto" "$file" + fi +} + +# remove obsolete diversions +old_diversion /usr/bin/ld.bfd +old_diversion /usr/bin/c++filt +old_diversion /usr/lib/libbfd.a /usr/lib/libbfd-single.a +old_diversion /usr/lib/libopcodes.a /usr/lib/libopcodes-single.a +old_diversion /usr/bin/ld +old_diversion /usr/bin/elfedit +for f in elf32_sparc elf32ppc elf64alpha elf_i386 m68kelf \ + alpha i386linux m68klinux sparclinux sun4 +do + for ext in x xbn xn xr xs xu + do + old_diversion /usr/lib/ldscripts/$f.$ext + done +done +old_diversion /usr/lib/libbfd-2.9.1.0.15.so.0.0.0 \ + /usr/lib/libbfd-single-2.9.1.0.15.so.0.0.0 +old_diversion /usr/lib/libopcodes-2.9.1.0.15.so.0.0.0 \ + /usr/lib/libopcodes-single-2.9.1.0.15.so.0.0.0 +old_diversion /usr/lib/libbfd.la /usr/lib/libbfd-single.la +old_diversion /usr/lib/libopcodes.la /usr/lib/libopcodes-single.la +old_diversion /usr/include/bfd.h /usr/include/bfd.single.h +old_diversion /usr/lib/ldscripts + +rm -f /usr/lib/libbfd-*-multiarch.so.0 +rm -f /usr/lib/libopcodes-*-multiarch.so.0 + +old_diversion /usr/bin/addr2line +old_diversion /usr/bin/ar +old_diversion /usr/bin/embedspu +old_diversion /usr/bin/gprof +old_diversion /usr/bin/nm +old_diversion /usr/bin/objcopy +old_diversion /usr/bin/objdump +old_diversion /usr/bin/ranlib +old_diversion /usr/bin/readelf +old_diversion /usr/bin/size +old_diversion /usr/bin/strings +old_diversion /usr/bin/strip + +case "$ma" in i386-*) + if test -n "$context" && dpkg --compare-versions "$2" lt "2.27-8"; then + old_diversion /usr/bin/$ma-addr2line + old_diversion /usr/bin/$ma-ar + old_diversion /usr/bin/$ma-embedspu + old_diversion /usr/bin/$ma-gprof + old_diversion /usr/bin/$ma-nm + old_diversion /usr/bin/$ma-objcopy + old_diversion /usr/bin/$ma-objdump + old_diversion /usr/bin/$ma-ranlib + old_diversion /usr/bin/$ma-readelf + old_diversion /usr/bin/$ma-size + old_diversion /usr/bin/$ma-strings + old_diversion /usr/bin/$ma-strip + fi +esac diff --git a/binutils-multiarch.postrm.in b/binutils-multiarch.postrm.in new file mode 100644 index 000000000..7b9438597 --- /dev/null +++ b/binutils-multiarch.postrm.in @@ -0,0 +1,47 @@ +#! /bin/sh +set -e +this_ver=@DEB_VER@; # this version +ma=@DEB_MULTIARCH@ +triplet=@DEB_TRIPLET@ +# action: upgrade, abort-upgrade, remove, abort-install, disappear, +# purge, or failed-upgrade. +context=$1 +if + test "$context" = failed-upgrade && + dpkg --compare-versions "$this_ver" lt "$2" +then + # postrm of the future failed. + # Who knows what it was supposed to do? Abort. + exit 1 +fi +new_ver=; # version replacing this one, if any. +case "$context" in +failed-upgrade) + new_ver=$this_ver ;; +abort-install|disappear) + new_ver= ;; +*) + new_ver=$2 ;; +esac + +diversion() { + local added_ver divertto file + added_ver=$1 + file=$2 + divertto=${3-$file.single} + + if + test "$context" != purge && + dpkg --compare-versions "$new_ver" lt "$added_ver" + then + dpkg-divert --package binutils-multiarch \ + --remove --rename --divert "$divertto" "$file" + fi +} + + +for prog in nm objdump objcopy strings strip size \ + ar ranlib addr2line gprof readelf +do + diversion 2.27-8 "/usr/bin/$triplet-$prog" +done diff --git a/binutils-multiarch.preinst.in b/binutils-multiarch.preinst.in new file mode 100644 index 000000000..385f62568 --- /dev/null +++ b/binutils-multiarch.preinst.in @@ -0,0 +1,29 @@ +#! /bin/sh +set -e +new_ver=@DEB_VER@; # this version +ma=@DEB_MULTIARCH@ +triplet=@DEB_TRIPLET@ +context=$1; # why to install (install, upgrade, or abort-upgrade) +old_ver=$2; # version being replaced, if any + +diversion() { + local added_ver divertto file + added_ver=$1 + file=$2 + divertto=${3-$file.single} + + if + test "$context" = install || + dpkg --compare-versions "$old_ver" lt "$added_ver" || + dpkg --compare-versions "$new_ver" le "$old_ver" + then + dpkg-divert --package binutils-multiarch \ + --add --rename --divert "$divertto" "$file" + fi +} + +for prog in nm objdump objcopy strings strip size \ + ar ranlib addr2line gprof readelf +do + diversion 2.27-8 "/usr/bin/$triplet-$prog" +done diff --git a/binutils-multiarch.prerm.in b/binutils-multiarch.prerm.in new file mode 100644 index 000000000..45e273b4a --- /dev/null +++ b/binutils-multiarch.prerm.in @@ -0,0 +1,98 @@ +#! /bin/sh +# Remove obsolete diversions. +# +# They are already removed in postinst, but if configuration fails, +# they will still be around. Removing the package without +# configuring would then allow the diversions to leak. +# +# So we catch them here. This cannot wait for postrm because that +# would break error recovery during upgrades: after the old, working +# version re-adds the diversion in preinst, the diversion would be removed +# again in postrm. More generally, removing a diversion requires +# a guarantee that the conflicting file is not present any more, +# and we cannot guarantee that if some other version of +# binutils-multiarch is installed. +set -e +this_ver=@DEB_VER@; # this version +ma=@DEB_MULTIARCH@ +triplet=@DEB_TRIPLET@ +context=$1; # action: upgrade, remove, deconfigure, or failed-upgrade. +if + test "$context" = failed-upgrade && + dpkg --compare-versions "$this_ver" lt "$2" +then + # prerm of the future failed. + # Who knows what it was supposed to do? Abort. + exit 1 +fi + +old_diversion() { + local divertto file + file=$1 + divertto=${2-$file.single} + if + dpkg-divert --package binutils-multiarch --list | + grep -q -F "$divertto" + then + dpkg-divert --package binutils-multiarch \ + --remove --rename \ + --divert "$divertto" "$file" + fi +} + +# remove obsolete diversions +old_diversion /usr/bin/ld.bfd +old_diversion /usr/bin/c++filt +old_diversion /usr/lib/libbfd.a /usr/lib/libbfd-single.a +old_diversion /usr/lib/libopcodes.a /usr/lib/libopcodes-single.a +old_diversion /usr/bin/ld +old_diversion /usr/bin/elfedit +for f in elf32_sparc elf32ppc elf64alpha elf_i386 m68kelf \ + alpha i386linux m68klinux sparclinux sun4 +do + for ext in x xbn xn xr xs xu + do + old_diversion /usr/lib/ldscripts/$f.$ext + done +done +old_diversion /usr/lib/libbfd-2.9.1.0.15.so.0.0.0 \ + /usr/lib/libbfd-single-2.9.1.0.15.so.0.0.0 +old_diversion /usr/lib/libopcodes-2.9.1.0.15.so.0.0.0 \ + /usr/lib/libopcodes-single-2.9.1.0.15.so.0.0.0 +old_diversion /usr/lib/libbfd.la /usr/lib/libbfd-single.la +old_diversion /usr/lib/libopcodes.la /usr/lib/libopcodes-single.la +old_diversion /usr/include/bfd.h /usr/include/bfd.single.h +old_diversion /usr/lib/ldscripts + +rm -f /usr/lib/libbfd-*-multiarch.so.0 +rm -f /usr/lib/libopcodes-*-multiarch.so.0 + +old_diversion /usr/bin/addr2line +old_diversion /usr/bin/ar +old_diversion /usr/bin/embedspu +old_diversion /usr/bin/gprof +old_diversion /usr/bin/nm +old_diversion /usr/bin/objcopy +old_diversion /usr/bin/objdump +old_diversion /usr/bin/ranlib +old_diversion /usr/bin/readelf +old_diversion /usr/bin/size +old_diversion /usr/bin/strings +old_diversion /usr/bin/strip + +case "$ma" in i386-*) + if test -n "$context" && dpkg --compare-versions "$2" lt "2.27-8"; then + old_diversion /usr/bin/$ma-addr2line + old_diversion /usr/bin/$ma-ar + old_diversion /usr/bin/$ma-embedspu + old_diversion /usr/bin/$ma-gprof + old_diversion /usr/bin/$ma-nm + old_diversion /usr/bin/$ma-objcopy + old_diversion /usr/bin/$ma-objdump + old_diversion /usr/bin/$ma-ranlib + old_diversion /usr/bin/$ma-readelf + old_diversion /usr/bin/$ma-size + old_diversion /usr/bin/$ma-strings + old_diversion /usr/bin/$ma-strip + fi +esac diff --git a/binutils-multiarch.shlibs.in b/binutils-multiarch.shlibs.in new file mode 100644 index 000000000..a5bdd99b5 --- /dev/null +++ b/binutils-multiarch.shlibs.in @@ -0,0 +1,2 @@ +libbfd @VER@-multiarch@DATE_EXT@ binutils-multiarch (>= @DEB_UVER@), binutils-multiarch (<< @DEB_NVER@) +libopcodes @VER@-multiarch@DATE_EXT@ binutils-multiarch (>= @DEB_UVER@), binutils-multiarch (<< @DEB_NVER@) diff --git a/binutils-triplet.overrides b/binutils-triplet.overrides new file mode 100644 index 000000000..9fba6aa37 --- /dev/null +++ b/binutils-triplet.overrides @@ -0,0 +1,4 @@ +# empty + +# silence lintian stupidity +@PKG@ binary: spelling-error-in-binary usr/bin/as mmnemonic mnemonic diff --git a/binutils.overrides b/binutils.overrides new file mode 100644 index 000000000..38c836419 --- /dev/null +++ b/binutils.overrides @@ -0,0 +1,6 @@ +# manpages are in binutils-common +binutils binary: binary-without-manpage usr/bin/ld.bfd +binutils binary: binary-without-manpage usr/bin/ld.gold + +# silence lintian stupidity +binutils binary: spelling-error-in-binary usr/bin/as mmnemonic mnemonic diff --git a/binutils.presubj b/binutils.presubj new file mode 100644 index 000000000..430e6e44c --- /dev/null +++ b/binutils.presubj @@ -0,0 +1,25 @@ +When reporting binutils errors, please provide the actual input files +and options given to the tool (gas, objcopy, ld, etc.) at run time. +This can mean the difference between a pleasant debugging experience +and a heisenbug that becomes unreproducible when gcc's code generation +changes. + +For example, to create a testcase for an "ld" problem, first find the +"gcc" command line that triggers the error: + + $ make + ... output ending in an error ... + $ make V=1 VERBOSE=1 2>&1 | head -1 + +Add "-v" after gcc and run it again. One of the early output lines +will be an invocation of collect2. Replace collect2 with "ld" and +it should reproduce the same error. If you collect all the objects +(including system libraries) mentioned on the "ld" command line in a +tarball and send it along with the ld command line then that is a +testcase. + +A possible step after that is to try omitting some objects from the +ld command line and see if it still triggers the same error, but +that's just icing on the cake. + +Happy debugging! diff --git a/binutils.triggers b/binutils.triggers new file mode 100644 index 000000000..dd8660367 --- /dev/null +++ b/binutils.triggers @@ -0,0 +1 @@ +activate-noawait ldconfig diff --git a/changelog b/changelog new file mode 100644 index 000000000..b1ad3638d --- /dev/null +++ b/changelog @@ -0,0 +1,5491 @@ +binutils (2.31.1-8) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20181121). + - Fix PR gas/23854 (x86): Disable GOT relaxation with data prefix. + - Fix PR ld/23818, when assigning symbol version, hide debug symbols defined + in discarded sections from IR objects so that they can be removed later. + - ARC updates. + - ARM: Skip new binary decode tests on pe targets. + - ARM: Fix disassembler crashing on -b binary when thumb file and thumb not + forced. + + -- Matthias Klose Fri, 23 Nov 2018 09:02:12 +0100 + +binutils (2.31.1-7) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20181018). + - AArch64: Fix error checking for SIMD udot (by element). + - x86: Add Intel ENCLV to assembler and disassembler. + + -- Matthias Klose Thu, 18 Oct 2018 08:54:07 +0200 + +binutils (2.31.1-6) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20180919). + - PR ld/23499: elf: Check for corrupt symbol version info. + - Fix Aarch64 bug in warning filtering. + - Improve the code in the assembler to detect and reject a duplicate + input and output file. + * Don't reset CROSS_ARCHS when building in an autopkg tests (as done by + the cross-toolchain-base build test). + + -- Matthias Klose Wed, 19 Sep 2018 13:48:13 +0200 + +binutils (2.31.1-5) unstable; urgency=medium + + * Fix the "build" autopkg test, depending on fakeroot and allowing output + on stderr. + + -- Matthias Klose Fri, 31 Aug 2018 11:56:41 +0200 + +binutils (2.31.1-4) unstable; urgency=medium + + * Rewrite. the "build" autopkg tests not to use the "build-needed" + restriction until #906125 is fixed. Closes: #884117. + * Build armel and armhf cross binutils on ppc64el. + + -- Matthias Klose Tue, 14 Aug 2018 20:43:44 +0200 + +binutils (2.31.1-3) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20180814). + - Fix PR ld/23428, properly add X86_ISA_1_NEEDED property. + - Fix PR ld/23486, properly merge GNU_PROPERTY_X86_ISA_1_USED. + - x32: Align the .note.gnu.property section to 4 bytes. + - PowerPC64 __tls_get_addr_opt stub .eh_frame fix. + - PowerPC64: __tls_get_addr_opt stubs and tocsave optimization. + - PR gas/23465, x86: don't mistakenly scale non-8-bit displacements. + - PR gold/23455, add --warn-drop-version option; by default, do not warn + when discarding version info. + - hppa: Fix unwind offset for call_info->start_symbol. + * Build arm64 cross binutils on ppc64el. + + -- Matthias Klose Tue, 14 Aug 2018 07:33:39 +0200 + +binutils (2.31.1-2) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20180726). + - S/390: Set the htm flag on PPA. + - x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed. + - x86: Split vcvtps2{,u}qq and vcvttps2{,u}qq. + + -- Matthias Klose Thu, 26 Jul 2018 12:23:07 +0200 + +binutils (2.31.1-1) unstable; urgency=medium + + * Binutils 2.31.1 release. + * Remove the riscv64 build hack. Closes: #903857. + + -- Matthias Klose Wed, 18 Jul 2018 11:58:00 +0200 + +binutils (2.31-1) unstable; urgency=medium + + * Binutils 2.31 release. + + -- Matthias Klose Mon, 16 Jul 2018 11:40:18 +0200 + +binutils (2.30.90.20180710-1) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20180710). + - Fix PR ld/23388, configuration with --enable-separate-code on i386. + Closes: #903376. + - Fix PR ld/23372, Remove x86 ISA properties with empty bits. + - Fix PR binutils/23369, read/write flag for these registers on AArch64. + - Fix PR binutils/23242, SBO bit in disassembly mask for ldrah on AArch64. + - [GOLD] PowerPC .gnu.attributes support. + - CVE-2018-8945: PR binutils/22809, objdump segfault. + + -- Matthias Klose Tue, 10 Jul 2018 11:44:16 +0200 + +binutils (2.30.90.20180705-1) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20180705). + - Install the diagnostics.h header. Closes: #902765, #902823. + + -- Matthias Klose Thu, 05 Jul 2018 17:55:14 +0200 + +binutils (2.30.90.20180627-1) unstable; urgency=medium + + * Snapshot, taken from the 2.31 branch (20180627). + - CVE-2018-10372: PR binutils/23064, Fix illegal memory access when parsing + corrupt DWARF information. + - CVE-2018-10373: PR binutils/23065, nm segfault. + - CVE-2018-10534: PR binutils/23110, objcopy segfault. + - CVE-2018-10535: PR binutils/23113, objcopy segfault. + + -- Matthias Klose Wed, 27 Jun 2018 21:55:43 +0200 + +binutils (2.30.52.20180613-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20180613). + + -- Matthias Klose Wed, 13 Jun 2018 14:20:30 +0200 + +binutils (2.30.51.20180512-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20180512). + + -- Matthias Klose Sat, 12 May 2018 11:45:10 -0400 + +binutils (2.30-22) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180622. + - x86 gas: Replace CET bit with IBT and SHSTK bits. + + -- Matthias Klose Fri, 22 Jun 2018 08:11:21 +0200 + +binutils (2.30-21) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180529. + - x86-64: Add TLSDESC fields to elf_x86_lazy_plt_layout. + - PR binutils/23199, mark section in a section group with SHF_GROUP. + - PR ld/23194, x86: Don't set eh->local_ref to 1 for versioned symbol. + - PR ld/23189, x86: Don't set eh->local_ref to 1 for linker defined symbols. + - PR binutils/23199, Invalid SHT_GROUP entry leads to group confusion. + * Fix PR gprof/23056, memory corruption in gprof. LP: #1763098. + * Fix PR binutils/23054, memory corruption in as. LP: #1763096. + * Fix PR ld/23055, memory corruption in ld. LP: #1763094. + + -- Matthias Klose Tue, 29 May 2018 15:46:35 +0200 + +binutils (2.30-20) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180516. + - Fix PR binutils/23109, disassembly mask for vector sdot on AArch64. + - Fix uninitialised memory acccess in COFF bfd backend. + - Update Portuguese translations. + + -- Matthias Klose Wed, 16 May 2018 10:21:19 -0400 + +binutils (2.30-19) unstable; urgency=medium + + * Build-depend on procps. + + -- Matthias Klose Thu, 03 May 2018 07:44:55 +0200 + +binutils (2.30-17) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180502. + - Fix PR ld/23123, PR ld/22374, PowerPC32 ifunc regression. + - AArch64: Fix the mask for the sqrdml(a|s)h instructions. + * Fix unintialized memory in aarch64 opcodes, taken from the trunk. + + -- Matthias Klose Wed, 02 May 2018 14:11:28 +0200 + +binutils (2.30-16) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180425. + - Fix PR ld 22782, x86: Remove the unused _GLOBAL_OFFSET_TABLE_. + - Update spanish and russian translations. + * Add amd64, i386, x32 and riscv64 cross compilers as build (test) + dependencies. + + -- Matthias Klose Wed, 25 Apr 2018 06:53:58 +0200 + +binutils (2.30-15) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180408. + * Only build the basic package when running the autopkg tests. + Closes: #884117. + + -- Matthias Klose Sun, 08 Apr 2018 22:55:34 +0200 + +binutils (2.30-14) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180405. + - Fix PR binutils/23025, Clear vex instead of vex.evex (x86). + * Fix PR gold/22770, MIPS: Fix GOT page counter in multi-got links, + taken from the trunk. Closes: #886222. + * Fix PR ld/23030 (stop the IA64 linker from removing unwind tables + when garbage collecting), taken from the trunk. Closes: #894915, #894719. + * More work arounds to build natively on riscv64. + + -- Matthias Klose Thu, 05 Apr 2018 19:13:24 +0200 + +binutils (2.30-13) unstable; urgency=medium + + * Build cross binutils for i386 and x32 on arm64 and ppc64el. + + -- Matthias Klose Wed, 04 Apr 2018 10:32:15 +0200 + +binutils (2.30-11) unstable; urgency=medium + + * Filter out the host architecture when passed as a cross architecture. + + -- Matthias Klose Sun, 01 Apr 2018 17:01:49 +0200 + +binutils (2.30-10) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180330. + - Fix PR 22773, ARM assembler's parsing of an illegal ORR instruction. + - Fix PR gold/22868, PR ld/22972 on SPARC, . + - PR ld/23000, x86-64: Add ENDBR64 to the TLSDESC PLT entry. + + -- Matthias Klose Fri, 30 Mar 2018 18:55:59 +0800 + +binutils (2.30-9) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180325. + - Fix PowerPC64 out-of-line save/restore functions. + - Remove unnecessary power9 group terminating nop. + - Set non_ir_ref_dynamic if a symbol is made dynamic. + - Fix PR ld/22836, "-r -s" doesn't work with -g3 using GCC 7. + * Fix amd64, i386 and x32 cross builds. + + -- Matthias Klose Sun, 25 Mar 2018 14:53:41 +0800 + +binutils (2.30-8) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180318. + - [ARM] Fix bxns mask. + - Extend the fix for PR ld/20882. + * Fix PowerPC64 out-of-line save/restore functions. Closes: #886264. + * Revert the 2.30-7 change. + + -- Matthias Klose Sun, 18 Mar 2018 12:51:40 +0800 + +binutils (2.30-7) unstable; urgency=medium + + * Upload without build dependencies on the cross compilers and don't run + the testsuite for this upload. + + -- Matthias Klose Thu, 08 Mar 2018 12:04:10 +0700 + +binutils (2.30-6) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180308. + - Fix PR ld/15904, linker error with --no-keep-memory. + - Enable link time garbage collection for the IA64 target. Closes: #890909. + - Fix PR gas/22014, memory corruption in MIPS assembler. + - Fix PR ld/22758, a bug that would place executable and non-executables + pages in the same segment. + - Fix PR ld/22832 on SPARC. + - Fix AArch32 build attributes for Armv8.4-A. + - Update translations. + * CVE-2018-7208: Fix PR binutils/22741, taken from the trunk. + * CVE-2018-7568: Fix PR binutils/22894, taken from the trunk. + * CVE-2018-7569: Fix PR binutils/22895, taken from the trunk. + * CVE-2018-7642: Fix PR binutils/22887, taken from the trunk. + * CVE-2018-7643: Fix PR binutils/22905, taken from the trunk. + * CVE-2018-7570: PR binutils/22881 needs a proper backport. + * Update package descriptions for binutils-. Closes: #891377. + * Build binutils-for-host for TARGET (Helmut Grohne). Closes: #891863. + + -- Matthias Klose Thu, 08 Mar 2018 09:56:54 +0700 + +binutils (2.30-5) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180215. + - gas: xtensa: fix trampoline placement. + - Fix PR gas/22738 (.dc.a directive has wrong size on SPARC 64-bit). + - Fix GOT relocation overflow on SPARC. Closes: #890359. + * strings --include-all-whitespace doesn't take an argument. Closes: #887894. + + -- Matthias Klose Thu, 15 Feb 2018 08:20:04 +0700 + +binutils (2.30-4) unstable; urgency=high + + * Update, taken from the 2.30 branch 20180209. + - Fix PR binutils/22788 (CVE-2018-6872). + * binutils-multiarch: Add riscv64 support. + * Bump dpkg version to a version supporting riscv64. + + -- Matthias Klose Fri, 09 Feb 2018 19:24:28 +0100 + +binutils (2.30-3) unstable; urgency=high + + * Update, taken from the 2.30 branch 20180208. + - Remove speculation barrier support, remove --speculate-indirect-jumps + support (PPC). + - Fix PR ld/22764. + * CVE-2018-6323: Fix PR binutils/22746, taken from the trunk. + * CVE-2018-6543: Fix PR binutils/22769, taken from the trunk. + * CVE-2018-6759: Fix PR binutils/22794, taken from the trunk. + * Build riscv64 cross packages. This is using a hack, making binutils + not building natively on riscv64. At the mercy of a dpkg update + to handle riscv64 in stretch ... + + -- Matthias Klose Thu, 08 Feb 2018 10:22:10 +0100 + +binutils (2.30-2) unstable; urgency=medium + + * Update, taken from the 2.30 branch 20180205. + - Fix PR ld/22762. + - gold: Add support for DWARF-4 line number tables. + - Update Brazillian portuguese and Russian translations. + * Apply approved patch for PR ld/22764 (AArch64). LP: #1746765. + Closes: #888789. + * Fix PR binutils/22734, taken from the trunk. Closes: #887729. + + -- Matthias Klose Mon, 05 Feb 2018 16:22:40 +0100 + +binutils (2.30-1) unstable; urgency=medium + + * Binutils 2.30 release. + + -- Matthias Klose Mon, 29 Jan 2018 14:29:38 +0100 + +binutils (2.29.90.20180122-1) unstable; urgency=medium + + * Snapshot, taken from the binutils 2.30 branch (20180122). + * Security issues addressed in 2.30: CVE-2017-13716, CVE-2017-14930, + CVE-2017-14932, CVE-2017-14933, CVE-2017-14934, CVE-2017-14938, + CVE-2017-14939, CVE-2017-14940, CVE-2017-15020, CVE-2017-15021, + CVE-2017-15022, CVE-2017-15023, CVE-2017-15024, CVE-2017-15025, + CVE-2017-15225, CVE-2017-15938, CVE-2017-15996, CVE-2017-16826, + CVE-2017-16827, CVE-2017-16828, CVE-2017-16829, CVE-2017-16830, + CVE-2017-16831, CVE-2017-16832, CVE-2017-17080, CVE-2017-17121, + CVE-2017-17122, CVE-2017-17123, CVE-2017-17124, CVE-2017-17125, + CVE-2017-17126. + + -- Matthias Klose Tue, 23 Jan 2018 04:11:38 +0100 + +binutils (2.29.51.20180110-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20180110). + + -- Matthias Klose Wed, 10 Jan 2018 16:54:44 +0100 + +binutils (2.29.51.20171219-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20171219). + + -- Matthias Klose Tue, 19 Dec 2017 14:50:11 +0100 + +binutils (2.29.51.20171208-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20171208). + * binutils-source: Depend on python3 instead of python. + * Override m68k, powerpcspe and m68k buildd admins to run the testsuite. + * Build binutils-x86-64-linux-gnu on arm64 and ppc64el. See #883769. + * Revived from the tombs, build a binutils-ia64-linux-gnu package. + + -- Matthias Klose Fri, 08 Dec 2017 15:19:09 +0100 + +binutils (2.29.51.20171128-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20171128). + + -- Matthias Klose Tue, 28 Nov 2017 08:59:33 +0100 + +binutils (2.29.1-13) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20180105. + - Fix PR ld/22626, invalid dynindx used for dynamic relocs against + section symbols. + * Fix cross builds, use host tools (Helmut Grohne). Closes: #883865. + + -- Matthias Klose Fri, 05 Jan 2018 23:44:48 +0100 + +binutils (2.29.1-12) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171212. + - Fix PR binutils/21118, don't mask X_add_number containing + a register number. + * Revived from the tombs, build a binutils-ia64-linux-gnu package. + + -- Matthias Klose Wed, 13 Dec 2017 01:10:25 +0100 + +binutils (2.29.1-11) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171208. + - Fix PR gold/22309. + * Build binutils-x86-64-linux-gnu on arm64 and ppc64el. See #883769. + + -- Matthias Klose Fri, 08 Dec 2017 12:41:16 +0100 + +binutils (2.29.1-10) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171201. + - Fix PR gold/22233, segfault in relocate_erratum_stub on aarch64. + - Update local fix for PR gold/20765, internal error in fix_errata on + aarch64 (Peter Smith). LP: #1638902. + * binutils-source: Depend on python3 instead of python. + * Override m68k, powerpcspe and m68k buildd admins to run the testsuite. + + -- Matthias Klose Fri, 01 Dec 2017 02:34:24 +0100 + +binutils (2.29.1-9) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171128. + - Fix PR ld/22431, powerpc64 ld segfault when .plt discarded. + - Fix DWARF reader to use correct size for DW_FORM_ref_addr. + + -- Matthias Klose Tue, 28 Nov 2017 07:02:24 +0100 + +binutils (2.29.1-8) unstable; urgency=medium + + * Apply proposed patch for PR gold/22233. Closes: #876786. + + -- Matthias Klose Mon, 13 Nov 2017 15:45:39 +0100 + +binutils (2.29.1-7) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171107. + - Fix PR ld/22397, PR ld/22300, PR binutils/22348. + * Use dwz -m to compress the -dbg packages. + * Add a plethora of mips r6 packages ... Closes: #881060. + * Provide "long" description for -dbg packages. Closes: #880001. + + -- Matthias Klose Wed, 08 Nov 2017 12:17:38 +0100 + +binutils (2.29.1-6) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171022. + - [GOLD] Fix powerpc64 optimization of TOC accesses. + * Do the extra/optional dance ... + * Build debug packages. Closes: #863728. + * Fix stripping the binutils- packages. + + -- Matthias Klose Sun, 22 Oct 2017 22:41:34 +0200 + +binutils (2.29.1-5) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171017. + - Fix PR binutils/22245, undefined behavior in bfd_set_error. + - Correct ctor/dtor in init_array/fini_array error value. + * Stop installing i586 compat links for i386 builds. Closes: #877791. + * Build a binutils-i686-linux-gnu package on amd64 and x32 too. + + -- Matthias Klose Tue, 17 Oct 2017 11:29:33 +0200 + +binutils (2.29.1-4) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20171001. + - PR ld/22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY. + - PR ld/22199, x86-64: Don't pass output_bfd to info->callbacks->minfo. + - [GOLD] Set non-exec stack for ppc64. + * Move man/{go,}ld.1.gz to binutils-common (Helmut Grohne). Closes: #877266. + * Build-depend on target g++ compilers instead of target gcc compilers. + * Fail when string merge can't alloc memory, taken from the trunk. + Closes: #874674. + * Fix legacy cross builds. Closes: #876677. + + -- Matthias Klose Sun, 01 Oct 2017 20:16:22 +0200 + +binutils (2.29.1-3) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170923. + - gold: Add --no-relax option. + - readelf: Handle E_MIPS_MACH_5900. + - gold: PowerPC function address in non-PIC. + - Fix PR binutils/22163, PR binutils/22170. + * libbinutils: Fix generation of upper dependency for two-number versions. + * debian/rules. Remove the old cross build targets. + + -- Matthias Klose Sat, 23 Sep 2017 14:00:50 +0200 + +binutils (2.29.1-1) unstable; urgency=medium + + * binutils 2.29.1 release. + * Convert to package source format 3.0 (quilt). + + -- Matthias Klose Wed, 20 Sep 2017 10:11:56 +0200 + +binutils (2.29-13) unstable; urgency=medium + + * Build again all cross packages. + + -- Matthias Klose Tue, 19 Sep 2017 13:11:06 +0200 + +binutils (2.29-12) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170919. + - Fix PR ld/21441, PowerPC64 stubs don't match calculated size. + Closes: #876134. + - Fix PR ld/22048, Incorrect .eh_frame section in libc.so. + - Fix PR ld/22150, ld keeps a version reference for gc'd symbols. + Closes: #874585. LP: #1715641. + - Fix PR ld/22148, Integer overflow in elf64-x86-64.c. + - Fix PR ld/21924, Require GCC 5 or above for 3 x86 tests. + * Fix installation of test summaries. + * Compare test summaries for cross builds. + + -- Matthias Klose Tue, 19 Sep 2017 13:04:07 +0200 + +binutils (2.29-10) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170915. + - Fix PR binutils/22047 (CVE-2017-14129), PR binutils/22018. + * gold on 32bit archs: Release mapped files after each pass. + * Build-depend on cross compilers to run the tests for the binutils + cross packages. + * Install the ldscripts into /usr/lib//ldscripts and move + ldscripts into the binutils- packages. + * Install the unprefixed manual packages into binutils-common and + derive the timestamps from the debian/changelog entry. + * binutils-: Remove dependency on binutils. + + -- Matthias Klose Fri, 15 Sep 2017 11:55:58 +0200 + +binutils (2.29-9) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170906. + - Fix PR binutils/22032, PR binutils/21786 (CVE-2017-12451), + PR binutils/21787 (CVE-2017-12448), PR binutils/21813 (CVE-2017-12450, + CVE-2017-12452, CVE-2017-12453, CVE-2017-12454), PR ld/21824, + PR binutils/21916, PR ld/21441, PR ld/22067, PR ld/22064, PR ld/22061, + PR binutils/22059 (CVE-2017-14128), PR binutils/21933 (CVE-2017-12799), + PR binutils/22060, PR binutils/22058 (CVE-2017-14130), PR binutils/21995, + PR binutils/21861, PR binutils/21813 (CVE-2017-12456), PR binutils/21909, + PR binutils/21820, PR binutils/21990, PR binutils/21994, PR ld/21441, + PR ld/22064, PR ld/22061, PR lto/81968, PR lto/81968, PR lto/81925. + * Fix typo in control.in interpolation when TARGET is non-empty (Helmut + Grohne). Addresses: #873387. + + -- Matthias Klose Wed, 06 Sep 2017 08:14:12 +0200 + +binutils (2.29-8) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170830. + - Fix PR gold/21868. Closes: #830540, #869768. + - Fix address violation issues when parsing corrupt binaries. + - PR gold/21847: Provide symbol flag for PowerPC64 localentry:0 tracking. + + -- Matthias Klose Wed, 30 Aug 2017 08:03:09 +0200 + +binutils (2.29-7) unstable; urgency=high + + * Fix binutils dependency on binutils- on non amd64 architectures. + + -- Matthias Klose Wed, 23 Aug 2017 23:51:26 +0200 + +binutils (2.29-6) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170823. + - Fix PR ld/21988, PR ld/21964, PR ld/21910. + * readelf: Add patch to read Infinity notes. + * Reorganize packages to provide binutils-for-host/binutils-for-build + packages (Helmut Grohne). Closes: #842439. + - Break out a binutils-common package. + - Refactor code to build with DEB_BUILD_OPTIONS=nogold. + - Rename gold, ld.gold, ld.bfd to their triplet prefixed equivalents. + - Remove shlibs files for hppa64 and cross packages. + - Set NATIVE_ARCHS explicitly. + - Split out a libbinutils package and binutils- packages. + - Build binutils-for-host and binutils-for-build packages. + * Fix some issues in the above patches. + * Mark binutils-common and libbinutils as M-A: same. + * Remove obsolete Breaks/Conflicts/Replaces. + * Replace FIXME markers with TODO markers. Silly lintian ... + + -- Matthias Klose Wed, 23 Aug 2017 12:01:12 +0200 + +binutils (2.29-5) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170820. + - Fix PR binutils/21962, buffer overrun when parsing a corrupt tekhex + binary. + - Fix PR ld/18808: [AArch64] Skip IFUNC relocations in debug sections. + - Fix PR ld/18841: [AArch64] ifunc relocation ordering. + - [AArch64] Turn lr, fp, ip0 and ip1 into proper aliases. + - Fix PR ld/21923. + * Build gold on s390x. LP: #1709873. + + -- Matthias Klose Sun, 20 Aug 2017 19:00:03 +0200 + +binutils (2.29-4) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170804. + * Fix PR ld/21884, taken from the trunk. Do not choose a non-ELF format + input file to hold the linker created GOT sections. Closes: #870611. + + -- Matthias Klose Mon, 07 Aug 2017 08:46:12 -0400 + +binutils (2.29-3) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170802. + - S390 testsuite fixes. + * Fix PR ld/21884, taken from the trunk. Closes: #870343. + + -- Matthias Klose Wed, 02 Aug 2017 14:16:35 +0200 + +binutils (2.29-2) unstable; urgency=medium + + * Update, taken from the 2.29 branch 20170731. + - Fix PR 21847, PowerPC64 --plt-localentry issues. + - Fix PR gold/21857, PR ld/21849 (AVR). + * Remove Daniel as an uploader. Closes: #869305. + + -- Matthias Klose Mon, 31 Jul 2017 09:17:30 +0200 + +binutils (2.29-1) unstable; urgency=medium + + * binutils 2.29 release. + + -- Matthias Klose Tue, 25 Jul 2017 11:02:19 +0200 + +binutils (2.28.90.20170718-1) experimental; urgency=medium + + * Snapshot, taken from the 2.29 branch (20170718). + + -- Matthias Klose Tue, 18 Jul 2017 11:26:15 +0200 + +binutils (2.28.51.20170703-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20170703). + - Addresses CVE-2017-9040, CVE-2017-9042, CVE-2017-9043, CVE-2017-9044, + CVE-2017-9742, CVE-2017-9743, CVE-2017-9744, CVE-2017-9745, + CVE-2017-9746, CVE-2017-9747, CVE-2017-9748, CVE-2017-9749, + CVE-2017-9750, CVE-2017-9751, CVE-2017-9752, CVE-2017-9753, + CVE-2017-9754, CVE-2017-9755, CVE-2017-9756, CVE-2017-9954, + CVE-2017-9955. Closes: #863674. + + -- Matthias Klose Mon, 03 Jul 2017 16:08:53 +0200 + +binutils (2.28.51.20170627-1) experimental; urgency=high + + * Snapshot, taken from the trunk (20170627). + + -- Matthias Klose Tue, 27 Jun 2017 14:53:24 +0200 + +binutils (2.28.51.20170620-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20170620). + - Addresses issues CVE-2017-9040, CVE-2017-9042, CVE-2017-9043. + - ILP32 patches applied upstream. Closes: #861833. + - Fixes PR ld/21334 (MIPS), undefined hidden symbols causing assertion + failure. Closes: #858898. + * Configure with --enable-new-dtags. + * Don't revert the commit causing PR 21074. + + -- Matthias Klose Tue, 20 Jun 2017 15:32:31 +0200 + +binutils (2.28-6) unstable; urgency=medium + + * Update, taken from the 2.28 branch 20170615. + - Fix PR ld/19579 (AArch64), handling of relocations against common symbols. + Closes: #863152. + - Fix PR ld/21523 (ARM32). + - Fix PR ld/21529 (ARM32), internal error in linker. + - Fix PR ld/21404 (AVR). + - Fix PR binutils/21034. + - Fix PR gold/21503, gold not creating linker stub symbols on ppc64. + - Remove linker option: -z prefix-nop (x86). + * Fix several crashes. Addresses: #863674. + - PR binutils/21343, readelf crash. CVE-2017-9038. + - PR binutils/21345, readelf crash. CVE-2017-9039. + - PR binutils/21344, readelf crash. CVE-2017-9041. + + -- Matthias Klose Thu, 15 Jun 2017 17:46:47 +0200 + +binutils (2.28-5) unstable; urgency=medium + + * Update, taken from the 2.28 branch 20170510. + - RISC-V updates. + - Fix PR ld/21334 (MIPS). + - VxWorks fix. + - Fix PR ld/16044 (CRIS). + * Fix PR binutils/21412, global-buffer-overflow in objcopy. CVE-2017-8393. + * Fix PR binutils/21414, segfault in objcopy. CVE-2017-8394. + * Fix PR binutils/21431, objcopy segfault - null pointer dereferencing. + CVE-2017-8395. + * Fix PR binutils/21432, heap buffer overflow in objdump. CVE-2017-8396. + * Fix PR binutils/21434, heap buffer overflow in objdump. CVE-2017-8397. + * Fix PR binutils/21438, heap buffer overflow in printf_common. + CVE-2017-8398. + * Fix PR binutils/21440, prevent memory exhaustion from a corrupt PE binary + with an overlarge number of relocs. CVE-2017-8421. + * gold (SPARC): Fix assertion failure relaxing TLS for position-independent + executables. Closes: #862017. + + -- Matthias Klose Wed, 10 May 2017 12:12:53 +0200 + +binutils (2.28-4) unstable; urgency=medium + + * Update, taken from the 2.28 branch 20170418. + - Fix PR ld/21233: Avoid sweeping forced-undefined symbols in section GC. + - BFD fix. + - Fix PR ld/19579, PR ld/21306, link error with PIE on s390x. + * Fix PR binutils/21342, null pointer dereferences when using a link built + with clang. Closes: #859989. CVE-2017-7614. + + -- Matthias Klose Tue, 18 Apr 2017 08:08:02 +0630 + +binutils (2.28-3) unstable; urgency=medium + + * Update, taken from the 2.28 branch 20170405. + - RISC-V updates. + - Fix PR binutils/21303 (PPC), objdump doesn't show e200z4 insns. + - S/390: Remove vx2 facility flag. + - Update -maltivec and -mvsx options to only enable their oldest + instructions (PPC). + - Add support for the new 'lnia' extended mnemonic (PPC). + - Fix ld uninitialized read of script ASSERT data structure. + * Fix incorrect library search order on PowerPC, taken from the trunk. + * Fix PR ld/21233 (MIPS only), taken from the trunk. Closes: #857017. + * Fix a french translation. Closes: #859503. + * Fix PR binutils/21157, handling of corrupt STABS enum type strings. + Closes: #858324. CVE-2017-7210. + * Fix PR binutils/21137, readelf writing to illegal addresses. + Closes: #858264. CVE-2017-6965. + * Fix PR binutils/21156, illegal memory accesses in readelf. + Closes: #858256. CVE-2017-6969. + * Fix PR binutils/21139, read-after-free error in readelf. + Closes: #858263. CVE-2017-6966. + * Fix PR binutils/21135, invalid read of section contents. + Closes: #858323. CVE-2017-7209. + * Fix PR demangler/70909, libiberty Demangler segfaults. CVE-2016-4491. + + -- Matthias Klose Wed, 05 Apr 2017 17:48:03 +0200 + +binutils (2.28-2) unstable; urgency=medium + + * Update, taken from the 2.28 branch 20170307. + - Fix PR ld/20519, PR binutils/21224, PR binutils/21124 (all PPC). + + -- Matthias Klose Tue, 07 Mar 2017 11:09:19 +0100 + +binutils (2.28-1) unstable; urgency=medium + + * binutils 2.28 release. + - S/390: Add support for new cpu architecture - arch12. + - S/390: Issue error for overflowing relocs. + - Fix PR gas/20744 (PPC32): Correct VLE 16D and SDAREL relocations. + - Fix PowerPC ld segfault on script discarding dynamic sections. + - Sync libiberty sources with GCC mainline. Fixes PR PR c++/70182, + PR c++/77489, PR c++/78761. + - Nios2 dynobj handling fixes. + - Don't make dynamic .data.rel.ro SEC_READONLY. + - PowerPC addpcis fix. + - RISC-V updates. + - [AArch64] Additional SVE instructions, add a "compnum" feature, + add SVE system registers, fix +sve documentation, add separate + feature flag for weaker release consistent load insns. + * Don't install windows related man pages in cross packages. Closes: #855630. + * Fix ld.1 symlink for targets without gold. + + -- Matthias Klose Thu, 02 Mar 2017 14:39:24 +0100 + +binutils (2.27.90.20170221-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix Alpha executables segfaulting when linked with -z,now. + * Don't install windows related man pages in cross packages. Closes: #855630. + * Don't install the embedspu binary for powerpcspe. Closes: #850691. + + -- Matthias Klose Tue, 21 Feb 2017 13:06:04 +0100 + +binutils (2.27.90.20170218-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix PR ld/21000, PR ld/21132 (closes: #855095). + - Fix powerpc testsuite source errors. + - Fix PR ld/21168, i386: Allow "lea foo@GOT, %reg" in PIC + - opcodes: Fix use after free in cgen instruction lookup. + - MIPS/BFD: Respect the ELF gABI dynamic symbol table sort requirement. + - MIPS/BFD: Use `bfd_size_type' for dynamic symbol table indices. + - MIPS/BFD: Streamline hash table references in `mips_elf_sort_hash_table'. + - MIPS/BFD: Fix assertion in `mips_elf_sort_hash_table'. + - POWER9: Add scv/rfscv instruction support. + - RiscV updates. + + -- Matthias Klose Sat, 18 Feb 2017 05:37:06 +0100 + +binutils (2.27.90.20170205-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - MIPS/LD/testsuite: Correct relocation addends in VxWorks tests. + - MIPS/LD/testsuite: Fix a `tls-multi-got-1-1.s' build failure. + - MIPS: Add options to control branch ISA checks. + - MIPS/GAS/testsuite: Convert branch local list tests to dump tests. + - Fix PR ld/20995 for cris-linux. + - gold: Fix PPC64 TOC indirect to TOC relative segfault. + - Fix PR ld/21000, support -z relro on hppa. Other hppa updates. + - PR binutils/19935: Fix fallout from now-default initfini-array. + + -- Matthias Klose Sun, 05 Feb 2017 21:05:07 +0100 + +binutils (2.27.90.20170124-2) unstable; urgency=medium + + * Revert the commit causing PR 21074. Works around #852035. + + -- Matthias Klose Thu, 26 Jan 2017 18:09:09 +0100 + +binutils (2.27.90.20170124-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix PR gold/21054 (closes: #851736). + + -- Matthias Klose Tue, 24 Jan 2017 15:24:49 +0100 + +binutils (2.27.90.20170118-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix PR binutils/21059, PR gas/20992, PR gas/20649, + PR binutils/20828 (closes: #844227). + + -- Matthias Klose Wed, 18 Jan 2017 20:05:43 +0100 + +binutils (2.27.90.20170114-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix PR ld/21038, PR ld/20830, PR gold/21040. + * Apply proposed patch for PR binutils/20828 (mips). Addresses: #844227. + + -- Matthias Klose Sat, 14 Jan 2017 11:43:57 +0100 + +binutils (2.27.90.20170113-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix PR binutils/20876 (closes: #838875), PR gold/21040, + PR gold/21039. + + -- Matthias Klose Fri, 13 Jan 2017 13:31:53 +0100 + +binutils (2.27.90.20170109-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix PR ld/20989. + + -- Matthias Klose Mon, 09 Jan 2017 11:03:34 +0100 + +binutils (2.27.90.20161231-1) unstable; urgency=medium + + * New upstream snapshot, taken from the binutils 2.28 branch. + - Fix PR ld/20995, PR binutils/20464, PR binutils/14625, PR gas/10946, + PR gold/20996, PR gold/17643. + + -- Matthias Klose Sat, 31 Dec 2016 02:10:21 +0100 + +binutils (2.27.51.20161220-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - Fix PR ld/20968 (closes: #848731), PR ld/20908, PR gold/20949, + PR gold/14676, PR gold/20983, PR gold/20976, PR gold/20749, + PR gold/20522, PR gold/14676, PR gold/16711, PR gold/20717, PR c++/78252. + + -- Matthias Klose Tue, 20 Dec 2016 09:11:49 +0100 + +binutils (2.27.51.20161212-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - Implements --push-state/--pop-state for gold. + - Fix PR ld/20908, PR ld/20909, PR gas/20898, PR gas/20897, PR gold/20717, + PR gold/20834, PR gold/18989, PR ld/20910, PR ld/20911, PR ld/20912, + PR ld/20932, PR binutils/20931, PR binutils/20929, PR binutils/20905, + PR binutils/20907, PR binutils/20921, PR binutils/20922, PR ld/20925, + PR ld/20924, PR binutils/20930, PR ld/20923, PR gas/20901, PR gas/20896, + PR gas/20902, PR gas/20904, PR gold/20717, PR gold/16711, PR gold/20878, + PR ld/20906. + + -- Matthias Klose Mon, 12 Dec 2016 13:49:47 +0100 + +binutils (2.27.51.20161201-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - Update PR ld/20815 (closes: #845690). + - Fix PR ld/20868 (AArch64), PR ld/16720 (mips), PR binutils/20891, + PR binutils/20892, PR ld/20886 (PPC64), PR gas/20895, PR binutils/20637, + PR binutils/20893. + + -- Matthias Klose Thu, 01 Dec 2016 15:55:10 +0100 + +binutils (2.27.51.20161127-1) unstable; urgency=high + + * New upstream snapshot, taken from the trunk. + - Fix PR target/20737 (ARM32), PR ld/20858. + * Revert the fix for PR ld/20815. Addresses: #845690. + + -- Matthias Klose Sun, 27 Nov 2016 21:00:36 +0100 + +binutils (2.27.51.20161124-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - Fix PR ld/20815, PR gas/20744, PR gas/20827, PR gold/20346, + PR gold/20693. + * Fix PR ld/20858, error handling $ORIGIN variable. + Closes: #845171, #844847. + + -- Matthias Klose Thu, 24 Nov 2016 03:34:06 +0100 + +binutils (2.27.51.20161118-2) unstable; urgency=medium + + * Revert problematic sparc64 GOT patch (closes: #844782). + + -- Matthias Klose Sat, 19 Nov 2016 13:40:17 +0100 + +binutils (2.27.51.20161118-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - SPARC updates, ARMv8.3 updates. + - Fix PR ld/20675. + * Fix typo in debian changelog. Closes: #843710. + + -- Matthias Klose Fri, 18 Nov 2016 14:11:45 +0100 + +binutils (2.27.51.20161116-2) unstable; urgency=medium + + * Stop building the mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el + variants; can't continue with this work, because package uploads with + these architectures are still rejected. + * Add homepage attribute to the control file: Closes: #841432. + * ld: enable new dtags by default for linux/gnu targets. Closes: #835859. + * Fix PR ld/20827, using proposed patch. Closes: #844378. + + -- Matthias Klose Thu, 17 Nov 2016 11:56:55 +0100 + +binutils (2.27.51.20161116-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - Fix PR ld/20789 (AVR), PR ld/20800 (x86), PR target/20737 (AArch64), + PR binutils/20801, PR binutils/20814, PR binutils/20751, + PR binutils/20794, PR gas/20803 (SPARC), PR gas/20732, + PR binutils/20799 (x86), PR binutils/20754 (x86), PR binutils/20701 (x86), + + -- Matthias Klose Wed, 16 Nov 2016 11:50:32 +0100 + +binutils (2.27.51.20161108-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - Fix PR ld/20535 and PR ld/20784. + + -- Matthias Klose Tue, 08 Nov 2016 12:14:20 +0100 + +binutils (2.27.51.20161105-2) unstable; urgency=medium + + * Revert fix for PR ld/20535, causing PR ld/20784. Closes: #843339. + + -- Matthias Klose Sun, 06 Nov 2016 17:36:45 +0100 + +binutils (2.27.51.20161105-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Disable the work around for the build failure on mips* targets. + + -- Matthias Klose Sat, 05 Nov 2016 13:12:01 +0100 + +binutils (2.27.51.20161102-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + Security issues fixed: CVE-2016-6131, CVE-2016-4493, CVE-2016-4492, + CVE-2016-4490, CVE-2016-4489, CVE-2016-4488, CVE-2016-4487, CVE-2016-2226. + + -- Matthias Klose Wed, 02 Nov 2016 20:38:57 +0100 + +binutils (2.27.51.20161027-2) experimental; urgency=medium + + * Work around build failure on mips* targets. + + -- Matthias Klose Sun, 30 Oct 2016 19:35:41 +0200 + +binutils (2.27.51.20161027-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + + -- Matthias Klose Thu, 27 Oct 2016 16:57:21 +0200 + +binutils (2.27-9) unstable; urgency=medium + + * Update, taken from the 2.27 branch 20161014. + - Fix PR ld/20608, PR ld/20545, PR gold/20238. + * Fix cross build for non-standard cross archs (Helmut Grohne). + Closes: #839956. + * Fix ld segfault on ARM32, taken from the trunk. Closes: #840374. + * Fix PR ld/20648, taken from the trunk. Closes: #835544. + * Fix PR ld/20649, using proposed patch. Closes: #834147. + + -- Matthias Klose Mon, 17 Oct 2016 13:12:51 +0200 + +binutils (2.27-8) unstable; urgency=medium + + * Fix diversion updates for 32bit x86 targets. + * Update Break for hardening-wrapper. + + -- Matthias Klose Wed, 31 Aug 2016 10:11:22 +0200 + +binutils (2.27-7) unstable; urgency=medium + + * Update, taken from the 2.27 branch 20160830. + - Fix PR ld/20531. + * Fix diversion updates. Closes: #834836. + + -- Matthias Klose Tue, 30 Aug 2016 16:24:37 +0200 + +binutils (2.27-6) unstable; urgency=high + + * Update, taken from the 2.27 branch 20160819. + - Fix PR ld/20472. + * binutils-multiarch: Divert the triplet-prefixed names. Closes: #834253. + + -- Matthias Klose Fri, 19 Aug 2016 07:02:50 +0200 + +binutils (2.27-5) unstable; urgency=high + + * Update, taken from the 2.27 branch 20160812. + * Fix unexecutable MIPS binaries with -Wl,-z,noexecstack (Aurelian Jarno). + Closes: #834096. + + -- Matthias Klose Fri, 12 Aug 2016 09:27:17 +0200 + +binutils (2.27-4) unstable; urgency=medium + + * Fix gold on mipsr6 targets (Aurelian Jarno). + + -- Matthias Klose Tue, 09 Aug 2016 21:58:13 +0200 + +binutils (2.27-3) unstable; urgency=medium + + * Backport patches to fix gold on sparc64 (James Clarke). Closes: #833688. + * Fix gold on mips64 targets (Aurelian Jarno). Closes: #833654. + + -- Matthias Klose Tue, 09 Aug 2016 12:15:51 +0200 + +binutils (2.27-2) unstable; urgency=medium + + * Disable gold for all mips cross targets too. + + -- Matthias Klose Sun, 07 Aug 2016 16:30:20 +0200 + +binutils (2.27-1) unstable; urgency=medium + + * binutils 2.27 release. + * Update, taken from the 2.27 branch 20160807. + * Re-enable gold on sparc and sparc64. Closes: #818934. + * Disable SH64 support for the multilib build. + * Disable gold on all mips targets, currently fails to link. + + -- Matthias Klose Sun, 07 Aug 2016 13:38:27 +0200 + +binutils (2.26.1-1) unstable; urgency=medium + + * binutils 2.26.1 release. + + -- Matthias Klose Thu, 30 Jun 2016 10:37:37 +0200 + +binutils (2.26-12) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160624. + - Fix PR ld/20254 (AVR), PR ld/20221 (AVR), PR ld/20244 (x86). + - Support for three more new POWER9 instructions. + * Cherry pick backports for AArch64 vulcan support (Dann Frazier). + LP: #1594452. + + -- Matthias Klose Fri, 24 Jun 2016 10:42:57 +0200 + +binutils (2.26-11) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160610. + - Fix PR ld/20159, reverting the change for PR ld/16467. LP: #1588123. + * Use ldconfig triggers instead of calling ldconfig directly. + + -- Matthias Klose Fri, 10 Jun 2016 18:37:39 +0200 + +binutils (2.26-10) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160601. + - Fix PR ld/20117, PR ld/20030, PR ld/20093. + - Support for a few more new POWER9 instructions. + * Build for N32 and MIPS r6 (YunQiang Su). Closes: #807377. + * Mark cross binutils as M-A: foreign (Helmut Grohne). Closes: #824424. + * More reproducible build fixes (Chris Lamb). Closes: #824413. + * Fix PR ld/19886, --as-needed regression, taken from the trunk. + + -- Matthias Klose Wed, 01 Jun 2016 21:31:32 +0200 + +binutils (2.26-9) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160512. + - Fix PR ld/19878, PR ld/19827, PR gas/19909, PR ld/20006, PR gold/19047, + PR gas/20047, PR 20060. + + -- Matthias Klose Thu, 12 May 2016 16:59:29 +0200 + +binutils (2.26-8) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160321. + - Fix PR ld/19827. + + -- Matthias Klose Mon, 21 Mar 2016 15:38:30 +0100 + +binutils (2.26-7) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160316. + - Fix PR ld/19623. Closes: #817891, PR ld/19539, PR binutils/19523. + * Fix cross-building from any-i386 (Samuel Thibault). Closes: #816128. + + -- Matthias Klose Wed, 16 Mar 2016 10:21:59 +0100 + +binutils (2.26-6) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160310. + - Fix PR ld/19579, PR ld/19752, PR ld/19739. + - Fix PR binutils/19775. Closes: #813006. + + -- Matthias Klose Thu, 10 Mar 2016 13:08:38 +0100 + +binutils (2.26-5) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160213. + - Fix PR ld/19698, PR ld/19553, ppc64 and AArch64 fixes. + + -- Matthias Klose Fri, 26 Feb 2016 17:07:29 +0100 + +binutils (2.26-4) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160213. + - Fix PR ld/19615, PR ld/19601 (closes: #812858), PR gas/19520. + * Fix stripping packages for cross builds. Closes: #813337. + + -- Matthias Klose Sat, 13 Feb 2016 17:13:00 +0100 + +binutils (2.26-3) unstable; urgency=medium + + * Update, taken from the 2.26 branch 20160203. + * Fix PR binutils/19523, objdump not supporting gnu_debuglink with + compressed debug sections; taken from the trunk. Closes: #812089. + + -- Matthias Klose Wed, 03 Feb 2016 15:11:43 +0100 + +binutils (2.26-2) unstable; urgency=medium + + * Do a release build, not enabled upstream for the release. + + -- Matthias Klose Wed, 27 Jan 2016 18:22:45 +0100 + +binutils (2.26-1) unstable; urgency=medium + + * binutils 2.26 release. + - Fix PR 19421, reverting the fix for PR 4317. Closes: #808246. + * Fix build failure with new coreutils. Closes: #812846. + + -- Matthias Klose Wed, 27 Jan 2016 12:36:00 +0100 + +binutils (2.25.90.20160101-2) unstable; urgency=medium + + * Apply proposed patch for PR ld/19368. Closes: #807974. + + -- Matthias Klose Tue, 05 Jan 2016 17:32:06 +0100 + +binutils (2.25.90.20160101-1) unstable; urgency=medium + + * Snapshot, taken from the 2.26 branch (20160101). + * PR gas/19359, work around a GCC issue on POWER8. + + -- Matthias Klose Fri, 01 Jan 2016 13:40:16 +0100 + +binutils (2.25.90.20151209-1) unstable; urgency=medium + + * Snapshot, taken from the 2.26 branch (20151209). + * Fix cross build dependencies. Closes: #807378. + + -- Matthias Klose Wed, 09 Dec 2015 12:41:22 +0100 + +binutils (2.25.90.20151125-2) unstable; urgency=medium + + * Add ARMv8.1 Virtualization Host Extensions support, taken from the trunk. + * Import zlib 1.2.8, taken from the trunk. + * Filter the date/user line from the cross binutils test results. + Closes: #806490. + + -- Matthias Klose Mon, 30 Nov 2015 11:52:26 +0100 + +binutils (2.25.90.20151125-1) unstable; urgency=medium + + * Snapshot, taken from the 2.26 branch (20151125). + - Fixed stack overflow TEMP-0000000-A2945B. + * Build ppc64el binutils on ppc64. + + -- Matthias Klose Wed, 25 Nov 2015 14:19:39 +0100 + +binutils (2.25.51.20151113-2) unstable; urgency=medium + + * Backport patches from the trunk: + - Fix PR ld/19263, segfault for s390_elf. Closes: #805237. + - Fix PR ld/19264, account for .tbss alignment when adjusting start + of relro. LP: #1516444. + + -- Matthias Klose Thu, 19 Nov 2015 14:16:15 +0100 + +binutils (2.25.51.20151113-1) unstable; urgency=medium + + * Snapshot, taken from the just created 2.26 branch (20151113). + - Fixed PR ld/19123. Closes: #801879. + - Ignore relocations in .data.rel.ro.local (hppa). Closes: #801531. + - Fix PR gas/19217, wrong use of MOVT to replace LDR (ARM32). LP: #1513985. + * Stop building gold on sparc and sparc64. Closes: #803474. + + -- Matthias Klose Fri, 13 Nov 2015 11:08:24 +0100 + +binutils (2.25.51.20151106-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20151106. + * Work around PR ld/19188, internal linker error. LP: #1511542. + + -- Matthias Klose Fri, 06 Nov 2015 18:44:09 +0100 + +binutils (2.25.51.20151028-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20151028. + - Fix PR ld/19171 (LP: #1510067), PR ld/19175 (LP: #1510270). + * Revert the fix for PR gold/19119, fixing gold on armhf, arm64 and powerpc. + + -- Matthias Klose Wed, 28 Oct 2015 09:34:03 +0100 + +binutils (2.25.51.20151021-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20151021. + * binutils-i686-gnu: Don't ship ldscripts. + + -- Matthias Klose Wed, 21 Oct 2015 19:46:24 +0200 + +binutils (2.25.51.20151020-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20151020. + * Build cross packages for debian port architectures. + * Move libraries into the multiarch libdir. + * Include gold on KFreeBSD. + * Install the gnu-triplet prefixed binaries and manual pages as files, + and provide non-prefixed symlinks. + * Add a breaks in binutils for hardening-wrapper (<< 2.8); the diversions + need to be adopted for the real files. + * Don't ship windows related manual pages. + * Change the search order for ld to first search in /usr/lib*, + then in /usr//lib*. + * Run the testsuite for all cross targets. + * Configure with --disable-compressed-debug-sections. + + -- Matthias Klose Wed, 21 Oct 2015 01:14:01 +0200 + +binutils (2.25.51.20151014-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20151014. + * Explicitly configure --with-system-zlib. + * Disable compressed debug sections on x86. See PR gas/19109. + * Configure cross builds with --enable-initfini-array. + + -- Matthias Klose Thu, 15 Oct 2015 01:18:36 +0200 + +binutils (2.25.1-7) unstable; urgency=medium + + * Fix PR ld/18867, ld reloc sorting causing glibc to crash on alpha. + Taken from the branch. Closes: #792555. + + -- Matthias Klose Sun, 11 Oct 2015 10:33:38 +0200 + +binutils (2.25.1-6) unstable; urgency=medium + + * Configure with --enable-initfini-array (not the default for cross builds). + * Backport PR gold/18855 (sparc). + + -- Matthias Klose Fri, 09 Oct 2015 14:57:11 +0200 + +binutils (2.25.1-5) unstable; urgency=medium + + * Fix setting the default library path on i386. + + -- Matthias Klose Mon, 05 Oct 2015 13:03:39 +0200 + +binutils (2.25.1-4) unstable; urgency=medium + + * On i386, configure for i686-linux-gnu. Provide i585-linux-gnu symlinks. + + -- Matthias Klose Thu, 01 Oct 2015 19:19:24 +0200 + +binutils (2.25.1-3) unstable; urgency=medium + + * Regenerate the control file. Closes: #799234. + * Configure cross builds with --with-sysroot=/. Closes: #799703. + * Backport PR ld/18668 from the trunk. Closes: #797666. + * Fix lintian warnings for the binutils-hppa64-linux-gnu package. + + -- Matthias Klose Tue, 22 Sep 2015 18:38:07 +0200 + +binutils (2.25.1-2) unstable; urgency=medium + + * Build cross binutils packages targeting the release architectures. + * Rename shared libraries for the cross packages and install into + the standard location. + * Don't ship the header files and static libraries for the cross packages. + * Rename binutils-hppa64 to binutils-hppa64-linux-gnu. + * PR binutils/18750, fix stack buffer overflows when parsing corrupt + ihex files. + + -- Matthias Klose Tue, 15 Sep 2015 01:54:21 +0200 + +binutils (2.25.1-1) unstable; urgency=medium + + * Binutils 2.25.1 release. + + -- Matthias Klose Sat, 08 Aug 2015 00:36:12 +0200 + +binutils (2.25-11) unstable; urgency=medium + + * Fix broken -Bsymbolic-functions on ARM32, hppa, m68k. Taken from + the trunk. + + -- Matthias Klose Fri, 31 Jul 2015 12:40:32 +0200 + +binutils (2.25-10) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20150711. + - POWERPC fixes. + + -- Matthias Klose Sat, 11 Jul 2015 12:12:38 +0200 + +binutils (2.25-9) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20150622. + - ARM32, AArch64, POWERPC fixes. + * Fix PR gas/18427, gas slow on hppa, taken from the trunk. Closes: #787192. + + -- Matthias Klose Mon, 22 Jun 2015 11:45:36 +0200 + +binutils (2.25-8) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20150523. + - PPC and AArch64 backports from the trunk. + + -- Matthias Klose Sat, 23 May 2015 09:44:54 +0200 + +binutils (2.25-7) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20150411. + * More adjustments for reproducible builds. Closes: #774429. + + -- Matthias Klose Fri, 24 Apr 2015 13:18:01 +0200 + +binutils (2.25-6) unstable; urgency=medium + + * Apply patches from the 2.25 branch to address PR binutils/17512, + PR binutils/17531. + * Removal partial backports for PR binutils/17531. + * Configure with --enable-deterministic-archives. Closes: #774429. + + -- Matthias Klose Thu, 26 Mar 2015 16:40:36 +0100 + +binutils (2.25-5) unstable; urgency=medium + + * Remove '*.rej' files in the source package. Closes: #775679. + * Make the package build reproducibly (addresses: #774429): + - Fix mtimes before building binary packages. + - Stop recording the current time when creating gzip files. + - Sort file list in md5sums. + - Fix mtimes before building source tarball. + - Sort file list in binutils source tarball. + - If available, call strip-nondeterminism on static libraries. + * Fix PR ld/17827 - PIE copy relocations are broken with pointers. + Closes: #772958. + + -- Matthias Klose Wed, 25 Feb 2015 09:00:51 +0100 + +binutils (2.25-4) unstable; urgency=medium + + * Backport fixes for PR binutils/17531 up to 2014-12-22. + + -- Matthias Klose Thu, 15 Jan 2015 08:00:07 +0100 + +binutils (2.25-3) unstable; urgency=medium + + * Don't build as a release candidate, fixing the upper shlibs dependency. + * Refresh patches. + + -- Matthias Klose Thu, 25 Dec 2014 13:45:39 +0100 + +binutils (2.25-2) unstable; urgency=medium + + * Apply proposed patch for PR ld/17742 (don't create .eh_frame_hdr + on shared lib bfd). + + -- Matthias Klose Thu, 25 Dec 2014 06:55:02 +0100 + +binutils (2.25-1) unstable; urgency=medium + + * binutils 2.25 release. + - MIPS specific gas update. + + -- Matthias Klose Thu, 25 Dec 2014 05:49:55 +0100 + +binutils (2.24.90.20141219-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141219. + - Fix PR ld/17713 (segfault), PR ld/17689 (link error), PR ld/15228. + * Apply proposed patch for PR gold/17729 (fixing ~600 GCC test failures). + + -- Matthias Klose Fri, 19 Dec 2014 18:59:30 +0100 + +binutils (2.24.90.20141209-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141209. + - Fix PR binutils/17677, PR gold/17670 (powerpc), + PR gold/17566 (powerpc). + + -- Matthias Klose Tue, 09 Dec 2014 09:31:53 +0100 + +binutils (2.24.90.20141201-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141201. + - Fix PR ld/16452, PR/ld/16457: Don't output symbol version + requirement for non-DT_NEEDED libs. Closes: #728529. + + -- Matthias Klose Mon, 01 Dec 2014 21:53:10 +0100 + +binutils (2.24.90.20141128-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141128. + - gold: Fix corrupted .eh_frame section with LTO and --gc-sections. + - gold: Fix PowerPC relaxation corner case. + * Relax upper shlibs version dependency to the next release candidate. + + -- Matthias Klose Fri, 28 Nov 2014 14:20:09 +0100 + +binutils (2.24.90.20141124-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141124. + - ppc alignment fixes, Go fixes + - PR binutils/17597, PR binutils/17512, PR binutils/17521, PR binutils/17533, + trunk backports for fixing the recent CVE issues. + - One more fix for Cortex-A53 Erratum 835769 (AArch64). + + -- Matthias Klose Mon, 24 Nov 2014 17:29:27 +0100 + +binutils (2.24.90.20141111-2) unstable; urgency=medium + + * Fix ld -r abort in _bfd_elf_write_section_eh_frame, taken from the trunk. + Closes: #769067. + + -- Matthias Klose Tue, 11 Nov 2014 11:10:27 +0100 + +binutils (2.24.90.20141111-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141111. + - Update .MIPS.abiflags to support MIPS R6. + * gold: Misc updates for the AArch64 backend, taken from the trunk. + * Mention some CVE issues, fixed in the 20141104 snapshot: + - CVE-2014-8484 (PR binutils/17509). + - CVE-2014-8485, CVE-2014-8504 (PR binutils/17510). + - CVE-2014-8501, CVE-2014-8502, CVE-2014-8503 (PR binutils/17512). + * Fix some lintian warnings. + + -- Matthias Klose Tue, 11 Nov 2014 07:55:51 +0100 + +binutils (2.24.90.20141104-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141104. + - Fix PR bfd/17481. + - Fix PR17488, powerpc64-linux-ld segfault. LP: #1381580. + - Fix PR ld/17492. LP: #882353. + - Fix PR gas/17493. LP: #1051156. + - Add gcc-4.9 libgomp symbols requiring --plt-thread-safe for power7. + - PowerPC64 ELFv1 function symbol definition vs LTO and discarded sections. + - ppc: enable msgclr and msgsnd on Power8. + - Relax ppc64_elf_tls_optimize assertion. + * Pick patch from the trunk: + - Support relexation for the gold aarch64 backend. + - AArch64: move bogus assertion. + - Fix build configured with --enable-targets=aarch64-linux. + - Fix running ld-unique tests on ARM. + - gas: Recognize: AArch64 ThunderX processor. + + -- Matthias Klose Tue, 04 Nov 2014 02:14:45 +0100 + +binutils (2.24.90.20141014-1) unstable; urgency=medium + + * Snapshot, taken from the 2.25 branch 20141014. + * Remove patches picked from upstream. + * Build gold on AArch64. + + -- Matthias Klose Tue, 14 Oct 2014 12:46:08 +0200 + +binutils (2.24.51.20141001-4) unstable; urgency=high + + * Fix PR ld/17647, taken from upstream. Closes: #764573. + + -- Matthias Klose Mon, 13 Oct 2014 20:03:30 +0200 + +binutils (2.24.51.20141001-3) unstable; urgency=medium + + * Fix PR ld/17447, taken from upstream. LP: #1371636. + + -- Matthias Klose Tue, 07 Oct 2014 12:26:24 +0200 + +binutils (2.24.51.20141001-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20141001. + + -- Matthias Klose Wed, 01 Oct 2014 02:32:06 +0200 + +binutils (2.24.51.20140918-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140918. + + -- Matthias Klose Thu, 18 Sep 2014 19:28:16 +0200 + +binutils (2.24.51.20140903-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140903. + * Try to work around binutils-multiarch build failure on sh4 by disabling + hppa targets for the binutils-multiarch build. Addresses: #758830. + * Enable powerpc targets for ppc64el. Closes: #760395. + + -- Matthias Klose Wed, 03 Sep 2014 23:02:26 +0200 + +binutils (2.24.51.20140818-1) unstable; urgency=high + + * Snapshot, taken from the trunk 20140818. + - Fix GLIBC ifunc breakage on PowerPC64 ELFv2. LP: #1355962. + + -- Matthias Klose Mon, 18 Aug 2014 13:49:01 +0200 + +binutils (2.24.51.20140814-2) unstable; urgency=medium + + * Still provide i486-* symlinks. + + -- Matthias Klose Sun, 17 Aug 2014 17:06:36 +0200 + +binutils (2.24.51.20140814-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140814. + - Add ld options --push-state and --pop-state. + * binutils-hppa64: Set architecture to hppa. + * Add aarch64_ilp32-linux-gnu multiarch directories to the search path. + + -- Matthias Klose Thu, 14 Aug 2014 13:28:40 +0200 + +binutils (2.24.51.20140807-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140807. + - Remove patch for pr14918, integrated upstream. + + -- Matthias Klose Thu, 07 Aug 2014 11:41:44 +0200 + +binutils (2.24.51.20140727-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140727. + + -- Matthias Klose Sun, 27 Jul 2014 15:44:40 +0200 + +binutils (2.24.51.20140709-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140709. + - Fix PR gold/15639, -flto and ld.gold on ARM. + Closes: #712189. LP: #1191909. + + -- Matthias Klose Wed, 09 Jul 2014 19:44:18 +0200 + +binutils (2.24.51.20140704-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140704. + * Build gold for mips* targets. + * Update the patch for the mips64el support. Closes: #750566, #753052. + * Update patches for the current trunk. + + -- Matthias Klose Fri, 04 Jul 2014 12:00:05 +0200 + +binutils (2.24.51.20140617-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140617. + + -- Matthias Klose Tue, 17 Jun 2014 10:29:20 +0200 + +binutils (2.24.51.20140604-3) unstable; urgency=medium + + * Update the mips64-default-n64 patch (Yunqiang Su). Closes: #750566. + + -- Matthias Klose Sat, 07 Jun 2014 13:43:35 +0200 + +binutils (2.24.51.20140604-2) unstable; urgency=medium + + * Stop applying the mips64-default-n64 patch until it is updated. + + -- Matthias Klose Thu, 05 Jun 2014 11:20:39 +0200 + +binutils (2.24.51.20140604-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140604. + * Refactor rules for consistent usage of the PF macro (Helmut Grohne). + + -- Matthias Klose Wed, 04 Jun 2014 13:48:21 +0200 + +binutils (2.24.51.20140425-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140425. + * Refactor rules for consistent usage of the PF macro (Helmut Grohne). + * On x86 targets provide gnu-type prefixed binaries with the cpu that GCC + is configured for. + * 129_multiarch_libpath.patch: Fix to search multiarch dirs, only needed + for a minority of packages still using ld directly for linking instead + of the recommended use of gcc. + + -- Matthias Klose Sun, 27 Apr 2014 21:52:56 +0200 + +binutils (2.24.51.20140411-2) unstable; urgency=medium + + * No-change rebuild to get rid off ftp-master mail storm. + + -- Matthias Klose Sat, 12 Apr 2014 15:23:31 +0200 + +binutils (2.24.51.20140411-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20140411. + * Provide $(DEB_HOST_GNU_TYPE)- prefixed binaries and man pages. + * Don't enable the spu targets on powerpc targets anymore. + * Build the gold linker on hurd-i386 (Svante Signell). Closes: #744020. + + -- Matthias Klose Fri, 11 Apr 2014 18:49:22 +0200 + +binutils (2.24-5) unstable; urgency=medium + + * Update from the 2.24 branch, 20140321. + * Stop building the binutils-spu package. + * Add a binutils-multiarch-dev package. Closes: #583160 + + -- Matthias Klose Fri, 21 Mar 2014 11:23:40 +0100 + +binutils (2.24-4) unstable; urgency=medium + + * Update from the 2.24 branch, 20140304. + * Update Aarch64 ilp32 linker and libdir names. + * Fix relocations for thread local variables on AArch64. Updated patch + taken from the trunk. + * Enable AArch64 big endian targets for AArch64 builds and for + binutils-multiarch. + * gas: Add entry for "xgene1" (AArch64). + * gas: Remove the alignment limit on AArch64. + * Add a Built-Using attribute for for the binutils-cross-* packages. + Closes: #738311. + + -- Matthias Klose Tue, 04 Mar 2014 02:21:00 +0100 + +binutils (2.24-3) unstable; urgency=medium + + * Update from the 2.24 branch, 20140124. + * Display the reference causing a shared library to be needed (taken from + the trunk). + + -- Matthias Klose Fri, 24 Jan 2014 14:39:48 +0100 + +binutils (2.24-2) unstable; urgency=medium + + * Update from the 2.24 branch, 20131209. + * Remove versioned build dependencies which are not needed anymore + since 2005. + * Drop the ld_system_root patch. + * Fix PowerPC64 linking of --just-symbols objects (Alan Modra). + + -- Matthias Klose Mon, 09 Dec 2013 13:57:43 +0100 + +binutils (2.24-1) unstable; urgency=low + + * Final upstream release. + * ifunc updates for AArch64, taken from the trunk. + + -- Matthias Klose Mon, 02 Dec 2013 11:21:16 +0200 + +binutils (2.23.91.20131123-1) unstable; urgency=low + + * New upstream snapshot, taken from the 2.24 branch. + * Stop shipping libiberty, now available in libiberty-dev. + + -- Matthias Klose Sat, 23 Nov 2013 08:27:51 +0100 + +binutils (2.23.90.20131116-1) unstable; urgency=low + + * New upstream snapshot, taken from the 2.24 branch. + + -- Matthias Klose Sat, 16 Nov 2013 12:40:28 +0100 + +binutils (2.23.90.20131017-1) unstable; urgency=low + + * New upstream snapshot, taken from the 2.24 branch. + + -- Matthias Klose Thu, 17 Oct 2013 14:22:05 +0200 + +binutils (2.23.90.20130927-1) unstable; urgency=low + + * New upstream snapshot, taken from the 2.24 branch. + * Add ifunc support for AArch64. + + -- Matthias Klose Fri, 27 Sep 2013 14:05:44 +0200 + +binutils (2.23.52.20130828-1) unstable; urgency=low + + * New upstream snapshot. + + -- Matthias Klose Wed, 28 Aug 2013 15:22:51 +0200 + +binutils (2.23.52.20130727-1) unstable; urgency=low + + * New upstream snapshot. + + -- Matthias Klose Sat, 27 Jul 2013 10:37:11 +0200 + +binutils (2.23.52.20130722-1) unstable; urgency=low + + * New upstream snapshot. + - Fix PR ld/15762, glibc being built without warning sections. + * Set the libdir for arm64 to lib, not lib64. + * Stop building the binutils-gold package, let binutils provide + binutils-gold. Packages requiring gold should explicity pass + -fuse-ld=gold to the compiler, packages requiring the bfd linker + should pass -fuse-ld=bfd to the compiler. + * Refresh patches. + + -- Matthias Klose Mon, 22 Jul 2013 21:13:32 +0200 + +binutils (2.23.52.20130620-1) unstable; urgency=low + + * New upstream snapshot. + * Add conflicts with mingw binutils. Closes: #712057, #712063. + * Always compare the test results with the ones from the installed binutils. + + -- Matthias Klose Thu, 20 Jun 2013 12:27:31 +0200 + +binutils (2.23.52.20130612-1) unstable; urgency=low + + * New upstream snapshot. + - Fix issue #15323, redefining weak functions in -flto incrementally-linked + executable. Closes: #710936. + * Install libiberty.a again in binutils-dev, not installed anymore upstream + by default. + * Import the autopkg tests from Ubuntu. + * Enable i386pep emulation for the x86 builds. Closes: #703463. + * Fix typo in ld(1). Closes: #704867. + * Add mips64(el) support (YunQiang Su). Closes: #710214. + + -- Matthias Klose Wed, 12 Jun 2013 11:35:05 +0200 + +binutils (2.23.52.20130522-1) experimental; urgency=low + + * New upstream snapshot. + + -- Matthias Klose Wed, 22 May 2013 16:22:04 +0200 + +binutils (2.23.2-2) experimental; urgency=low + + * Add support for Cortex-A53 / Cortex-A57. + * Fix PR gas/14887 and PR gas/14987, gas syntax errors on ARM. + LP: #1166628. + + -- Matthias Klose Tue, 16 Apr 2013 02:21:44 +0200 + +binutils (2.23.2-1) experimental; urgency=low + + * binutils 2.23.2 release. + + -- Matthias Klose Tue, 26 Mar 2013 19:58:59 +0100 + +binutils (2.23.1-1~exp6) experimental; urgency=low + + * Update from the 2.23 branch (20130222). + * For cross builds, add the tool libdir to the library search path. + * Revert broken patch: + - Recognize DEB_TARGET_ARCH for cross builds. + + -- Matthias Klose Sat, 23 Feb 2013 01:57:30 +0100 + +binutils (2.23.1-1~exp5) experimental; urgency=low + + * Update from the 2.23 branch (20130213). + - AArch64 and PPC updates. + * Recognize DEB_TARGET_ARCH for cross builds. Closes: #695595. + * Fix srec_scan null dereference (Sang Kil Cha). Closes: #684903. + + -- Matthias Klose Wed, 13 Feb 2013 12:10:31 +0100 + +binutils (2.23.1-1~exp4) experimental; urgency=low + + * Fix PR ld/14918: linking with -flto always links in libgcc_s.so. + Closes: #650145. + * Fix build failure with texinfo 4.14. Closes: #697353. + + -- Matthias Klose Sat, 05 Jan 2013 14:06:23 +0100 + +binutils (2.23.1-1~exp3) experimental; urgency=low + + * Update from the 2.23 branch (20121204). + * Add fuse-ld= for GCC linker option compatibility in ld and gold. + * gold cross builds: Search the multiarch directories too. + + -- Matthias Klose Wed, 05 Dec 2012 08:35:10 +0100 + +binutils (2.23.1-1~exp2) experimental; urgency=low + + * Update from the 2.23 branch (20121121). + - arm, arm64 and x32 updates. + + -- Matthias Klose Wed, 21 Nov 2012 13:47:06 +0100 + +binutils (2.23.1-1~exp1) experimental; urgency=low + + * binutils 2.23.1 release. + + -- Matthias Klose Thu, 15 Nov 2012 13:50:55 +0100 + +binutils (2.23-1) experimental; urgency=low + + * Update multi-arch paths for x32 (x86_64-linux-gnux32) (Daniel Schepler). + Closes: #692138. + * Add new ARM hard-float/soft-float ABI flags for EABI_VER5 (Steve McIntyre). + * Silence lintian stupidity about interpreting every string in binaries + as text (Emmanuel Fleury). Closes: #661639. + * In ld.texi, remove cross reference to BFD internals documentation. + + -- Matthias Klose Tue, 06 Nov 2012 10:42:37 +0100 + +binutils (2.23-1) experimental; urgency=low + + * binutils 2.23 release. + * Don't include the documents licensed under GFDL with cover texts. + Closes: #650504. + + -- Matthias Klose Wed, 24 Oct 2012 10:29:50 +0200 + +binutils (2.22.90.20120924-1) experimental; urgency=low + + * New upstream snapshot (taken from the 2.23 branch). + * Fix bfd.h, removing the safety inclusion guard. + * Fix multilib conflicts of generated values by __WORDSIZE-based expressions. + + -- Matthias Klose Mon, 24 Sep 2012 18:39:51 +0200 + +binutils (2.22.90.20120913-2) experimental; urgency=low + + * Undo the reversion of the mips patches, unrelated issue. + * Build again with -marm on armhf. Testsuite still not ready for thumb mode. + + -- Matthias Klose Sat, 15 Sep 2012 03:00:10 +0200 + +binutils (2.22.90.20120913-1) experimental; urgency=low + + * New upstream snapshot (taken from the 2.23 branch). + * Add R_AARCH64_GOT_LD_PREL19 reloc implementation, taken from the trunk. + * Revert mips updates. + See http://sourceware.org/ml/binutils/2012-09/msg00158.html + + -- Matthias Klose Thu, 13 Sep 2012 20:35:08 +0200 + +binutils (2.22.90.20120907-2) experimental; urgency=low + + * Fix build failure on kfreebsd. + + -- Matthias Klose Sun, 09 Sep 2012 15:41:54 +0200 + +binutils (2.22.90.20120907-1) experimental; urgency=low + + * New upstream snapshot (taken from the 2.23 branch). + * Don't build anymore with -marm on armhf. + * Work around `install' limitation not able to pass parameters + to the strip command. Closes: #686183. + * Generate md5sums file. Closes: #684079. + + -- Matthias Klose Sat, 08 Sep 2012 13:40:39 +0200 + +binutils (2.22.90.20120816-2) experimental; urgency=low + + * Some refactoring of debian/rules based on patches from Marcin: + * Introduce DEB_TARGET_* macros to unify native and cross builds. + * Build the control file as the first step for cross builds. + * Try again building without --disable-werror. + * Refactor stripping of binaries into a `strip_package' macro. + + -- Matthias Klose Tue, 21 Aug 2012 15:31:05 +0200 + +binutils (2.22.90.20120816-1) experimental; urgency=low + + * New upstream snapshot (taken from the 2.23 branch). + * Configure for aarch64 and x32 targets. + + -- Matthias Klose Thu, 16 Aug 2012 13:26:56 +0200 + +binutils (2.22.90.20120731-1) experimental; urgency=low + + * New upstream snapshot (taken from the 2.23 branch). + + -- Matthias Klose Tue, 31 Jul 2012 22:20:22 +0200 + +binutils (2.22.52.20120704-1) experimental; urgency=low + + * New upstream snapshot. + + -- Matthias Klose Wed, 04 Jul 2012 14:40:01 +0200 + +binutils (2.22-7) unstable; urgency=low + + * Update from the binutils-2_22-branch 20120704. + - Fix PR ld/13991 and a gold issue on ARM. + * Fix warning building libiberty/md5.c. Closes: #674831. + * Enable x86_64-pep in binutils-multiarch. Closes: #675364. + + -- Matthias Klose Wed, 04 Jul 2012 11:00:14 +0200 + +binutils (2.22-6.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix PR ld/14069 (hurd-i386) (Closes: #671804). + + -- Samuel Thibault Fri, 18 May 2012 11:52:14 +0200 + +binutils (2.22-6) unstable; urgency=low + + * Update from the binutils-2_22-branch 20120307. + - Fix PR ld/12161 (avr), PR binutils/13622 (readelf crash), + PR binutils/13476 (hppa), PR ld/13387 (hppa), + * Fix typo in elf64-x86-64.c, follow-up patch to PR ld/13302. + + -- Matthias Klose Thu, 08 Mar 2012 18:52:20 +0100 + +binutils (2.22-5) unstable; urgency=low + + * Update from the binutils-2_22-branch 20120124. + - Fix PR ld/13581 (x32). + * Fix PR gas/13449 (ARM), taken from the trunk. + + -- Matthias Klose Tue, 24 Jan 2012 21:26:43 +0100 + +binutils (2.22-4) unstable; urgency=low + + * Don't bump the soversion (revert the change in 2.22-3). + * Apply proposed patch for PR binutils/13534, allowing ar to handle + files bigger than 2GB (Francois Gouget). Closes: #652887). + * Recognize DW_LANG_Go in readelf (backport from trunk). + + -- Matthias Klose Sat, 07 Jan 2012 09:07:25 +0100 + +binutils (2.22-3) unstable; urgency=low + + * Update from the binutils-2_22-branch 20120102. + - gold updates. + - mips updates. + + -- Matthias Klose Tue, 03 Jan 2012 06:06:20 +0100 + +binutils (2.22-2) unstable; urgency=low + + * Update from the binutils-2_22-branch 20111211. + * Fix build failure with make 3.82 (Daniel Schepler). Closes: #650064. + + -- Matthias Klose Sun, 11 Dec 2011 16:30:14 +0000 + +binutils (2.22-1) unstable; urgency=low + + * Binutils 2.22 release. + + -- Matthias Klose Mon, 21 Nov 2011 16:50:53 +0100 + +binutils (2.21.90.20111025-1) unstable; urgency=low + + * Snapshot, taken from the binutils-2_22-branch 20111025. + * Fix lintian warnings. + + -- Matthias Klose Tue, 25 Oct 2011 15:06:46 +0200 + +binutils (2.21.90.20111019-3) unstable; urgency=low + + * Fix PR ld/13302, taken from the trunk. + + -- Matthias Klose Sun, 23 Oct 2011 13:15:07 +0200 + +binutils (2.21.90.20111019-2) unstable; urgency=low + + * Fix PR ld/13287, taken from the trunk. LP: #872687. + + -- Matthias Klose Thu, 20 Oct 2011 12:29:18 +0200 + +binutils (2.21.90.20111019-1) unstable; urgency=low + + * Snapshot, taken from the binutils-2_22-branch 20111019. + + -- Matthias Klose Wed, 19 Oct 2011 22:25:05 +0200 + +binutils (2.21.90.20111004-2) unstable; urgency=low + + * Fix PR ld/13250, preserve the maximum alignment and size for common + symbols (H.J. Lu). Closes: #608901. LP: #697229. + + -- Matthias Klose Thu, 06 Oct 2011 08:06:04 +0200 + +binutils (2.21.90.20111004-1) unstable; urgency=medium + + * Snapshot, taken from the binutils-2_22-branch 20111004. + * Fix PR ld/13195, taken from the trunk. Closes: #643858, #644183. + + -- Matthias Klose Tue, 04 Oct 2011 12:12:16 +0200 + +binutils (2.21.53.20110922-1) unstable; urgency=low + + * Snapshot, taken from the binutils-2_22-branch 20110924. + + -- Matthias Klose Sat, 24 Sep 2011 09:55:38 +0200 + +binutils (2.21.53.20110910-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110910. + - Fix PR gas/13024. Closes: #635592. + * Build with proposed patch for PR ld/12965. + * Don't ship .la files in the cross binutils packages. + * For native builds, add the multiarch directories to the default + search path. + + -- Matthias Klose Sat, 10 Sep 2011 13:06:01 +0200 + +binutils (2.21.53.20110823-3) unstable; urgency=low + + * Revert the last change: + - Default to --hash-style=both in ld.bfd and ld.gold. + + -- Matthias Klose Thu, 25 Aug 2011 10:48:28 +0200 + +binutils (2.21.53.20110823-2) unstable; urgency=low + + * Default to --hash-style=both in ld.bfd and ld.gold. + * Fix s390x build (Aurelian Jarno). Closes: #635167. + + -- Matthias Klose Wed, 24 Aug 2011 13:06:48 +0200 + +binutils (2.21.53.20110823-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110823. + - ld --no-copy-dt-needed-entries/--no-add-needed is now the default. + + -- Matthias Klose Tue, 23 Aug 2011 21:23:38 +0200 + +binutils (2.21.53.20110805-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110805. + + -- Matthias Klose Fri, 05 Aug 2011 12:25:49 +0200 + +binutils (2.21.53.20110729-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110729. + * Fix s390x build (Aurelian Jarno). Closes: #635167. + + -- Matthias Klose Fri, 29 Jul 2011 19:04:46 +0200 + +binutils (2.21.53.20110720-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110720. + - Fix PR ld/12978. Closes: #632681. + + -- Matthias Klose Wed, 20 Jul 2011 20:54:51 +0200 + +binutils (2.21.52.20110707-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110707. + - Fix build failure on mips/mipsel. Closes: #632690. + - Fix issues on kfreebsd-amd64. Closes: #632671. + + -- Matthias Klose Thu, 07 Jul 2011 06:48:33 +0200 + +binutils (2.21.52.20110703-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110703. + + -- Matthias Klose Sun, 03 Jul 2011 21:56:44 +0200 + +binutils (2.21.52.20110606-2) unstable; urgency=low + + * Fix PR ld/12845, taken from the trunk. Closes: #628685. + + -- Matthias Klose Thu, 09 Jun 2011 12:45:15 +0200 + +binutils (2.21.52.20110606-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110606. + - Fix PR ld/12833. Closes: #628770. + - Fix spelling errors. Closes: #604696. + * Let gold accept a dummy -z buildd- option. + * Add a /usr/share/bug/binutils/presubj file for reportbug (and symlinks + from the other /usr/share/bug/binutils-foo directories) explaining how + to make a self-contained testcase (Jonathan Nieder). Closes: #629147. + * Fix ld crash cause of invalid pointer in munmap_chunk. Closes: #628916. + + -- Matthias Klose Tue, 07 Jun 2011 00:03:47 +0200 + +binutils (2.21.51.20110523-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110523. + + -- Matthias Klose Mon, 23 May 2011 23:38:52 +0200 + +binutils (2.21.51.20110421-6) unstable; urgency=low + + [ Marcin Juszkiewicz ] + * Use pregenerated ld.gold.1 for cross builds. + + [ Matthias Klose ] + * Redefine STRIP and install_binary for cross builds (Ken Werner). + * Apply fix for PR ld/12726, taken from the trunk. + + -- Matthias Klose Thu, 19 May 2011 15:51:22 +0200 + +binutils (2.21.51.20110421-5) unstable; urgency=medium + + * Use a symlink for /usr/bin/ld, even if gold is not built. Closes: #615262. + + -- Matthias Klose Tue, 17 May 2011 17:58:17 +0200 + +binutils (2.21.51.20110421-4) unstable; urgency=low + + * Fix PR ld/12730, taken from the trunk. Closes: #625616. + * Cortex A8 workarounds for PLT tail calls (Richard Sandiford). + + -- Matthias Klose Sun, 08 May 2011 02:06:22 +0200 + +binutils (2.21.51.20110421-3) unstable; urgency=low + + * Fix segfault in ar, delete_members. + + -- Matthias Klose Sun, 01 May 2011 17:30:42 +0200 + +binutils (2.21.51.20110421-2) unstable; urgency=low + + * Fix typo in the patch for PR gas/12698. + + -- Matthias Klose Wed, 27 Apr 2011 21:33:47 +0200 + +binutils (2.21.51.20110421-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110421. + * Install a man page for ld.gold, generated by help2man. Closes: #619823. + * Apply proposed patch for PR gas/12698. Closes: #623964. + + -- Matthias Klose Wed, 27 Apr 2011 18:14:39 +0200 + +binutils (2.21.51.20110419-2) unstable; urgency=low + + * Fix powerpcspe and sparc builds. + + -- Matthias Klose Tue, 19 Apr 2011 13:47:56 +0200 + +binutils (2.21.51.20110419-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20110419. + + -- Matthias Klose Tue, 19 Apr 2011 10:18:14 +0200 + +binutils (2.21.51.20110409-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20110409. + + -- Matthias Klose Sat, 09 Apr 2011 13:53:24 +0200 + +binutils (2.21.51.20110403-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20110403. + + -- Matthias Klose Sun, 03 Apr 2011 23:54:13 +0200 + +binutils (2.21.0.20110327-3) unstable; urgency=high + + * Fix architecture field for binutils-gold (powerpcspe). + * Add support for arm-*-gnueabihf targets. Closes: #621029. + * Fix PR ld/12654: Properly handle R_386_TLS_LDO_32 for PIE. LP: #663294. + * Fix PR ld/12637, reloc overflow for R_MIPS_TLS_LDM (Richard Sandiford), + taken from the trunk. + + -- Matthias Klose Sun, 10 Apr 2011 17:23:40 +0200 + +binutils (2.21.0.20110327-2) unstable; urgency=low + + * Fix architecture field for binutils-gold. + * Configure with --disable-werror on armhf. + + -- Matthias Klose Tue, 29 Mar 2011 19:38:55 +0200 + +binutils (2.21.0.20110327-1) unstable; urgency=low + + * Update from the 2.21 branch 20110327. + * Add multiarch directories to linker search path. Closes: #369064. + LP: #738098. + + -- Matthias Klose Sun, 27 Mar 2011 22:32:57 +0100 + +binutils (2.21.0.20110322-1) unstable; urgency=low + + * Update from the 2.21 branch 20110322. + * S/390: Make as to accept all instructions if no -march option given. + taken from the trunk (Aurelian Jarno). Closes: #618751. + * Extend support for armhf (Loic Minier). + - debian/control.in, debian/control, debian/rules: Enable gold for armhf. + - debian/rules: Introduce $(CROSS) (set to $(DEB_HOST_GNU_TYPE)- when + cross-building) and call $(CROSS)cpp to check whether -marm is needed or + not instead of testing for armel; an alternative would be to + unconditionally set -marm if DEB_HOST_ARCH_CPU is arm. + - debian/rules: commented out -fno-section-anchors CFLAGS handling would + also be enabled for armhf. + - debian/rules: ignore regressions on armhf as well; note that + ignore_regressions is set three times. + + -- Matthias Klose Tue, 22 Mar 2011 23:12:39 +0100 + +binutils (2.21.0.20110302-2) unstable; urgency=low + + [ Carlos O'Donell ] + * Fix binutils-hppa64 build. + + [ Matthias Klose ] + * Fix PR ld/12376 (John David Anglin), taken from the trunk. + * Update to the 2.21 branch, 20110310. + + -- Matthias Klose Thu, 10 Mar 2011 21:35:07 +0100 + +binutils (2.21.0.20110302-1) unstable; urgency=low + + * Update from the 2.21 branch. + + [ Thorsten Glaser ] + * patches/640_m68k_fix-TLS_GD-relocation: new, temp. Closes: #611768. + + [ Matthias Klose ] + * On ppc64, look for 32 bit target libraries in /lib32, /usr/lib32 etc., + first. + + -- Matthias Klose Wed, 02 Mar 2011 02:41:17 +0100 + +binutils (2.21.0.20110216-2) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Tue, 22 Feb 2011 20:35:16 +0100 + +binutils (2.21.0.20110216-1) experimental; urgency=low + + * Update from the 2.21 branch. + + -- Matthias Klose Wed, 16 Feb 2011 15:54:15 +0100 + +binutils (2.21-5) experimental; urgency=low + + * Update gold to 1.11, taken from the 2.21 branch. + * Add the arm-linux-gnueabi target to binutils-multiarch (Loic Minier). + + -- Matthias Klose Tue, 25 Jan 2011 00:51:38 +0100 + +binutils (2.21-4) experimental; urgency=low + + * Fix handling of writable .eh_frame section in gold, taken from the + 2.21 branch. + + -- Matthias Klose Wed, 12 Jan 2011 00:42:15 +0100 + +binutils (2.21-3) experimental; urgency=low + + [ Matthias Klose ] + * Don't include `-system' in the bfd version identifier. + + [ Sedat Dilek ] + * 160_pr12327.patch: Fix PR ld/12327, taken from the trunk. + + -- Matthias Klose Thu, 29 Dec 2010 23:51:35 +0100 + +binutils (2.21-2) experimental; urgency=low + + * Don't install ld.bfd in binutils-multiarch. + * Fix assembler bug blocking Thumb-2 kernel builds (CS issue #8775). + + -- Matthias Klose Fri, 10 Dec 2010 13:45:00 +0100 + +binutils (2.21-1) experimental; urgency=low + + * binutils 2.21 release. + + [ Marcin Juszkiewicz ] + * Enable building gold in cross builds. LP: #686530. + * Allow to build only the -source package, and include the version + in the package name. LP: #682646. + + -- Matthias Klose Thu, 09 Dec 2010 23:24:49 +0100 + +binutils (2.20.90.20101121-1) experimental; urgency=low + + * Update from the binutils 2.21 release branch. + + -- Matthias Klose Sun, 21 Nov 2010 14:03:14 +0100 + +binutils (2.20.90.20101105-2) experimental; urgency=low + + * binutils 2.21 prerelease 1. + + -- Matthias Klose Wed, 10 Nov 2010 01:04:59 +0100 + +binutils (2.20.51.20101028-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20101028. + + -- Matthias Klose Thu, 28 Oct 2010 16:57:11 +0200 + +binutils (2.20.51.20101009-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20101009. + + -- Matthias Klose Sat, 09 Oct 2010 14:41:08 +0200 + +binutils (2.20.51.20100925-2) experimental; urgency=low + + * Allow ar scripts to contain ~ in the filename (Zygmunt Krynicki, taken + from Linaro). LP: #641488. + + -- Matthias Klose Thu, 30 Sep 2010 10:20:41 +0200 + +binutils (2.20.51.20100925-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100925. + * Fix PR ld/10144, mips/ld: non-dynamic relocations refer to dynamic symbol + Closes: #519006. + + -- Matthias Klose Sat, 25 Sep 2010 16:24:20 +0200 + +binutils (2.20.51.20100908-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100908. + * Link executables statically when `static' is passed in DEB_BUILD_OPTIONS + (Jim Heck). Closes: #590101. + * Apply proposed patch for PR ld/10340 (ld doesn't honor sysroot prefix + for ldscripts). LP: #625320. + * Build binutils-hppa64 in cross builds (Al Viro). Closes: #595319. + * Fix some lintian warnings. + + -- Matthias Klose Wed, 08 Sep 2010 16:31:47 +0200 + +binutils (2.20.51.20100813-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100813. + + [ Jonathan Nieder ] + * Remove ld.bfd from binutils-multiarch (not that useful without an + multiarch assembler). + + [ Marcin Juszkiewicz ] + * Revert sysroot to / for cross builds. LP: #598389. + * Generate debian/control for native and cross builds. LP: #612629. + * Provide packaging rules in -source package. LP: #608745. + + [ Matthias Klose ] + * Don't apply patches, when PATCHED_SOURCES is set to `yes'. + * Proposed patch for PR11889, readelf crashes for malformed binaries + (Dan Rosenberg). LP: #614206. + + -- Matthias Klose Fri, 13 Aug 2010 11:10:14 +0200 + +binutils (2.20.51.20100710-2) experimental; urgency=medium + + * Don't use configury for cross builds for native builds. LP: #604134. + + -- Matthias Klose Sun, 11 Jul 2010 10:24:28 +0200 + +binutils (2.20.51.20100710-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100710. + - Fix PR gas/10531. LP: #599485. + * debian/rules: Introduce PF macros (Jim Heck). Closes: #588357. + + [ Marcin Juszkiewicz ] + * Don't install documentation files in -cross packages. Closes: #586636. + * Set sysroot to /usr/$(TARGET) for cross builds. LP: #598389. + + -- Matthias Klose Sat, 10 Jul 2010 10:42:55 +0200 + +binutils (2.20.51.20100617-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100617. + * Merge 'binary-cross' target into 'binary' one (Marcin Juszkiewicz). + * debian/copyright: Update to GFDL 1.3. + + -- Matthias Klose Thu, 17 Jun 2010 15:20:34 +0200 + +binutils (2.20.51.20100527-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100527. + + [ Jonathan Nieder ] + * debian/binutils-multiarch.preinst.in: Re-add diversions on reinstall. + Closes: #581156. + * Remove c++filt from binutils-multiarch. + * Rename /usr/bin/ld from multiarch build to ld.bfd. Closes: #582490. + + -- Matthias Klose Thu, 27 May 2010 10:40:48 +0200 + +binutils (2.20.51.20100518-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100518. + + -- Matthias Klose Tue, 18 May 2010 13:29:45 +0200 + +binutils (2.20.51.20100428-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100428. + + -- Matthias Klose Wed, 28 Apr 2010 10:07:28 +0200 + +binutils (2.20.51.20100418-2) experimental; urgency=low + + * Add upper dependency + + -- Matthias Klose Sun, 18 Apr 2010 20:52:41 +0200 + +binutils (2.20.51.20100418-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100418. + * debian/*.shlibs.in: Automate upstream version changes. + * Configure native build --with-sysroot=/. Closes: #556126. + * Move the ld.gold binary into the binutils package, just keep the + diversion (ld) in the binutils-gold package. + * Linker selection: ld is used by default, to use the gold linker, + pass -fuse-linker-plugin (no other side effects if -flto/-fwhopr + is not passed). To force ld.bfd or ld.gold, pass -B/usr/lib/compat-ld + for ld.bfd or /usr/lib/gold-ld for ld.gold. + * Apply proposed patch for ARM: Add option to disable merging of adjacent + exidx unwinder entries. + + [ Jonathan Nieder ] + * Clean up diversion handling in binutils-multiarch: + - remove diversion of libbfd.a and libopcodes.a. Closes: #545067. + - wait for the new version to be unpacked before removing old diversions + - avoid messages from re-adding diversions when upgrading from a version + that already has them + - remove diversions when downgrading to a version that does not have + them (for example, when recovering from an upgrade failure) + * Add diversion for ld.bfd in binutils-multiarch. + * Update comment in debian/rules to acknowledge that binutils-multiarch + includes a linker now. + * Add c++filt to binutils-multiarch. + * Remove elfedit from binutils-multiarch. + Its functionality does not depend on the list of supported targets. + * Fixup to version changes handling. + + -- Matthias Klose Sun, 18 Apr 2010 14:18:59 +0200 + +binutils (2.20.51.20100405-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100405. + * debian/*.shlibs: Update to the version from the trunk. + * Mangle the soname of the binutils libraries to be different than + the default name. Closes: #557620. + Packaged cross builds should do the same. + * Add diversion for elfedit in binutils-multiarch (Jonathan Nieder). + Closes: #576126. + * Convert to quilt (Sedat Dilek). + * Update to proposed patch to enable both gold and ld in a single toolchain. + The gold binary is now installed as `gold'. Keep the name `ld.gold'. + + -- Matthias Klose Mon, 05 Apr 2010 14:49:46 +0200 + +binutils (2.20.51.20100227-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100227. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Sat, 27 Feb 2010 08:55:05 +0100 + +binutils (2.20.51.20100222-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100222. + * debian/*.shlibs: Update to the version from the trunk. + * binutils-dev: Install plugin-api.h. + * Ignore testsuite regressions on armel. + + -- Matthias Klose Tue, 23 Feb 2010 02:27:28 +0100 + +binutils (2.20.51.20100216-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100216. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Tue, 16 Feb 2010 17:49:47 +0100 + +binutils (2.20.51.20100112-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100112. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Tue, 12 Jan 2010 09:06:51 +0100 + +binutils (2.20.51.20100109-2) experimental; urgency=low + + * Regenerate ld/configure (includes ld in the binutils package). + + -- Matthias Klose Mon, 11 Jan 2010 01:48:09 +0100 + +binutils (2.20.51.20100109-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100109. + - PR gold/10980: Support more options available by current GNU ld. + Closes: #555886. + - Fix PR gold/11072: Discard .gnu_debuglink sections, taken from the trunk. + Closes: #563366. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Sat, 09 Jan 2010 14:32:33 +0100 + +binutils (2.20.51.20100101-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20100101. + * debian/*.shlibs: Update to the version from the trunk. + * Remove patches available on the trunk. + + -- Matthias Klose Fri, 01 Jan 2010 18:49:42 +0100 + +binutils (2.20.1-11) unstable; urgency=medium + + * Fix PR gold/10893, IFUNC support for gold backported from the trunk + (Aurelian Jarno). Closes: #585051. + + -- Matthias Klose Mon, 14 Jun 2010 07:17:13 +0200 + +binutils (2.20.1-10) unstable; urgency=low + + * Drop build dependency on expect-tcl8.3. Closes: #472964. + + -- Matthias Klose Sun, 30 May 2010 12:23:46 +0200 + +binutils (2.20.1-9) unstable; urgency=high + + * [arm] branches to weak symbols, update patch from the trunk. + + -- Matthias Klose Thu, 06 May 2010 15:42:22 +0200 + +binutils (2.20.1-8) unstable; urgency=low + + * [arm] branches to weak symbols, patch taken from the trunk. + + -- Matthias Klose Thu, 29 Apr 2010 20:36:07 +0200 + +binutils (2.20.1-7) unstable; urgency=low + + * Apply proposed patch for ARM: Add option to disable merging of adjacent + exidx unwinder entries. Addresses PR libgcj/40860. + + -- Matthias Klose Tue, 20 Apr 2010 22:51:35 +0000 + +binutils (2.20.1-6) unstable; urgency=low + + * Move the ld.gold binary into the binutils package, just keep the + diversion (ld) in the binutils-gold package. + * Linker selection: ld is used by default, to use the gold linker, + pass -fuse-linker-plugin (no other side effects if -flto/-fwhopr + is not passed). To force ld.bfd or ld.gold, pass -B/usr/lib/compat-ld + for ld.bfd or /usr/lib/gold-ld for ld.gold. + * Disable building gold on arm. Use gold from the trunk, if needed. + * Backport fixups of Loongson2F from the trunk. + + -- Matthias Klose Sat, 17 Apr 2010 18:27:45 +0200 + +binutils (2.20.1-5) unstable; urgency=medium + + * Apply patch for PR gas/11456: Use memcpy to copy overlap memory. + + -- Matthias Klose Fri, 02 Apr 2010 01:36:07 +0200 + +binutils (2.20.1-4) unstable; urgency=low + + * Mangle the soname of the binutils libraries to be different than + the default name. Closes: #557620. + Packaged cross builds should do the same. + * Reduce ARM linking time (backport from the trunk). + * Apply fix for PR ld/11426, taken from the trunk. + + -- Matthias Klose Tue, 30 Mar 2010 22:32:12 +0200 + +binutils (2.20.1-3) unstable; urgency=low + + * binutils-gold: Install the gold binary as `gold' as well, as proposed + by a patch to enable both gold and ld in a single toolchain. + + -- Matthias Klose Sun, 21 Mar 2010 06:43:48 +0100 + +binutils (2.20.1-2) unstable; urgency=low + + * Fix version in debian/*shlibs to match the release version; + the 2.20.1 upstream release identifies as 2.20.1.20100303. + + -- Matthias Klose Mon, 08 Mar 2010 18:01:22 +0100 + +binutils (2.20.1-1) unstable; urgency=low + + * New upstream release. + * Don't set has_ifunc_symbols if the symbol comes from a shared library + (backport from the trunk). + * Don't include documentation files in the -cross packages. + Closes: #571522. LP: #514509. + * Fix typo in ld documentation. LP: #497923. + * Add readelf --unwind support for ARM. + + -- Matthias Klose Mon, 08 Mar 2010 04:47:46 +0100 + +binutils (2.20-6) unstable; urgency=low + + * Apply updates from the 2.20 branch up to 20100205 + - 135_arm_dis_thumb2.dpatch: Remove, applied upstream. + - 136_gold_gnu_debuglink.dpatch: Remove, applied upstream. + * armel: Fix ld-shared/shared.exp and ld-elfvsb/elfvsb.exp failures + (proposed patch, Matthew Gretton-Dann). Closes: #564685. LP: #446478. + * Fix PR other/42602: demangling a global constructors symbol. + Closes: #561150. + + -- Matthias Klose Fri, 05 Feb 2010 20:01:20 +0100 + +binutils (2.20-5) unstable; urgency=low + + * Apply updates from the 2.20 branch up to 20100109 + * Apply patches from the trunk: + - [arm] Prevent disassembler from aborting on an invalid Thumb2 instruction. + - Fix PR gold/11072: Discard .gnu_debuglink sections. Closes: #563366. + - Fix PR ld/11138: internal error when DSO is before object files. + Closes: #562822. + - Fix PR gold/11042: COPY relocs need for the dynamic object. + Closes: #559183. + - Fix PR gold/10916: Fix --exclude-libs with undefined symbol. + Closes: #555012. + - Fix PR gold/10979: gold linker crashes. Closes: #553916. + - Fix PR gas/10740: Intel syntax far jumps broken. Closes: #541535. + + -- Matthias Klose Sat, 09 Jan 2010 10:43:04 +0100 + +binutils (2.20-4) unstable; urgency=low + + * Fix binutils-gold update. Closes: #555734. + * Don't configure gold for spu on powerpc. + + -- Matthias Klose Wed, 11 Nov 2009 23:33:20 +0100 + +binutils (2.20-3) unstable; urgency=low + + * Apply updates from the 2.20 branch up to 20091108: + - Fix PR gold/10876 (closes: #553435), PR gold/10910, PR gold/10860, + PR gold/10880 (closes: #553512, #553436), PR gold/10887, + PR gold/10893, PR gold/10895 (thanks to Peter Fritzsche for tracking + the gold reports). + * Fix libiberty build failure on sh4 (Nobuhiro Iwamatsu). Closes: #550810. + * PR ld/10858: Fix pie on mips/mipsel. Closes: #526961. + * Ignore regressions on sparc; the proper fix is to fix the testcases + for v9. + * Remove the conflict between binutils-multiarch and binutils-gold. + Closes: #521106. + + -- Matthias Klose Tue, 10 Nov 2009 02:15:41 +0100 + +binutils (2.20-2) unstable; urgency=high + + * Apply updates from the 2.20 branch up to 20091028: + - Fix PR binutils/10802, PR binutils/10793, PR binutils/10792, + PR gas/10856. + - Remove local patches now in the branch. + * Ignore regressions on armel when building with gcc-4.4; the proper fix + is to build the testcases using -fno-section-anchors. + + -- Matthias Klose Thu, 29 Oct 2009 22:17:42 +0100 + +binutils (2.20-1) unstable; urgency=low + + * binutils 2.20 final release. + - Fix PR binutils/10785, memory corruptions. + - PR ld/10749, ia64 linker failure. + - PR gas/2117, ia64 assembler fix. + - gold updates. + * Configure with --enable-plugins. Closes: #550088. + * debian/test-suite-compare.py: Don't count untested test cases as + regressions. + * binutils-gold: Install /usr/lib/compat-ld/ld to point to the + old linker. To use the old linker when gold is installed, use + gcc -B/usr/lib/compat-ld/ (including the trailing slash). + + -- Matthias Klose Sat, 17 Oct 2009 12:22:30 +0200 + +binutils (2.19.91.20091006-1) unstable; urgency=low + + * Snapshot, taken from the 2.20 release branch 20091006. + - cfi_sections changes applied. + * debian/*.shlibs: Update to the version from the branch. + * binutils-gold: Build the testsuite as part of the check target + instead of the build target to avoid build failures when the + installed binutils soname is the same as the one which is built + (gas is segfaulting). Just a workaround, not a solution. + * Add 150_gold_copyrelocs.dpatch, add -z copyrelocs option for gold. + * binutils-source: Depend on texinfo, zlib1g-dev. + + -- Matthias Klose Tue, 06 Oct 2009 22:13:24 +0200 + +binutils (2.19.91.20091003-1) unstable; urgency=medium + + * Snapshot, taken from the 2.20 release branch 20091003. + - Fix PR ld/9863, regression in testsuite on armel. + - Fix regressions seen in the GCC/libjava testsuite. + * debian/*.shlibs: Update to the version from the branch. + * No need to build libiberty_pic.a twice. + + -- Matthias Klose Sat, 03 Oct 2009 14:59:14 +0200 + +binutils (2.19.91.20090927-1) unstable; urgency=low + + * Snapshot, taken from the 2.20 release branch 20090927. + * debian/*.shlibs: Update to the version from the branch. + * On mips/mipsel disabled -pie/--pie-executable. Still broken, + see #526961. Add an option --force-pie on mips/mipsel only + for testing purposes. + Change requested by debian-release (Andreas Barth). + + -- Matthias Klose Sun, 27 Sep 2009 11:56:06 +0200 + +binutils (2.19.91.20090923-1) unstable; urgency=medium + + * Snapshot, taken from the 2.20 release branch 20090923 (last upload + was taken from the trunk).. + * debian/*.shlibs: Update to the version from the branch. + + -- Matthias Klose Wed, 23 Sep 2009 09:50:04 +0200 + +binutils (2.19.91.20090922-1) unstable; urgency=low + + * Snapshot, taken from the 2.20 release branch 20090922. + * debian/*.shlibs: Update to the version from the branch. + + -- Matthias Klose Tue, 22 Sep 2009 19:36:50 +0200 + +binutils (2.19.91.20090910-1) unstable; urgency=low + + * Snapshot, taken from the 2.20 release branch 20090910, corresponding + to the 2.19.90 upstream snapshot. + * Fix Thumb-2 shared libraries (Daniel Jacobowitz), patch taken + from the trunk. + + -- Matthias Klose Thu, 10 Sep 2009 17:05:30 +0200 + +binutils (2.19.90.20090909-1) unstable; urgency=low + + * Snapshot, taken from the 2.20 release branch 20090909. + * debian/*.shlibs: Update to the version from the branch. + * Disable build failure for regressions on mips/mipsel. + + -- Matthias Klose Wed, 09 Sep 2009 09:50:36 +0200 + +binutils (2.19.51.20090827-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20090827. + - Fix PR ld/10518: In linker scripts override a "*" match by any other + wildcard match. Closes: #540751. + * debian/*.shlibs: Update to the version from the trunk. Closes: #540800. + * Add sysroot support for cross builds (Hector Oron). Closes: #522480. + * Update long description of binutils-doc. Closes: #428764. + * Tighten build dependency on autoconf. + * Fix some lintian warnings. + + -- Matthias Klose Thu, 27 Aug 2009 17:09:28 +0200 + +binutils (2.19.51.20090805-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20090805. + - Fix PR binutils/10364, strip not failing on unwritable files. + Closes: #276428. + - Fix PR binutils/10363, objdump -T crashing on corrupted file. + Closes: #487963. + * 129_cortex_a8.dpatch: Fix a couple of cortex-a8 erratum bugs. + + -- Matthias Klose Wed, 05 Aug 2009 10:24:40 +0200 + +binutils (2.19.51.20090723-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20090723. + * debian/*.shlibs: Update to the version from the trunk. + * Undo the reversion in the last upload, use the upstream fix instead. + + -- Matthias Klose Thu, 23 Jul 2009 09:39:50 +0200 + +binutils (2.19.51.20090722-2) unstable; urgency=low + + * Apply build-id patch to avoid memory corruption (taken from Fedora). + * Revert ld/ldlang.c rev 1.312. Closes: #537389. + + -- Matthias Klose Wed, 22 Jul 2009 19:19:30 +0200 + +binutils (2.19.51.20090722-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20090722. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Wed, 22 Jul 2009 16:51:11 +0200 + +binutils (2.19.51.20090714-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20090714. + * debian/*.shlibs: Update to the version from the trunk. + * Install a libiberty compiled with -fPIC as libiberty_pic.a. + Closes: #530888. + * Remove obsolete README.Debian. Closes: #324260. + * binutils-dev: Include demangle.h. Closes: #134985. + + -- Matthias Klose Tue, 14 Jul 2009 13:13:37 -0400 + +binutils (2.19.51.20090704-1) unstable; urgency=low + + * Snapshot, taken from the trunk 20090704. + - debian/patches/128_arm_eabi_auto_it.dpatch: Remove, applied upstream. + * debian/*.shlibs: Update to the version from the trunk. + * Bump standards version. + + -- Matthias Klose Sat, 04 Jul 2009 10:37:18 +0200 + +binutils (2.19.51.20090613-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20090613. + * debian/*.shlibs: Update to the version from the trunk. + * Build binutils-gold on armel. + * Apply proposed patch for new option for automatically generating IT blocks. + + -- Matthias Klose Sat, 13 Jun 2009 14:39:41 +0000 + +binutils (2.19.51.20090508-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20090508. + - Fix PR binutils/9743, relocation issues on arm. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Fri, 08 May 2009 11:08:14 +0200 + +binutils (2.19.51.20090419-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20090419. + * debian/*.shlibs: Update to the version from the trunk. + * debian/patches/013_bash_in_ld_testsuite.dpatch: Update. + + -- Matthias Klose Sun, 19 Apr 2009 22:12:19 +0200 + +binutils (2.19.51.20090315-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20090315. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Sun, 15 Mar 2009 11:38:58 +0100 + +binutils (2.19.1-1) unstable; urgency=low + + * Upload to unstable. + * binutils-source: Make .dpatch files executable. + + -- Matthias Klose Sun, 15 Feb 2009 22:46:34 +0100 + +binutils (2.19.1-1~exp1) experimental; urgency=low + + * Binutils 2.19.1 release. + * debian/*.shlibs: Update to the release version. + + -- Matthias Klose Wed, 04 Feb 2009 09:57:55 +0100 + +binutils (2.19.0.20090110-1~exp1) experimental; urgency=low + + * Update to the binutils-2_19-branch 20090110. + - Fix PR binutils/7011. LP: #254790. + * debian/*.shlibs: Update to the version from the branch. + + -- Matthias Klose Sat, 10 Jan 2009 13:56:09 +0100 + +binutils (2.19-1~exp2) experimental; urgency=low + + * debian/patches/129_scale-DW_CFA_advance_loc.dpatch: Scale + DW_CFA_advance_loc[124] output values. + * debian/patches/128_arm_relocs_against_weak.dpatch: Fix R_ARM_THM_CALL + relocations against undefined weak symbols in shared libraries. + + -- Matthias Klose Sun, 30 Nov 2008 13:22:11 +0100 + +binutils (2.19-1~exp1) experimental; urgency=low + + * Binutils 2.19 release. + * debian/*.shlibs: Update to the release version. + * Build binutils-gold on powerpc. + * debian/control: Update to GPL3, reference the GFDL. + * Fail the build if the testsuite shows regressions compared to the + last (installed) build. + * Make lintian more happy. + + -- Matthias Klose Sun, 26 Oct 2008 13:06:27 +0200 + +binutils (2.18.93.20081009-1) experimental; urgency=low + + * Snapshot, taken from the 2.19 branch 20081009 (corresponding to the + 2.18.93 upstream snapshot. + * debian/*.shlibs: Update to the version from the branch. + * Add build dependency on zlib1g-dev. + * In gprof(1), remove references to monitor(3) and profil(2). + Closes: #293948. + + -- Matthias Klose Sat, 11 Oct 2008 16:45:35 +0000 + +binutils (2.18.92.20081003-1) experimental; urgency=low + + * Snapshot, taken from the 2.19 branch 20081003. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Fri, 03 Oct 2008 11:29:16 +0000 + +binutils (2.18.90.20080910-1) experimental; urgency=low + + * Snapshot, taken from the 2.19 branch 20080910. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Fri, 12 Sep 2008 19:23:07 +0200 + +binutils (2.18.50.20080803-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20080803. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Mon, 04 Aug 2008 00:53:47 +0200 + +binutils (2.18.50.20080707-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20080707. + * debian/*.shlibs: Update to the version from the trunk. + * include/safe-ctype.h: Add #include of ctype.h before redefining + the ctype.h macros (proposed for the trunk). + * Add Daniel Jacobowitz as uploader. + + -- Matthias Klose Mon, 07 Jul 2008 01:08:13 +0200 + +binutils (2.18.50.20080610-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20080610. + * debian/*.shlibs: Update to the version from the trunk. + + -- Matthias Klose Tue, 10 Jun 2008 16:21:02 +0200 + +binutils (2.18.50.20080530-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20080530. + * Switch maintainer and uploader. + * debian/rules: Explicitely set SHELL to /bin/bash, build-depend on bash. + * debian/rules: Fix setting of TARGET for cross builds. + + -- Matthias Klose Fri, 30 May 2008 23:49:40 +0200 + +binutils (2.18.50.20080507-1) experimental; urgency=low + + * Snapshot, taken from the trunk 20080507. + * Remove patches applied upstream: 304_pr4476.dpatch, 305_arm-dis.dpatch, + 306_pr4453.dpatch, 307_ld-pic.dpatch, 308_mips-pic.dpatch. + * debian/patches/013_bash_in_ld_testsuite.dpatch: Use bash in the ld + testsuite (some tests have bashisms). + * debian/*.shlibs: Update to the version from the trunk. + * On amd64, i386 and sparc, build a binutils-gold package, + diverting /usr/bin/ld. + * Use expect instead of expect-tcl8.3 on all architectures except hppa. + * Remove binutils and gcc build dependencies (versions are in oldstable). + + -- Matthias Klose Thu, 08 May 2008 00:56:30 +0200 + +binutils (2.18.1~cvs20080103-4) unstable; urgency=medium + + * debian/rules: Remove libiberty in /usr/lib64; workaround for + `gcc -print-multi-os-directory' printing the symlink. + Closes: #473665, #473591. + * Don't include development files in binutils-spu. + * Fix binutils-spu build on ppc64 (Andreas Jochens). Closes: #474116. + * Build libiberty with -fPIC on mips/mipsel (Aurelian Jarno). + + -- Matthias Klose Sat, 05 Apr 2008 11:21:08 +0200 + +binutils (2.18.1~cvs20080103-3) unstable; urgency=low + + [ Arthur Loiret ] + * Build a binutils for spu-elf target on powerpc and ppc64. + - debian/control: Add a binutils-spu package. + - debian/binutils-spu.{postinst,postrm,shlibs}: Add. + * Add sh64-linux-gnu to multiarch targets. + * Fix cross-compilation support. + * Make lintian happier: + - Use ${source:Version}, ${binary:Version} variables. + - Remove -1 from Build-Depends revisions. + - Bump Standards-Version to 3.7.3. + + [ Matthias Klose ] + * Keep the spu elfscripts in bintutils, remove them from binutils-spu. + * debian/patches/307_ld-pic.dpatch: Fix failing ld-shared tests when built + with gcc-4.3. + + -- Matthias Klose Sat, 29 Mar 2008 20:32:35 +0100 + +binutils (2.18.1~cvs20080103-2) unstable; urgency=low + + * debian/patches/306_pr4453.dpatch: Fix PR binutils/4453, taken from + the trunk (Aurelian Jarno). Closes: #363423. + + -- Matthias Klose Fri, 21 Mar 2008 20:49:17 +0100 + +binutils (2.18.1~cvs20080103-1) unstable; urgency=low + + * Update to 20080103 from the binutils-2_18-branch. + - Set version number to 2.18.0 (smaller than the one from the trunk). + - Fix PR ld/5398. Closes: #452725. + * debian/*.shlibs: Update to version from the branch. + * debian/patches/305_arm-dis.dpatch: Fix segfault when disassembling ARM + code. Closes: #438956. + * Support kfreebsd-amd64-gnu and i486-kfreebsd-gnu (Aurilian Jarno): + - debian/patches/127_x86_64_i386_biarch.dpatch: Extend for kfreebsd. + - debian/rules: biarch enabled binutils for kfreebsd-{amd64,i486}-gnu, + kfreebsd-{amd64,i486}-gnu support for cross-builds, + kfreebsd-{amd64,i486}-gnu enabled for binutils-multiarch. + - Closes: #380373. + + -- Matthias Klose Thu, 03 Jan 2008 21:57:51 +0100 + +binutils (2.18.1~cvs20071027-2) unstable; urgency=low + + * Do not include static libraries in the multiarch package. + * Don't include /usr/lib64 in cross packages. Closes: #450429. + + -- Matthias Klose Sat, 24 Nov 2007 12:13:22 +0100 + +binutils (2.18.1~cvs20071027-1) unstable; urgency=low + + * Update to 20071027 from the binutils-2_18-branch. + - Fix PR ld/4988, assertion failures in ld. Closes: #440015. + * debian/*.shlibs: Update to version from the branch. + + -- Matthias Klose Sat, 27 Oct 2007 17:55:41 +0200 + +binutils (2.18-1) unstable; urgency=low + + [ Matthias Klose ] + * New upstream release. + - Remove patches applied upstream: 100_warning_arm, 400_gcc42_fix, + 401_builddoc. + * debian/*.shlibs: Update to release version. + + -- Matthias Klose Wed, 29 Aug 2007 01:07:31 +0200 + +binutils (2.18~cvs20070812-1) unstable; urgency=low + + [ Matthias Klose ] + * New upstream CVS snapshot, taken from the binutils-2_18-branch. + * debian/rules: Support parallel= with comma separated keywords + in DEB_BUILD_OPTIONS. + * debian/rules (clean): Remove stamp files. + * debian/*.shlibs: Update to snapshot version. + * debian/patches/401_builddoc.dpatch: Fix doc build failure on the branch. + + -- Matthias Klose Sun, 12 Aug 2007 10:56:18 +0200 + +binutils (2.17cvs20070804-1) unstable; urgency=low + + [ Matthias Klose ] + * New upstream CVS snapshot. + - PR binutils/4888, fixes objcopy --only-keep-debug. Closes: #435444. + * debian/rules: Support parallel= in DEB_BUILD_OPTIONS (see #209008). + * debian/*.shlibs: Update to snapshot version. + + -- Matthias Klose Sat, 04 Aug 2007 12:45:07 +0200 + +binutils (2.17cvs20070801-1) unstable; urgency=medium + + [ Matthias Klose ] + * New upstream CVS snapshot. + - Fixes objcopy --only-keep-debug on amd64. Closes: #435444. + * binutils-multiarch: Enable the armel-linux-gnu target. Closes: #408805. + + -- Matthias Klose Wed, 01 Aug 2007 18:24:51 +0200 + +binutils (2.17cvs20070718-1) unstable; urgency=low + + [ Matthias Klose ] + * New upstream CVS snapshot. + - Fix build failure on m68k. + * debian/patches/400_gcc42_fix.dpatch: Fix build failure with gcc-4.2. + Closes: #433062. + * Fix cross build failure while stripping binaries. Closes: #432907. + + -- Matthias Klose Wed, 18 Jul 2007 20:25:03 +0200 + +binutils (2.17cvs20070713-1) unstable; urgency=low + + [ Matthias Klose ] + * New upstream CVS snapshot. + - Remove patches applied upstream: 301_pr4436.dpatch, 302_pr4448.dpatch, + 303_pr4454.dpatch, 305_pr4497.dpatch, 306_ld_demangler_segfault.dpatch, + 307_pr4558.dpatch. + - Fix build failure with gcc-4.2. Closes: #429738. + - Fix kernel build with grsecurity patch. Closes: #430041. + * debian/copyright: Include GPL-3. + * debian/rules: Fix version extraction. + * debian/rules: Honor `noopt' in DEB_BUILD_OPTIONS. + + -- Matthias Klose Fri, 13 Jul 2007 14:45:21 +0200 + +binutils (2.17cvs20070426-8) unstable; urgency=low + + * Fix PR gas/4558. + * debian/rules: Add empty NJOBS macro. + + -- Matthias Klose Mon, 28 May 2007 09:06:35 +0000 + +binutils (2.17cvs20070426-7) unstable; urgency=low + + * 306_ld_demangler_segfault.dpatch: new CVS patch from Alan Modra to fix + segfaults in ld seen when building, e.g. openipmi. + + * debian/copyright: update source location and copyright years. + * debian/rules: idem. + + -- James Troup Wed, 23 May 2007 02:19:09 +0100 + +binutils (2.17cvs20070426-6) unstable; urgency=low + + * Fix PR ld/4497, regression introduced with the fix for PR ld/4454. + Closes: #423496. + * Fix binutils/4476, readelf support for --hash-style=gnu. Closes: #421790. + + -- Matthias Klose Mon, 14 May 2007 10:51:40 +0200 + +binutils (2.17cvs20070426-5) unstable; urgency=low + + * Fix PR ld/4454. + + -- Matthias Klose Sun, 06 May 2007 09:50:29 +0200 + +binutils (2.17cvs20070426-4) unstable; urgency=low + + * Fix PR gas/4448, overstrict check for powerpc lswi. Closes: #421799. + + -- Matthias Klose Wed, 2 May 2007 18:26:03 +0200 + +binutils (2.17cvs20070426-3) unstable; urgency=low + + * Update debian/*.shlibs files. Closes: #421454. + * Fix PR gas/4436, wrong reject in powerpc opcode table checks. + Closes: #421455. + * Fix build failure on arm (Aurelian Jarno). Closes: #421365. + * Compare testsuite results of the installed binutils with the built one. + + -- Matthias Klose Mon, 30 Apr 2007 07:47:09 +0200 + +binutils (2.17cvs20070426-2) unstable; urgency=low + + * Fix typo preparing the binutils-hppa64 package. + + -- Matthias Klose Fri, 27 Apr 2007 08:06:49 +0200 + +binutils (2.17cvs20070426-1) unstable; urgency=low + + [ James Troup ] + * New upstream CVS snapshot. + * debian/test-suite-compare.py: simplistic comparator for binutils test + suite runs. + + [ Matthias Klose ] + * Merge changes from the experimental uploads: + * debian/patches/121_i386_x86_64_biarch.dpatch: Remove, applied upstream. + * Build a binutils-source package (containing the patched sources). + * Check for a working expect before building the package. + * Configure the multiarch build for x86_64-linux-gnu instead of + x86_64-linux. + * debian/rules: Don't strip binaries if nostrip is in DEB_BUILD_OPTIONS. + * debian/rules: Don't try to strip shell scripts. + * Configure --with-pkgversion to include the distribution name. + * debian/patches/000_print_debian_version.dpatch: Remove. + * debian/control: Build-depend on lsb-release. + * Enable spu target in powerpc and binutils-multiarch build. + * Don't include embedspu in binutils-multiarch on powerpc. + * debian/control: Set priority for source package to optional. + + -- James Troup Fri, 27 Apr 2007 01:29:57 +0100 + +binutils (2.17-3) unstable; urgency=low + + * debian/rules (configure-multi-stamp): drop i486-kfreebsd-gnu again as + it breaks objdump for i386 on amd64. Closes: #380539 + + -- James Troup Tue, 3 Oct 2006 00:53:17 +0100 + +binutils (2.17-2) unstable; urgency=low + + * The "Laisse le Wookie gagner" release. + + * 127_x86_64_i386_biarch.dpatch: new patch from Aurelien Jarno + to add (/usr)/lib32 to the search paths on + amd64. Closes: #369052 + + * debian/rules (configure-multi-stamp): add i486-kfreebsd-gnu at request + of Aurelien Jarno. Closes: #315306 + + -- James Troup Wed, 26 Jul 2006 20:33:13 +0100 + +binutils (2.17-1) unstable; urgency=low + + * New upstream release. + * 120_mips_xgot_multigot_workaround.dpatch: removed - superseded by a + proper fix upstream. Closes: #274738 + * debian/binutils.shlibs, debian/binutils-multiarch.shlibs, + debian/binutils-hppa64.shlibs: updated SONAME to 2.17. + + -- James Troup Mon, 26 Jun 2006 13:17:36 +0100 + +binutils (2.16.1cvs20060507-1) unstable; urgency=low + + * New upstream CVS snapshot of 'binutils-2_17-branch'. + + * debian/control (Standards-Version): bump to 3.7.2.0. + + -- James Troup Sun, 7 May 2006 19:57:08 +0100 + +binutils (2.16.1cvs20060413-1) unstable; urgency=low + + * New upstream CVS snapshot. + * 120_mips_xgot_multigot_workaround.dpatch: updated to work with CVS + r1.163 of bfd/elfxx-mips.c, pass 'info' instead of 'output_bfd' to + MIPS_ELF_GOT_MAX_SIZE(). + + * Patch from NIIBE Yutaka in #280884: + * debian/rules (configure-multi-stamp): Support m32r-linux. Closes: + #340264 + * debian/rules: Run 'make check' only if build == host. + + * debian/rules: Also don't run 'make check' if nocheck is in + DEB_BUILD_OPTIONS. Based on a patch from Michael Banck + . Closes: #315290 + + * Integrate most of a patch to build arbitrary binutils-$TARGET + cross-packages from #231707. Thanks to Nikita V. Youshchenko + and Josh Triplett . + + * debian/copyright: update to include GFDL. Closes: #81950 + * debian/copyright: update FSF address. + + * debian/rules: move non-architecture specific conflicts (gas, + elf-binutils, modutils (<< 2.4.19-1)) out of a substitued variable and + into the control file. Rename variable to extraConflicts. + * debian/control: likewise. + + -- James Troup Sat, 15 Apr 2006 03:05:41 +0100 + +binutils (2.16.1cvs20060117-1) unstable; urgency=low + + * New upstream CVS snapshot. + + * 118_arm_pass_all.dpatch, 125_fix_tc_arm_cast.dpatch: merged upstream - + removed. + + -- James Troup Wed, 18 Jan 2006 02:25:25 +0000 + +binutils (2.16.1cvs20051214-1) unstable; urgency=low + + * New upstream CVS snapshot. + * Fix ld segfaults on ia64. Closes: #342777 + + * 126_fix_PROVIDE_HIDDEN.dpatch: merged upstream - removed. + + -- James Troup Wed, 14 Dec 2005 08:06:37 +0000 + +binutils (2.16.1cvs20051206-1) unstable; urgency=low + + * New upstream CVS snapshot. + * Fixes linking of qemu. Closes: #340328 + + * 126_fix_PROVIDE_HIDDEN.dpatch: new patch from Thiemo Seufer to fix + handling of hidden symbols which were provided by a linker + script. Closes: #342307 + + * debian/control (Standards-Version): updated to 3.6.2.1. + + -- James Troup Sat, 10 Dec 2005 05:23:34 +0000 + +binutils (2.16.1cvs20051117-1) unstable; urgency=low + + * New upstream CVS snapshot. + * Fixes c++filt's flushing of stdout which broke gcj. Closes: #339287 + + * debian/control (Build-Depends): switch from expect to expect-tcl8.3 + since tcl8.4's broken threading causes the testsuite to fail entirely + on hppa. Closes: #339509 + + -- James Troup Thu, 17 Nov 2005 13:15:15 +0000 + +binutils (2.16.1cvs20051109-1) unstable; urgency=low + + * New upstream CVS snapshot. + * Fixes broken PLT handling on m68k. Closes: #327780 + * Don't compile flex files with -Werror, fixing mips builds. + Closes: #333980 + * Don't check undefined symbols introduced by "ld -u" for TLS. Closes: + #326103 + + * 117_mips_symbolic_link.dpatch: merged upstream - removed. + + * debian/rules: pass --disable-werror on ia64 as current gcc generates + too many false positives. Closes: #336939 + + * 125_fix_tc_arm_cast.dpatch: new patch from Lennert Buytenhek to fix + cast warning and arm builds. Closes: #336175 + + * 121_i386_x86_64_biarch.dpatch: imported from Ubuntu at request of + Daniel Jacobwitz to fix biarch linking on i386/amd64. Closes: + #334626, #334673 + + * debian/rules: remove any reference to pkgstriptranslations - an + Ubuntu-ism that shouldn't have been in the Debian package in the first + place but that isn't needed in Ubuntu any more in any event. + + * debian/rules: MAKEOVERRIDES is now clobbered by the top level + Makefile, so switch to overriding MAKE itself (sic) to pass the + customized VERSION variable/string down to sub-directories for + -multiarch and -hppa64 builds. Thanks to Daniel Silverstone for the + suggestion. + + -- James Troup Fri, 11 Nov 2005 20:38:22 +0000 + +binutils (2.16.1cvs20050902-1) unstable; urgency=low + + * New upstream CVS snapshot. + * Fixes --as-needed on sparc and hppa. Closes: #320697 + * Fixes buffer overflows and other crashes. Closes: #311975 + + * 124_readelf_robustify.dpatch: merged upstream - removed. + * 001_ld_makefile_patch: regenerated with help of wiggle. + + * debian/*.shlibs: update to version 2.16.91. + + * debian/copyright: use canonical GNU URL. Update copyright years. + * debian/rules: update version and copyright. + + * debian/rules (pre-build): not relevant with a CVS snapshot which + doesn't have pre-generated info files - removed. + * debian/rules (clean): don't save info files for the same reason, in + fact explicitly remove them. + * debian/rules (build_stamps): drop pre-build. + + -- James Troup Sat, 3 Sep 2005 00:30:56 +0100 + +binutils (2.16.1-3) unstable; urgency=low + + * debian/rules: remove powerpc libc header hack. + * debian/include/sys/procfs.h: remove. + + * 124_readelf_robustify.dpatch: new patch from Jakub Jelinek to + robustify readelf. Thanks to Thiemo Seufer . + Closes: #318344 + + -- James Troup Wed, 31 Aug 2005 05:03:11 +0100 + +binutils (2.16.1-2) unstable; urgency=low + + * debian/include/sys/procfs.h: Include fixed powerpc libc header, to fix + FTBFS on powerpc. Temporary fix, to be removed with glibc-2.3.5. + + -- Matthias Klose Sun, 10 Jul 2005 16:35:17 +0200 + +binutils (2.16.1-1) unstable; urgency=medium + + * New upstream version. + * debian/patches/117_mips_symbolic_link.dpatch: Updated, apply it again. + (Thiemo Seufer). + * debian/patches/130_bfd_doc_makefile.dpatch: Remove, applied upstream. + * debian/control: Build depend on dpkg-dev (>= 1.13.9), needed to determine + the GNU architecture type. + * The symlinks for the tools change to the the new output of + dpkg-architecture -qDEB_HOST_GNU_TYPE (i.e. i386-linux-ld becomes + i486-linux-gnu-ld). + * Change the values for --enable-targets according to the dpkg-architecture + update. + * Configure the hppa64 cross compiler for hppa64-linux-gnu. Adjust + the hppa64 install target. + * debian/*shlibs: Update to version 2.16.1. + * Make restoring of saved pregenerated info files more robust. + + -- Matthias Klose Sat, 9 Jul 2005 14:58:49 +0200 + +binutils (2.16-1) unstable; urgency=low + + * Update to CVS 2.16 branch 20050612. + * debian/patches/130_bfd_doc_makefile.dpatch: New patch to fix + build failure in bfd/doc. + * debian/watch: New file. + + -- Matthias Klose Sun, 12 Jun 2005 12:29:12 +0200 + +binutils (2.16-0) experimental; urgency=low + + * New upstream release. + - Fixes build failure using gcc-4.0 (closes: #299671). + * debian/patches: + - 000_print_debian_version.dpatch: Updated. + - 001_ld_makefile_patch.dpatch, 002_gprof_profile_arcs.dpatch, + 002_gprof_profile_arcs.dpatch: Regenerated. + - 012_check_ldrunpath_length.dpatch: Updated. + - 112_fix_reloc_sizing.dpatch, 113_elf_backend_hide_symbol.dpatch, + 114_mips_delay_slots_in_branch.dpatch, 115_fix_sparc_fmov.dpatch, + 116_ar_nonexistent_files.dpatch: Removed, applied upstream. + - 117_mips_symbolic_link.dpatch: Disabled. Needs an update. + - 118_arm_pass_all.dpatch: Regenerated. + - 119_fix_gas_double_negative.dpatch: Removed, applied upstream. + - 120_mips_xgot_multigot_workaround.dpatch: Updated. + - 121_ia64_unwind_fixes.dpatch, 122_m68k_undefweak_symbols.dpatch: + Removed, applied upstream. + * Merge Ubuntu changes: + - debian/patches: + - 123_dont_add_to_undefs_twice.dpatch: Removed, applied upstream. + - debian/rules: Call pkgstriptranslations if present. + * debian/rules: + - Fix VERSION extraction. + - Save info files before build and restore them in clean target. + * debian/control: + - Add me as an uploader. + + -- Matthias Klose Fri, 6 May 2005 18:43:09 +0200 + +binutils (2.15-6) unstable; urgency=low + + * 123_bfd_overflow_fix.dpatch: new patch from Alan Modra to fix BFD + overflows. Closes: #308625 + + -- James Troup Sat, 21 May 2005 20:20:01 +0100 + +binutils (2.15-5ubuntu2) hoary; urgency=low + + * debian/rules: Call pkgstriptranslations if present (the package does not + use debhelper, thus it does not happen automatically). + + -- Martin Pitt Fri, 18 Mar 2005 13:07:52 +0000 + +binutils (2.15-5ubuntu1) hoary; urgency=low + + * 123_dont_add_to_undefs_twice.dpatch: new patch from Alan Modra (PR338) to + not add symbols to the undefined list twice, causing an assertion failure + in ld when building the kernel on amd64. + + -- Daniel Stone Tue, 7 Dec 2004 09:29:31 +0100 + +binutils (2.15-5) unstable; urgency=low + + * 121_ia64_unwind_fixes.dpatch: new patch from David Mosberger to fix + unwind related bugs. Closes: #278836 + * 122_m68k_undefweak_symbols: new patch from Andreas Schwab to fix undef + weak symbols with non-default visibilty on m68k. Closes: #278388 + + -- James Troup Thu, 25 Nov 2004 00:13:28 +0000 + +binutils (2.15-4) unstable; urgency=low + + * 120_mips_xgot_multigot_workaround.dpatch: new patch from Thiemo Seufer + to make multigot/xgot handling exclusive and fix mozilla builds on + mipsen. Closes: #272149 + + -- James Troup Thu, 23 Sep 2004 22:44:03 +0100 + +binutils (2.15-3) unstable; urgency=low + + * 112_fix_reloc_sizing.dpatch: update patch based on revised change from + Alan Modra. + + * 116_ar_nonexistent_files.dpatch: new patch from Nick Clifton to fix + ar's handling of non-existent files. Closes: #267139 + + * 117_mips_symbolic_link.dpatch: new patch from Thiemo Seufer to fix the + "final link failed: Bad value" error on mips. Closes: #270619 + + * 118_arm_pass_all.dpatch: new kludge patch to fix broken libtool pass_all + handling on arm and other arches. + + * 119_fix_gas_double_negative.dpatch: new patch from Alan Modra via + Daniel Jacobowitz to fix gas' handling of -- and ++. Closes: #266772 + + -- James Troup Thu, 9 Sep 2004 22:24:08 +0100 + +binutils (2.15-2) unstable; urgency=low + + * 112_fix_reloc_sizing.dpatch: new patch from Daniel Jacobowitz to fix + objcopy relocation sections. Closes: #252719 + + * 113_elf_backend_hide_symbol.dpatch: new patch from Alan Modra to fix + ld internal error on hppa. Closes: #254549 + + * 114_mips_delay_slots_in_branch.dpatch: new patch from Thiemo Seufer to + handle delay slots in branch correctly on mips. Closes: #266660 + + * 115_fix_sparc_fmov.dpatch: new patch from Jakub Jelinek via Dave + Miller to fix bogus fmov* SPARC opcodes. Closes: #267824 + + -- James Troup Tue, 31 Aug 2004 22:45:13 +0100 + +binutils (2.15-1) unstable; urgency=low + + * New upstream release. Closes: #248990, #259458 + * Fixes -Wl,-z,defs to correctly abort builds with unresolved + symbols. Closes: #256481 + * Better error message for truncation of bignums in as. + Closes: #219933 + * strip(1) no longer corrupts binaries for architectures it doesn't + recognise. Closes: #211052 + * nm -C /usr/lib/libcrypto++.a no longer segfaults. Closes: #247917 + + * 105_alpha_rpcc_opcode_fix.dpatch, 106_arm_pic.dpatch, + 107_powerpc_ld_segfault.dpatch, 108_m68k_fmoveml_fix.dpatch, + 109_objcopy_keep_debug.dpatch, 110_hppa64_local_symbols.dpatch, + 111_objcopy_vs_unstripped.dpatch, 906_hjl_libtool_dso.dpatch: merged + upstream - removed. + * 012_check_ldrunpath_length.dpatch: resynced with wiggle(1). + + * debian/binutils.shlibs, debian/binutils-hppa64.shlibs, + debian/binutils-multiarch.shlibs: update for 2.15. + + * debian/rules (install): remove gas.info hack as no longer needed + (fixed properly upstream). + * debian/rules (clean): remove gas/doc/as.info which doesn't seem to be + in the upstream tar ball. + + * debian/rules (binary-arch): install $pkg/ChangeLog.linux only if they + exist (because they don't in GNU releases). + + -- James Troup Thu, 29 Jul 2004 22:44:04 +0100 + +binutils (2.14.90.0.7-8) unstable; urgency=low + + * debian/rules: don't use gcc-2.95 on m68k. Thanks to Adam Conrad for + pointing this out. + + -- James Troup Wed, 19 May 2004 10:35:44 +0100 + +binutils (2.14.90.0.7-7) unstable; urgency=low + + * 111_objcopy_vs_unstripped.dpatch: new patch from Alan Modra via Daniel + Jacobowitz to fix objcopy on unstripped libraries on alpha and arm. + Closes: #234021 + + * debian/control (Build-Depends): remove m68k specific build-depends on + gcc-2.95 and libc6-dev (<< 2.3). Many thanks to Michael Schmitz for + testing this. + + -- James Troup Tue, 30 Mar 2004 18:00:54 +0100 + +binutils (2.14.90.0.7-6) unstable; urgency=low + + * 110_hppa64_local_symbols.dpatch: new patch from Randolph Chung to fix + dynamic name generation of local symbols on hppa64 - needed to build + 64-bit hppa kernels. Closes: #238176 + + -- James Troup Fri, 26 Mar 2004 15:52:27 +0000 + +binutils (2.14.90.0.7-5) unstable; urgency=low + + * 109_objcopy_keep_debug.dpatch: new patch from Daniel Jacobowitz + , objcopy --only-keep-debug and readelf SHT_NOBITS + fixes. + + -- James Troup Mon, 26 Jan 2004 16:25:25 +0000 + +binutils (2.14.90.0.7-4) unstable; urgency=low + + * debian/control: add binutils-hppa64 package. + * debian/rules: add support for binutils-hppa64 package and don't enable + hppa64-linux for binutils or binutils-multiarch. + * debian/binutils-hppa64.postinst: new file. + * debian/binutils-hppa64.postrm: likewise. + * debian/binutils-hppa64.shlibs: likewise. + * Above changes largely based on a patch from Matthias Klose + . Closes: #225892 + + * debian/control (Build-Depends): drop bzip2. + + * debian/rules (install-stamp): remove empty /usr/include directory in + binutils. + * debian/rules (install-stamp): remove /usr/share/info/dir* to + workaround install-info brain damage (cf #213524). + + -- James Troup Thu, 22 Jan 2004 21:32:44 +0000 + +binutils (2.14.90.0.7-3) unstable; urgency=low + + * 108_m68k_fmoveml_fix.dpatch: new patch from H.J. Lu + to fix fmoveml disassembly and associated + testsuite regression on m68k. + + -- James Troup Tue, 18 Nov 2003 14:35:23 +0000 + +binutils (2.14.90.0.7-2) unstable; urgency=low + + * 107_powerpc_ld_segfault.dpatch: new patch from Alan Modra + to fix ld segfault on powerpc. Thanks to + Josselin Mouette for the report. Closes: #219187 + + -- James Troup Wed, 5 Nov 2003 13:32:17 +0000 + +binutils (2.14.90.0.7-1) unstable; urgency=low + + * New upstream release. + * 100_null_owner_ld_fix.dpatch, 101_ppc_as_shf_and_rel_fix.dpatch, + 102_alpha_null_got_ld_fix.dpatch, + 103_static_linking_elf_eh_frame.dpatch, + 104_elf_eh_frame_alpha_fix.dpatch: removed; merged upstream. + * debian/rules: update version number. + * debian/binutils.shlibs: likewise. + * debian/binutils-multiarch.shlibs: likewise. + + * 009_signed_char_fix.dpatch: removed; this was fixed upstream correctly + (http://sources.redhat.com/ml/binutils/2003-05/msg00304.html) and this + patch is breaking that fix. Thanks to Daniel Jacobowitz + . + + * 003_gmon_manpage_fix.dpatch -> 002_gprof_profile_arcs.dpatch. + * 014_gprof_manpage_fix.dpatch -> 003_gprof_see_also_monitor.dpatch. + + * 300_alpha_rpcc_opcode_fix.dpatch -> 105_alpha_rpcc_opcode_fix.dpatch + (committed to trunk). + + * debian/rules (configure-multi-stamp): also enable mips64{el,}-linux + for binutils-multiarch. Alphabetize target list. + + * 106_arm_pic: new patch from Phil Blundell and Daniel + Jacobowitz which implements GC for GOT and PLT relocs + in the elf32-arm backend. + + * debian/rules (install-stamp): work around upstream bug which causes + as.info and as.1 to disappear by explicitly calling "make + install-info-am install-am" in builddir-single/gas/doc. + + -- James Troup Sat, 1 Nov 2003 18:14:04 +0000 + +binutils (2.14.90.0.6-5) unstable; urgency=low + + * 104_elf_eh_frame_alpha_fix.dpatch: new patch from H.J. Lu + to fix regressions on alpha caused by + 103_static_linking_elf_eh_frame. Thanks to Thimo Neubauer + for the original report. Closes: #215636 + + -- James Troup Fri, 17 Oct 2003 00:02:09 +0100 + +binutils (2.14.90.0.6-4) unstable; urgency=low + + * 103_static_linking_elf_eh_frame.dpatch: new patch from H.J. Lu + to fix static linking of C++ binaries. + + * 200_alpha_null_got_ld_fix.dpatch: renamed... + * 102_alpha_null_got_ld_fix.dpatch: to this. + + * debian/rules: patch from Guido Guenther to enable + mips64 support. Closes: #213448 + + -- James Troup Sun, 12 Oct 2003 14:26:26 +0100 + +binutils (2.14.90.0.6-3) unstable; urgency=low + + * 100_null_owner_ld_fix.dpatch: new patch from Alan Modra + to fix an ld crash with null owner sections. + Closes: #212029 + + * debian/rules: don't compile with gcc-2.95 on arm; the only failures + are a) testsuite-only (i.e. don't appear to affect real world + applications) and b) fixed by upcoming gcc patches by Phil Blundell + in any event. + * debian/control (Build-Depends): likewise don't build-depend on + gcc-2.95 for arm. + + * 101_ppc_as_shf_and_rel_fix.dpatch: new patch from Alan Modra + to fix an as regression where it refused to + compile utils.S from Linux/PPC 2.6. Closes: #211668 + + -- James Troup Tue, 23 Sep 2003 01:32:08 +0100 + +binutils (2.14.90.0.6-2) unstable; urgency=low + + * debian/rules (CONFLICTS): remove spurious "--", left over from + debhelper based-rules. Fixes build failure on sparc. + + * 200_alpha_null_got_ld_fix.dpatch: new patch from Daniel Jacobowitz + to fix an ld crash on alpha with null .got sections. + Closes: #204615 + + * scripts/dpkg-arch.mk: remove. + * debian/rules: define DEB_BUILD_GNU_TYPE, DEB_HOST_ARCH and + DEB_HOST_GNU_TYPE here instead. + + * debian/rules (binary-indep): use ':' as a separator to chown, rather + than '.' which is a legal character for a username. + * debian/rules (binary-arch): likewise. + + * debian/rules: further trivial cleanups. + + -- James Troup Thu, 18 Sep 2003 22:13:36 +0100 + +binutils (2.14.90.0.6-1) unstable; urgency=low + + * New "upstream" release. + * Fixes core dump of nm -C on certain object files. Closes: #205616 + + * New maintainer. + * debian/control (Maintainer): adjust accordingly. + * debian/copyright: likewise. Update copyright years, URL. + * debian/control (Standards-Version): bump to 3.6.1.0. + + * 011_disable_combreloc_ARM_ONLY.diff: dropped on request of Phil + Blundell - this is obsolete, it was working around a + bug in ld since fixed by Daniel Jacobowitz upstream. + + * 890-elf64_alpha_segfault.diff: dropped as bogus + (http://sources.redhat.com/ml/binutils/2003-04/msg00399.html); rth's + correct fix is already in the upstream source. + + * debian/README.Debian: migrate nearly-obsolete debconf notes to here. + * debian/control (Depends): drop debconf. + * binutils.config, binutils.templates, binutils.templates.ca, + binutils.templates.fr, binutils.templates.ja, + binutils.templates.pt_BR, postrm.debhelper: obsolete, removed. + Closes: #189641, #198222 + + * Migrated from dbs... + * debian/README.build: obsolete; removed. + * debian/rules: remove $(BUILD_TREE)/, $(STAMP_DIR)/, $(unpacked), $(patched) and other references + to DBS. + * debian/rules (clean): remove build tree directories. + * debian/scripts/dbs-build.mk: unused, remove. + * debian/scripts/file2cat: likewise. + + * ... to dpatch. + * debian/rules: include /usr/share/dpatch/dpatch.make. + * debian/rules (configure-single-stamp): depend on patch-stamp. + * debian/rules (configure-multi-stamp): likewise. + * debian/rules (clean): depend on unpatch. Remove debian/patched. + * debian/control (Build-Depends): add dpatch. + + * binutils-doc.postinst, binutils-doc.prerm, + binutils-multiarch.postinst, binutils-multiarch.postrm, + binutils-multiarch.preinst, binutils-multiarch.shlibs, + binutils.postinst, binutils.postrm, binutils.shlibs: new files based + on .deb and packages.d/. + * scripts/dh_split: obsolete, removed. + * debian/packages.d/binutils-dev.in, debian/packages.d/binutils-doc.in, + debian/packages.d/binutils-multiarch.in, + debian/packages.d/binutils.in: likewise. + + * debian/rules: rewritten, de-debhelper-ized. + * debian/control (Build-Depends): drop debhelper and add file. + + -- James Troup Thu, 11 Sep 2003 22:08:18 +0100 + +binutils (2.14.90.0.5-0.2) unstable; urgency=low + + * NMU. + * Rebuild using fixed gcc on sparc (closes: #202924). + + -- Matthias Klose Mon, 28 Jul 2003 20:12:00 +0200 + +binutils (2.14.90.0.5-0.1) unstable; urgency=low + + * NMU. + * New upstream version. + * Remove patches applied upstream: + - debian/patches/500_s390_gas.diff + - debian/patches/905-hppa_visibility.diff + - debian/patches/906-mips_ld_fix.diff + * Updated patch: + - debian/patches/906-hjl_libtool_dso.diff + + -- Matthias Klose Wed, 23 Jul 2003 20:09:51 +0200 + +binutils (2.14.90.0.4-0.1) unstable; urgency=low + + * NMU + * New upstream version. + 1. Work around the brain dead libtool. + * New patches: + - debian/patches/500_s390_gas.diff (closes: #194929). + - debian/patches/905-hppa_visibility.diff (closes: #195203). + - debian/patches/906-mips_ld_fix.diff (closes: #195207). + - debian/patches/906-hjl_libtool_dso.diff + + -- Matthias Klose Sat, 31 May 2003 12:12:10 +0200 + +binutils (2.14.90.0.3-0.1) unstable; urgency=low + + * NMU + * New upstream version. + 1. Update from binutils 2003 0523. + 2. Fix 2 ELF visibility bugs. + 3. Fix ELF/ppc linker bugs. + * Remove patches applied upstream: + - debian/patches/903-hjl_ld-dso-test.diff + - debian/patches/904_hjl_hppa_whitespace.diff + + -- Matthias Klose Sat, 24 May 2003 09:02:54 +0200 + +binutils (2.14.90.0.2-0.1) unstable; urgency=low + + * NMU + * New upstream version. + 1. Update from binutils 2003 0515. + 2. Fix various ELF visibility bugs. + 3. Fix some ia64 linker bugs. + 4. Add more IAS compatibilities to ia64 assembler. + * New patches: + - debian/patches/903-hjl_ld-dso-test.diff (closes: #193505). + - debian/patches/904_hjl_hppa_whitespace.diff. + * Remove patches applied upstream: + - debian/patches/900_binutils-2.14.90.0.1-empty-test.diff + - debian/patches/901-hjl_weaksymfix.diff + + -- Matthias Klose Sun, 18 May 2003 10:50:00 +0200 + +binutils (2.14.90.0.1-0.1) unstable; urgency=low + + * NMU + * New upstream version. + - Fix: MIPS branch-to-global bug (closes: #189031). + - Fix: Crash on alpha with --gdwarf2 and bad file number (closes: #187211). + - Fix: objdump -R BFD ICE on prelinked binaries (closes: #180088). + * New patches: + - debian/patches/900_binutils-2.14.90.0.1-empty-test.diff + - debian/patches/901-hjl_weaksymfix.diff + * Remove patches applied upstream: + - debian/patches/002_ldlex_inflexible_transition.diff + - debian/patches/013_objdump_doc_fix.diff + - debian/patches/850_hppa_stub_fix.diff + - debian/patches/860_m68k_elf.diff + - debian/patches/861_m68k_elf.diff + - debian/patches/870-sparc64-update.diff + - debian/patches/880-alpha-update.diff + * Remove obsolete patch: + - debian/patches/patches/800_hjl_mips_fixes.diff + * Add x86_64 for the i386 binutils package and the binutils-multiarch + package (closes: #189350). + * Set CFLAGS to -g -O2 for build (closes: #181268). + + -- Matthias Klose Tue, 6 May 2003 09:58:14 +0200 + +binutils (2.13.90.0.18-1.7) unstable; urgency=high + + * NMU + * Fixed ld segv (replaced yy_current_buffer by YY_CURRENT_BUFFER) + (Closes: #188876, 188900, 188912) + + -- Julien LEMOINE Mon, 14 Apr 2003 04:45:03 +0200 + +binutils (2.13.90.0.18-1.6) unstable; urgency=high + + * NMU + * [002_ldlex_inflexible_transition.diff] New. Make ld buildable again with + sid's current flex. + + -- J.H.M. Dassen (Ray) Sun, 13 Apr 2003 16:54:46 +0200 + +binutils (2.13.90.0.18-1.5) unstable; urgency=medium + + * NMU + * [890-elf64_alpha_segfault.diff] Patch from Julien LEMOINE + to fix the segfault encountered while building + gal on alpha. (Closes: #185556) + * sid's current flex breaks the building of several packages, including this + one; see #188665. The i386 upload is built using a pbuilder sid chroot + with flex downgraded to the sarge version. + + -- J.H.M. Dassen (Ray) Sun, 13 Apr 2003 13:44:17 +0200 + +binutils (2.13.90.0.18-1.4) unstable; urgency=low + + * NMU + * ld/emulparams/elf64_sparc.sh: Set LIBPATH_SUFFIX instead of suffix + for emulation. Patch from current CVS suggested by Clint Adams, + needed for sparc64 glibc build. + * bfd/elf64-alpha.c: Patch from current CVS suggested by Falk Hueffner, + needed to build xstow, kdegames (#181623), sfs. + * Explicitely fail, when trying to build with glibc-2.3 on arm and + m68k. See #184048 for m68k ld failures. + + -- Matthias Klose Tue, 8 Apr 2003 23:27:46 +0200 + +binutils (2.13.90.0.18-1.3) unstable; urgency=low + + * NMU + * Another fix for ELF/m68k (__bb_exit_func initialization). + + -- Matthias Klose Tue, 18 Mar 2003 00:05:47 +0100 + +binutils (2.13.90.0.18-1.2) unstable; urgency=high + + * NMU + * Apply upstream fix for ELF/m68k. Closes: #182313. + * Use gcc-2.95 on m68k-linux. Built on testing (glibc-2.2). + + -- Matthias Klose Sun, 9 Mar 2003 01:02:39 +0100 + +binutils (2.13.90.0.18-1.1) unstable; urgency=low + + * NMU + * Apply upstream fix for hppa stubs. Closes: #181397 + + -- LaMont Jones Wed, 19 Feb 2003 12:34:58 -0700 + +binutils (2.13.90.0.18-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-01-21) + * Upstream: Fix an ia64 gas bug + * Upstream: Fix some TLS bugs + * Upstream: Fix ELF/ppc bugs + * Upstream: Fix an ELF/m68k bug + * Corrected ARM combreloc disabling patch + (closes: Bug#175204) + * Upstream fixes take care of TEXTREL bug + on powerpc (closes: Bug#176084) + * Fixed shellutils dependency problem + (closes: Bug#175673) + * Removed mention of the monitor manpage + from the gprof manpage (closes: Bug#160654) + + -- Christopher C. Chimelis Sun, 2 Feb 2003 23:17:29 -0500 + +binutils (2.13.90.0.16-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-11-26) + * Upstream: Include /usr/bin/c++filt + * Upstream: Fix "ld -r" with exception handling + + -- Christopher C. Chimelis Mon, 9 Dec 2002 19:14:02 -0500 + +binutils (2.13.90.0.14-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-11-14) + * Upstream: Fix ELF/alpha bugs + * Upstream: Fix an ELF/i386 assembler bug + * Updated package MIPS patch from HJ Lu + * Added s390 patches from Gerhard Tonn. + Actually, the patches to support s390x were + already included upstream, so I just enabled + it in the rules script (closes: Bug#168074, Bug#168974) + * Since powerpc64-linux support was already + added in a prior upload, I'm closing the + wishlist bug for it (closes: Bug#156955) + + -- Christopher C. Chimelis Tue, 20 Nov 2002 05:36:21 -0500 + +binutils (2.13.90.0.10-2) unstable; urgency=low + + * Added two patches from upstream to fix alpha BFD. + (closes: Bug#165633) + + -- Christopher C. Chimelis Sun, 27 Oct 2002 14:21:51 -0400 + +binutils (2.13.90.0.10-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-10-10) + * Upstream: More ELF/PPC linker bug fixes. + * Upstream: Fix an ELF/alpha linker bug. + * Upstream: Fix an ELF/sparc linker bug to support + Solaris. + * Upstream: More TLS updates. + * Updated m68k gcc 3.1 patch since it wasn't applying + cleanly. Is this still needed? + * Added patches to allow building with new bison + (closes: Bug#164436, Bug#164042) + * Should be better for prelink support, which is coming + soon (closes: Bug#161427) + * Removed windres manpage from all packages + (closes: Bug#157415) + * Fixed download location in copyright file + (closes: Bug#158028) + * Added i386-gnu to multiarch build targets + (closes: Bug#157057) + * Add alpha opcode patch from Falk Hueffner + (closes: Bug#164201) + * Remove .la files from packages + (closes: Bug#160455) + + -- Christopher C. Chimelis Mon, 15 Oct 2002 20:22:29 -0400 + +binutils (2.13.90.0.4-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-08-) + * Upstream: Update from binutils 2002 0814 + * Upstream: Fix symbol versioning bugs for gcc 3.2 + * Upstream: Fix mips gas + * Upstream: Fix an x86 TLS bfd bug + * Upstream: Fix an x86 PIC gas bug + + -- Christopher C. Chimelis Thu, 15 Aug 2002 20:13:44 -0400 + +binutils (2.12.90.0.15-2) unstable; urgency=low + + * Fix combreloc disabling patch for ARM + (closes: Bug#156315) + * Remove S390 patch since it is no longer + needed (thanks to Gerhard Tonn for checking + this out) + * Fix BFD version string escaping + (closes: Bug#154989) + * Add SH patch from Yaegashi Takeshi + (closes: Bug#156230) + * Added conflicts for older modutils + (closes: Bug#155324) + * Forgot to apply MIPS patch from HJ Lu + (apologies to MIPS folks) + + -- Christopher C. Chimelis Wed, 14 Aug 2002 13:09:12 -0400 + +binutils (2.12.90.0.15-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-07-17) + * Upstream: Fix an ia64 assembler bug + * Upstream: Fix a symbol versioning bug + * Upstream: You have to apply the modutils patch + enclosed here in order to support System.map + generated by the new nm (bug filed) + * The symbol visibility patch is included + upstream, as is the alpha PLT/GOT patch, so + both removed from my packaging. + * Included patch from upstream to fix RELA targets + (closes: Bug#153729) + + -- Christopher C. Chimelis Thu, 2 Aug 2002 02:24:29 -0400 + +binutils (2.12.90.0.14-2) unstable; urgency=low + + * The "Let's Get This Party Started Right" upload + (since I'm closing as many old bugs as possible) + * Removed sparc patch altogether + * Added a small alpha patch from upstream to fix + some obscure PLT/GOT issues. + * Manpages are now fixed finally -- no more + I (closes: Bug#108369) + * Have not gotten another report of the + debconf message being cut off, so I'm closing + the debconf-related bug. I suspect this may + have been a problem in the debconf front-end + being used, but I have not been able to reproduce + it (closes: Bug#149045) + * Closing a bug report that I had tagged moreinfo + a LONG time ago (over one year), but never got + more info on. I have not heard of this kind + of problem since, nor have I been able to + reproduce it at any time since (closes: Bug#105986). + For interested parties, it revolved around + allowing gcc to show a linker error, but the + reporter didn't know about the -v option for + gcc. There was a linker problem, but it appeared + to be either hardware failure or user error. + * Closing a demangler 'bug' that revolved around + stripping @PLT from symbol names. Since the + PLT suffix is documented, I'm going to close + this bug. Also, it doesn't help that the symbol + in the bug report uses an obsolete mangling style, + so I can't test this even if I wanted to + (closes: Bug#45889) + + -- Christopher C. Chimelis Mon, 22 Jul 2002 12:54:01 -0400 + +binutils (2.12.90.0.14-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-06-27) + * Upstream: Fix a mips assembler bug + * Upstream: Fix an ELF/mips SHF_MERGE bug + * Upstream: Fix a linker bug which leads to the + incorrect Linux 2.2 kernel. + * PE patch removed since it is included + in upstream source now + * Includes some patches which allow for + more true testsuite results from gcc-3.1 + * Fix sparc ld emulation script patches to get + rid of the lib/64 silliness (now uses lib64) + * Removed the L word from the package description + since Debian is no longer linux-only + (closes: Bug#150575) + * The strings dereferencing problem with + some Windows binaries seems to also be fixed now + (closes: Bug#121366) + * Added a patch to only generate an RPATH entry + if LD_RUN_PATH is not empty, for cases where + -rpath isn't specified (closes: Bug#151024) + * Fixed arch detection problem in the build + scripts. + * Fixed bad capitalisation of -g in the objdump + manpage (closes: Bug#152697) + * Added patch from HJ Lu to fix a symbol + visibility issue. + + -- Christopher C. Chimelis Wed, 17 Jul 2002 14:23:42 -0400 + +binutils (2.12.90.0.9-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-05-26). + * Upstream: Supports "-z muldefs" + * Updated PE bfd from CVS to fix auto-import + segfaults (closes: Bug#131407) + * Remove the PE-removing patch for i386 targets + due to the above + + -- Christopher C. Chimelis Thu, 6 Jun 2002 15:52:29 -0400 + +binutils (2.12.90.0.7-1) unstable; urgency=low + + * New upstream version (synced with CVS 2002-04-23). + * Upstream: ELF EH frame bug fix + * Upstream: MIPS ELF visibility bug fix + * Upstream: Bug fixes for ELF/sparc + * Upstream: Bug fixes for ELF/cris + * Upstream: Fix linking a.out relocatable files + with ELF + * Upstream: Fix a PPC altivec assembler bug + * Numerous upstream changes since I have + deliberately not updated in awhile so that + I could stabilise the package for woody + release + * Fixed a glaring typo in the Debian additions + to the version string. + * Upstream incorporated --oformat + documentation patch; removed. + * Added a patch from upstream involving + relative relocs on Alpha + * Removed configure.info-[1-3] from -doc + (closes: Bug#146205) + + -- Christopher C. Chimelis Sun, 5 Apr 2002 04:52:33 -0400 + +binutils (2.12.90.0.1-5) unstable; urgency=high + + * Added a patch to m68k bits for gas to allow + gcc 3.1 to build + * Added Brazilian Portuguese translation for + debconf (closes: Bug#144677) + * Removed unneeded gasp manpage since gasp + was eliminated as a distinct binary + (closes: Bug#144583) + + -- Christopher C. Chimelis Mon, 29 Apr 2002 14:40:21 -0400 + +binutils (2.12.90.0.1-4) unstable; urgency=low + + * Added patch from Gerhardt Tonn + to fix s390 merge problem (closes: Bug#143187) + * Corrected DOW of my last changelog entry :-P + + -- Christopher C. Chimelis Thu, 18 Apr 2002 13:03:49 -0400 + +binutils (2.12.90.0.1-3) unstable; urgency=low + + * Oops...I used dpkg-architecture from dpkg-dev + in the postinst and didn't add a dependency + for it. It was a bad choice anyway and I'm + going to use uname -s instead + (closes: Bug#142744, Bug#142915) + + -- Christopher C. Chimelis Mon, 15 Apr 2002 12:41:10 -0400 + +binutils (2.12.90.0.1-2) unstable; urgency=low + + * Added Catalan debconf translation + (closes: Bug#139740) + * Ensure that info entries are removed from the + texinfo dirfile when binutils-doc is removed + (closes: Bug#126557) + * Ensure that the kernel link debconf warning + only shows up on linux systems + (closes: Bug#142360) + + -- Christopher C. Chimelis Thu, 13 Mar 2002 01:30:22 -0400 + +binutils (2.12.90.0.1-1) unstable; urgency=high + + * New upstream version (synced with CVS 2002-03-07). + * Upstream: Add the .preinit_array/.init_array/.fini_array + support. + * Upstream: Fix eh_frame. + * Upstream: Turn on combreloc by default. + * Upstream: Enable gprof for Linux/mips. + * Turn combreloc off for ARM explicitely until + I can confirm that PIC is not still broken + by using it. + * Remove IA-64 unwind patch and objcopy fix + since they are included in the upstream sources + now. + * Re-enable testsuite run since Randolph did the NMU + on dejagnu (thank you!). + * Appears to fix sparc64 linking problems. I'm + still looking into exactly what was going on with + that (closes: Bug#137850) + * Enabled hppa64-linux support in main binutils + package (closes: Bug#137955) + * Added Japanese debconf template. Thanks to + Tomohiro KUBOTA for supplying that + (closes: Bug#138112) + * Added patch for ld to fix dosemu problems + (closes: Bug#126863) + + -- Christopher C. Chimelis Mon, 11 Mar 2002 14:02:45 -0500 + +binutils (2.11.93.0.2-3) unstable; urgency=high + + * Split translated debconf templates out. + I apparently misunderstood the instructions + on integrating the French translation since + this is my first real attempt at using + debconf (closes: Bug#136295) + * Disable combreloc default on ARM since it + breaks PIC, apparently (closes: Bug#134241) + Please test other ARM bugs against this + version and inform me of the results! + + -- Christopher C. Chimelis Fri, 8 Mar 2002 19:10:10 -0500 + +binutils (2.11.93.0.2-2) unstable; urgency=high + + * Include a patch from upstream to fix stripping + archives containing multiple files with the + same name (like libgcj, unfortunately). + (closes: Bug#107812) + * Include IA64 unwind fix from CVS to fix kernel + linking on IA64. (closes: Bug#135143) + * Added French translation of the debconf + bits. Thanks to Denis Barbier for the + work on that. (closes: Bug#134626) + * Disabled testsuite run until dejagnu is + fixed. I'm leaving the build-dep for dejagnu + in, though, since I know I'll forget to + reinsert it when I do re-enable the testsuite + run. + + -- Christopher C. Chimelis Fri, 22 Feb 2002 14:05:22 -0500 + +binutils (2.11.93.0.2-1) unstable; urgency=high + + * New upstream version (synced with CVS 2002-02-07). + * Upstream: Fix a weak symbol alpha linker bug for glibc. + * Upstream: More support for gcc 3.1. + * Keep on disabling efi-app-ia32 type targets + since the segfault is still unfixed in CVS and + I haven't had the time to go back and really + debug and fix this. + * Updated standards version. + * Corrected some of the lintian problems (all except + the ones involving Changelog.linux, the .comment + section, and the missing manpages for + binutils-multiarch's binaries since that package + depends on binutils, which provides those). + + -- Christopher C. Chimelis Wed, 13 Feb 2002 13:41:47 -0500 + +binutils (2.11.92.0.12.3-7) unstable; urgency=high + + * The "Remind Me To Think Next Time" upload. + * Fix the postinst to only compare versions on + upgrade rather than during configure. + (closes: Bug#133349, Bug#133514) + * Still working on the other bugs...if only + I could get a day off of work... + + -- Christopher C. Chimelis Tue, 12 Feb 2002 06:15:02 -0500 + +binutils (2.11.92.0.12.3-6) unstable; urgency=high + + * The "Make The Bad Man Stop" upload. + * Revert patch to bfd/elf32-sparc.c (already + reverted upstream) that broke UA32 relocs on sparc + and caused bus errors with C++/Java binaries + (closes: Bug#126162) + * Remove i486-mingw32 target from the enabled + in multiarch and removed efi-app-ia32 from the + BFD config for Intel linux targets until I can find + and fixthe segfaults that seem to keep coming up when + reading Windows files and viruses with objdump or + strings. This is only temporary, so I'm not closing + the bugs until the problem gets fixed, but + I am going to bump them down to wishlist, merge + them, and note the above in them. + (debian/patches/010_disable_efi_app_ia32_TEMPORARY.diff + disables the efi-app-ia32 BFD in case someone + wants to revert this change easily) + * Added debconf warning about the kernel linking + situation since it keeps coming up and people + keep initially disagreeing with me about this + being a kernel bug. Also, merged prior warning + about -oformat change into the same debconf warning + (it's two, two, two warnings in one). This makes + the DEBIAN_FRONTEND case bug moot (closes: Bug#131801) + * Added powerpc64-linux target to multiarch since + work is progressing on that target and the machines + are due to hit the shelves Very Soon(TM). + + -- Christopher C. Chimelis Fri, 1 Feb 2002 17:06:29 -0500 + +binutils (2.11.92.0.12.3-5) unstable; urgency=high + + * Fix signed char assumption in i386 disassembly bits + (closes: Bug#126993) + + -- Christopher C. Chimelis Mon, 8 Jan 2002 17:27:17 -0500 + +binutils (2.11.92.0.12.3-4) unstable; urgency=high + + * Go back to enabling archs by enumeration for + multiarch. Apparently, a few aren't enabled + with --enable-targets=all (sparc64-linux, namely). + Besides, multiarch was incredibly large, which + was probably unneeded. + + -- Christopher C. Chimelis Wed, 26 Dec 2001 13:53:49 -0500 + +binutils (2.11.92.0.12.3-3) unstable; urgency=high + + * Include patch from Alan Modra to fix more + refcount problems on hppa. + + -- Christopher C. Chimelis Fri, 7 Dec 2001 05:42:04 -0500 + +binutils (2.11.92.0.12.3-2) unstable; urgency=high + + * Include patch from Alan Modra to fix hppa linking + woes wrt undefined symbols (closes: Bug#121993) + + -- Christopher C. Chimelis Wed, 5 Dec 2001 04:14:51 -0500 + +binutils (2.11.92.0.12.3-1) unstable; urgency=high + + * New upstream version (synced with CVS 2001-11-21) + * Upstream: Fix a linker symbol version bug + for common symbols. + * Upstream: Update handling relocations against + the discarded sections. You may need to apply + the kernel patch enclosed here to your kernel + source. + * Upstream: Support "-march=xxx -mipsN" for mips + gas if they are compatible. + * Upstream: Fix a regression when linking with + non-ELF object files. + * Includes Alan Modra's patch to reduce stub sizes + on HPPA. Should help C++ on HPPA. + * Once again includes a mips patch from HJ Lu. + * My documentation changes were cleaned up and + accepted upstream, so the gas manpage fixes go + away (hurray!). + * Stopped iterating targets for binutils-multiarch + and started enabling all of them. This saves + maintenance time since new targets will be + automatically supported in future uploads + and existing targets that I didn't include + before will be supported from now on. This may + grow build time and the libbfd in the multiarch + package, but it's worth it. + * Also, started using the --enable-64-bit-bfd + flag for configuring multiarch. I don't know + why I didn't realise this wasn't there before + since I test with it all of the time. + + -- Christopher C. Chimelis Fri, 30 Nov 2001 20:11:42 -0500 + +binutils (2.11.92.0.10-4) unstable; urgency=high + + * The "Fingers crossed" upload. + * Enable combreloc by default for s390 again. + Rumour has it that it worked before, but there + was a misunderstanding in the s390 developer + community, hence the disabling in the past. + * Fix the ld texinfo file to not mention the old + oformat invocation (closes: Bug#116182) + * Next upload should include the mips updates and + some powerpc updates. I just need time to test + those out first. + + -- Christopher C. Chimelis Fri, 23 Nov 2001 23:23:22 -0500 + +binutils (2.11.92.0.10-3) unstable; urgency=high + + * Replace HPPA reloc patch with patches from Alan + Modra upstream. + * Add upstream patch to fix quoted -rpath bug + (closes: Bug#107214) + + -- Christopher C. Chimelis Sat, 10 Nov 2001 18:19:05 -0400 + +binutils (2.11.92.0.10-2) unstable; urgency=high + + * Disable -z combreloc enable patch on S/390 + since it's not supported there yet + (closes: Bug#117087) + + -- Christopher C. Chimelis Fri, 26 Oct 2001 00:07:01 -0400 + +binutils (2.11.92.0.10-1) unstable; urgency=high + + * New upstream version (synced with CVS 2001-10-21) + * Upstream: Fix the ELF/PPC linker. + * Upstream: Fix the ELF/cris linker. + * Upstream: Fix ELF strip. + * Includes beginnings of Altivec support + (closes: Bug#98617) + * Fixes use of BookE instruction format on 4xx + PowerPC (closes: Bug#116627) + * Includes patches from Alan Modra to fix hppa + relocations. + * Forgot to close the previous PPC bug with last + upload (closes: Bug#116454) + * Moved to enclosing a bzipped tarball rather than + a gzipped one to save download time for everyone + involved. Build-deps adjusted accordingly. + + -- Christopher C. Chimelis Tue, 23 Oct 2001 03:29:49 -0400 + +binutils (2.11.92.0.7-2) unstable; urgency=high + + * Include a patch from H.J Lu to fix a powerpc + issue not shown in the testsuite results. + + -- Christopher C. Chimelis Fri, 19 Oct 2001 00:49:04 -0400 + +binutils (2.11.92.0.7-1) unstable; urgency=high + + * New upstream release (synced with CVS 2001-10-16) + * Upstream: Fix all breakages introduced in 2.11.92.0.5 + * No mips/ dir patches need to be applied with this one. + Woohoo! + * Removed patches from debian/patches that are already + applied upstream. + * Patched version strings to reflect that this is a + Debian release at the request of upstream (to prevent + confusion, apparently). + * Applied patch from H.J. Lu to fix mips section + misalignment. + * Applied patch from Jakub Jelinek to fix kernel linking + on i386 and possibly other archs (closes: Bug#116041) + * Fixed postinst and prerm for binutils-doc to test that + the files exist before calling install-info. This should + fix the odd circumstance when binutils-doc is packaged on + an arch that doesn't support gprof (or any other dir for + that matter) and, therefore, the docs that are usually + made in that dir aren't made. This is particularly true + with gprof on mips. + + -- Christopher C. Chimelis Wed, 17 Oct 2001 18:56:51 -0400 + +binutils (2.11.92.0.5-3) unstable; urgency=high + + * Enable -z combreloc on all targets. This will make + prelinking possible with the prelink package. Please + test this on all archs prior to upload. If it fails, file + a bug immediately and I'll disable the patch for that + platform. + * Added patches from Alan Modra (from CVS) to fix other + archs after the refcount patch broke them. This supercedes + the powerpc patch, so I replaced that with this. + (closes: Bug#115218) + * Added patch from H.J. Lu (from CVS) to fix IA64 linker + problems as well. + * Added patch from David Kimdon to specify which filename is + causing an error if that filename is a dir (closes: Bug#45832). + * Removed workaround patch for stabs problem on Alpha since + it appears to be causing problems on mips and is no longer + needed on Alpha anyway. + * Now runs the testsuite and includes the results in the + binutils package for reference. + + -- Christopher C. Chimelis Sat, 13 Oct 2001 15:10:20 -0400 + +binutils (2.11.92.0.5-2) unstable; urgency=high + + * Applied fix from H.J. Lu to fix PowerPC target + (closes: Bug#115285). Thanks to Jack Howarth + for forcing the issue upstream. + + -- Christopher C. Chimelis Fri, 12 Oct 2001 23:14:51 -0400 + +binutils (2.11.92.0.5-1) unstable; urgency=high + + * New upstream release (synced with CVS 2001-10-05) + * Upstream: Support gcc 3.1 for IA64. + * Upstream: Support prelink for ELF/PPC. + * Upstream: Fix an ELF/x86 linker bug for Oracle + (closes: Bug#113614) + * Upstream: Fix a weak symbol bug. + * Upstream: Support locale. + + -- Christopher C. Chimelis Tue, 9 Oct 2001 19:53:49 -0400 + +binutils (2.11.90.0.31-2) unstable; urgency=high + + * Applied IA64 patch from CVS to fix gcc issues + on IA64. + + -- Christopher C. Chimelis Mon, 24 Sep 2001 12:45:29 -0400 + +binutils (2.11.90.0.31-1) unstable; urgency=high + + * New upstream source (synced with CVS 2001-08-30) + * Upstream: Fix a MIPS linker bug. + * Now applying mips diffs from H.J. Lu (upstream) + for better MIPS and MIPS64 support. + * Applied patch from Christopher Cramer to fix + gasp .REG issue (closes: Bug#110560) + + -- Christopher C. Chimelis Sat, 1 Sep 2001 23:42:22 -0400 + +binutils (2.11.90.0.29-1) unstable; urgency=high + + * New upstream source (synced with CVS 2001-08-27) + * Upstream: Fix an Alpha assembler bug. + * Upstream: Fix an IA64 linker bug. + * Upstream: Fix a MIPS linker bug. + * Upstream: Support '-z combreloc|nocombreloc' in linker. + + -- Christopher C. Chimelis Thu, 30 Aug 2001 04:48:04 -0400 + +binutils (2.11.90.0.27-4) unstable; urgency=high + + * Argh. Really remove the manpages from multiarch + this time (closes: Bug#110410) + + -- Christopher C. Chimelis Tue, 28 Aug 2001 14:32:34 -0400 + +binutils (2.11.90.0.27-3) unstable; urgency=high + + * Include hppa patch to force error + (closes: Bug#109173) + * Fix manpages - seems that I accidentally included + the multiarch manpages rather than the target + manpages (sorry). + * Partial update to as manpage to denote arch options + and added options for the rest of the targets + Still need to elaborate on them, though. More + changes are forthcoming (closes: Bug#110127) + + -- Christopher C. Chimelis Mon, 27 Aug 2001 10:13:27 -0400 + +binutils (2.11.90.0.27-2) unstable; urgency=high + + * Remove bash dependency...ash's behaviour has + already been modified, so it should be able + to build binutils now (closes: Bug#106992) + * Includes new S/390 patch (closes: Bug#109300) + * Could never reproduce objdump segfault and + never got a reply on the bug report + (closes: Bug#93884) + * Can't reproduce m68k segfault either + (closes: Bug#87714) + + -- Christopher C. Chimelis Mon, 20 Aug 2001 23:07:30 -0400 + +binutils (2.11.90.0.27-1) unstable; urgency=high + + * New upstream source (synced with 20010810 CVS) + * Upstream: Fixed x86 linker bug. + * Reverted a patch to gas to dodge a bug in STABS output + on Alpha using gcc 2.95.4, so alpha can be in sync + with the rest of the archs now. + * Fixes strip problems with busybox (closes: Bug#106593) + * Kernels should compile ok again on i386 + (closes: Bug#107190) + + -- Christopher C. Chimelis Thu, 16 Aug 2001 08:24:49 -0400 + +binutils (2.11.90.0.25-1) unstable; urgency=high + + * New upstream source (synced with 20010726 CVS) + * Upstream: fix i386 assembler bug. + * Upstream: "make check" has 2 failures in the + ld-selective test in ld on Linux/alpha. They + should be marked xfail. Fixed in the next release. + * Removed m68k patch (closes: Bug#106431) + * Man pages appear to be correctly generated now + (closes: Bug#98569, Bug# 98938) + * Added bash build dependency (closes: Bug#106992) + * Should compile ok on powerpc (the last one did + also...don't know why voltaire's build daemon failed). + I won't close this bug until I build it myself + on voltaire or hear back from the autobuilder folks + on PPC. + * Looking into the whole LD_LIBRARY_PATH issue that + keeps being brought up. I think the docs are wrong + because the templates say that it shouldn't obey that + at all. Can we please stop filing duplicate bugs for + this? I would greatly appreciate it... + + -- Christopher C. Chimelis Wed, 1 Aug 2001 07:06:52 -0400 + +binutils (2.11.90.0.24-1) unstable; urgency=high + + * New upstream source (synced with 20010714 CVS) + * DO NOT COMPILE FOR ALPHA. I need to fix gcc 2.95.4 + prior to this release working on Alpha correctly + (long story). + * Upstream: Avoid COPY relocs on i386 + * Upstream: Fix IA64 assembler (please try this and let me know) + * Upstream: Fix a static linking the PIC object files on ia32 + * Upstream: Add the version script support for --export-dynamic + * Upstream: Fix sparc/elf for linux/sparc + * Upstream: Fix alpha/elf for gcc 3.0 + * Supposedly required for gcc-3.0 usage on many platforms + * Add s390 to multiarch list (closes: Bug#98095) + * Supposedly good on mips, but please check. I emailed Ryan + to see if bug 98095 still happens, but never got a reply. + If I get around it, I'll check it myself since my mips + lives once again. + * Retake my package from Matt (next time we agree to an NMU, + please don't change the maintainer name...no wonder I didn't + get any bug reports!) + * Cross-compilation support will be added in the next upload + (I'll be uploading alpha debs with the next release as well, + the alpha problem outweighs cross-compilation support in + priority right now). + + -- Christopher C. Chimelis Thu, 19 Jul 2001 05:12:05 -0400 + +binutils (2.11.90.0.7-2) unstable; urgency=high + + * Applied patch from Alan Modra to fix m68k + assertion problems (closes: Bug#96352) + * Applied srec patch from Richard Henderson for + alpha. + + -- Christopher C. Chimelis Wed, 9 May 2001 03:11:19 -0400 + +binutils (2.11.90.0.7-1) unstable; urgency=high + + * New upstream source (synced with 20010425 CVS) + * Upstream: Fix the -Bsymbolic bug introduced in + binutils 2.11.90.0.5 (closes: Bug#95168) + + -- Christopher C. Chimelis Sun, 29 Apr 2001 20:03:22 -0400 + +binutils (2.11.90.0.5-1) unstable; urgency=high + + * New upstream source (synced with 20010414 CVS) + * Upstream: Fix in IA64 assembler + * Upstream: Change Linux/MIPS to use SVR4 MIPS ABI + rather than IRIX ABI. + * The above change may cause problems for MIPS. + If so, please file a bug and I'll revert those + changes if need be. I suspect that glibc, gcc, + and the kernel may eventually follow suit, though + to fit in with this change (it makes sense... + see the symbol ordering problems threads on the + binutils list for more info). + * Upstream: IA32 gas bug fixed...no further details + provided, unfortunately. + * Reportedly fixes core dumping when trying to link + object files from other platforms (now warns) + (closes: Bug#60502) + * Includes Philip Blundell's ARM PLT patch finally... + sorry for the delay (closes: Bug#94181) + * m68k problems should be fixed by now. Wish I had + gotten more feedback, but I didn't so I'm assuming it + works at this point (closes: Bug#74396) + * Stopped compiling cross-compiler packages until we + work out a better system for the entire toolchain. + Sorry, but it was taking far too long on even fast + machines and I've gotten more complaints about the + current arrangement than I have positive feedback. + (closes: Bug#91120, Bug#91119, Bug#91118, Bug#91117, + Bug#91116, Bug#88311, Bug#78028, Bug#90177) + * Fixed readelf manpage so that it no longer says that + it is a preprocessor for assembly programs + (closes: Bug#90798) + + -- Christopher C. Chimelis Tue, 17 Apr 2001 20:07:14 -0400 + +binutils (2.11.90.0.1-1) unstable; urgency=high + + * New upstream source (synced with 20010309 + CVS). + * Fixed misapplied m68k ld patch. + I am hoping that this almost totally fixes + m68k ELF for now. + * Fixed typo in mips patch and applied another + mips patch from Daniel Jacobowitz. + * Should no longer build same-arch cross + packages. Please let me know if this fix + worked so that I can close the bugs (I have + no access to such an arch at the moment) + * Made urgency high since m68k really needs + this if the bugs are truly fixed. Even if + not, this version is infinitely better on + at least two platforms than prior ones were. + + -- Christopher C. Chimelis Thu, 15 Mar 2001 16:29:32 -0500 + +binutils (2.10.91.0.2-4) unstable; urgency=low + + * Applied m68k ld and bfd patches from + Michael Fedrowitz to hopefully make things + better on m68k. + + -- Christopher C. Chimelis Sun, 11 Mar 2001 20:16:44 -0500 + +binutils (2.10.91.0.2-3) unstable; urgency=low + + * Adjusted the priority of binutils-doc to + optional. + * Added debhelper build-depends (closes: Bug#87690) + * Fixed postinst problem for new binutils + installations (closes: Bug#87911) + + -- Christopher C. Chimelis Thu, 1 Mar 2001 15:06:50 -0500 + +binutils (2.10.91.0.2-2) unstable; urgency=low + + * Add support for SH and IA64 to binutils-multiarch. + * Applied m68k gas patch from Michael Fedrowitz + in hopes that this will fix the grave bug that + has been such a pain to m68k folks. I'll leave + the bug open until it's verified that it works + ok. + * Applied IA-64 printf patch (closes: Bug#82702) + * Kernels appear to be building fine with this + release on all archs available to me + (closes: Bug#77610) + * Added text during postinst that informs users + to modify their i386 kernel Makefiles for the + --oformat change (closes: Bug#86995) + * Incorporated remaining mips diffs that weren't + already applied upstream (closes: Bug#81280) + * Sparc/sparc64 patch seems to be doing fine, so + closing the bug (closes: Bug#86781) + * Added non-linux cross- package support to rules + (closes: Bug#79948) + * Close misc bugs: + Missing info file in binutils-doc (closes: Bug#78754) + + -- Christopher C. Chimelis Thu, 22 Feb 2001 19:36:12 -0500 + +binutils (2.10.91.0.2-1) unstable; urgency=low + + * New upstream version. + * Added weak symbol relocation patch for sparc/sparc64. + * Included m68k ELF fix from Michael Fedrowitz. + * BIG NOTE: any i386 kernels compiled with this will need + to be patched to change the ld option '-oformat' to + '--oformat' (extra hyphen). + + -- Christopher C. Chimelis Tue, 20 Feb 2001 21:32:44 -0500 + +binutils (2.10.1.0.2-1) unstable; urgency=low + + * New upstream release (really prerel, but better than + using a CVS version). + * Should re-add Compaq demangling style to all + tools (alpha-only). + * Again, hopefully fixes m68k ELF support...still have + no idea why or how this was broken before. + + -- Christopher C. Chimelis Mon, 20 Nov 2000 16:25:44 -0500 + +binutils (2.10.0.27-0.cvs20001011.2) unstable; urgency=low + + * Applied another PowerPC patch to correct the + implementation of .protected and .hidden in the + linker. This should also aid in the glibc + transition on PowerPC. + + -- Christopher C. Chimelis Tue, 17 Oct 2000 13:23:40 -0400 + +binutils (2.10.0.27-0.cvs20001011.1) unstable; urgency=low + + * Applied PowerPC weak symbol patch from CVS to aid + in glibc transition on that platform. + + -- Christopher C. Chimelis Sun, 15 Oct 2000 19:12:22 -0400 + +binutils (2.10.0.27-0.cvs20001011) unstable; urgency=low + + * Grabbed a new CVS version since it backs out a + change that prevented current gcc snapshots from + linking properly to libstdc++v3. This may also + solve some other problems related to global + section symbols (feedback appreciated). + * Finally changed my email address in the control + file (how I overlooked this after all of this + time I'll never know). + + -- Christopher C. Chimelis Wed, 11 Oct 2000 08:59:36 -0400 + +binutils (2.10.0.27-0.cvs20001008) unstable; urgency=low + + * Removed configure.info.gz from binutils-doc since + it didn't really belong there. (closes: Bug#72746) + * Update for hppa/hppa64 targets (included testsuite + changes committed on 07-Oct-2000). (closes: Bug#71524) + * Upstream change to elflink.h to hopefully stop + segfaults on some archs when linking binaries to + shared libs. + + -- Christopher C. Chimelis Sun, 8 Oct 2000 16:14:08 -0400 + +binutils (2.10.0.27-0.cvs20000923.1) unstable; urgency=low + + * Fixed rules file so that builds don't fail when compiling the + binary-arch target (added binary-cross to binary-arch). + * Fixed harmless attempt at removing builddir-avr twice. + + -- Christopher C. Chimelis Thu, 28 Sep 2000 10:39:12 -0400 + +binutils (2.10.0.27-0.cvs20000923) unstable; urgency=low + + * CVS snapshot from 2000-09-23. + * Should fix some (most) HPPA issues. + * Adds binutils-m68k cross-assembler. + + -- Christopher C. Chimelis Sun, 24 Sep 2000 10:19:20 -0400 + +binutils (2.10.0.26-2) unstable; urgency=low + + * Added the avr target for Amtel's AVR MCU's + * Applied Frank I. Smith to generate packages for + multiple cross targets: + + Bump rev number, NOP. + + Testing out bumping up the rev number. + + Added powerpc, arm, mipsel cross binutils packages. + + -- Christopher C. Chimelis Fri, 22 Sep 2000 17:31:44 -0400 + +binutils (2.10.0.26-1) unstable; urgency=low + + * New upstream source. + * Added mips-linux, hppa-linux, and hppa64-linux to multiarch targets + + -- Christopher C. Chimelis Sun, 17 Sep 2000 01:05:49 -0400 + +binutils (2.10.0.24-1) unstable; urgency=low + + * New upstream source. + * Fixes ia32 assembler buglet. + * (Hopefully) fixes PPC visibility problems with + glibc 2.2 + + -- Christopher C. Chimelis Thu, 24 Aug 2000 16:52:44 -0400 + +binutils (2.10.0.18-3) unstable; urgency=low + + * Added build depends stuff. + + -- Christopher C. Chimelis Sat, 5 Aug 2000 21:09:04 -0400 + +binutils (2.10.0.18-2) unstable; urgency=low + + * Added proviso to control file saying that -multiarch + should not be installed by the average user. + + -- Christopher C. Chimelis Sat, 29 Jul 2000 20:07:15 -0400 + +binutils (2.10.0.18-1) unstable; urgency=low + + * New upstream source. + * Should address some needed things for glibc 2.2 + (added new DT_XXXX dynamic tags and fixes DT_NEEDED + link bug) + * Reapplied the now-infamous "ObjC patch" until + we can figure out why we still have this problem + (hint hint hint...we really need to do this). + + -- Christopher C. Chimelis Sat, 22 Jul 2000 13:18:27 -0400 + +binutils (2.10.0.9-4) unstable; urgency=low + + * Applied a patch from Ben Collins to fix sparc64 + linker scripts + + -- Christopher C. Chimelis Sat, 8 Jul 2000 07:24:10 -0400 + +binutils (2.10.0.9-3) unstable; urgency=low + + * Applied a patch from the libstdc++ mailing list to + make sure that the linker doesn't eat the eh_frame + section. + + -- Christopher C. Chimelis Fri, 7 Jul 2000 10:26:59 -0400 + +binutils (2.10.0.9-2) unstable; urgency=low + + * Wow, already a bug fix. + * binutils-dev now provides libiberty.h + + -- Christopher C. Chimelis Fri, 23 Jun 2000 19:54:39 -0400 + +binutils (2.10.0.9-1) unstable; urgency=low + + * New upstream version (more linux-specific). + + -- Christopher C. Chimelis Fri, 23 Jun 2000 14:31:04 -0400 + +binutils (2.10-1) unstable; urgency=low + + * New upstream version (finally, a real release!) + + -- Christopher C. Chimelis Wed, 21 Jun 2000 19:08:14 -0400 + +binutils (2.9.5.0.46-1) unstable; urgency=low + + * New upstream source. + * ELF visibility attribute should work correctly now. + * ia32 "jmp" instructions are now assembled differently + to use relocation for global jumps (affects PIC asm + code). + + -- Christopher C. Chimelis Thu, 8 Jun 2000 21:34:42 -0400 + +binutils (2.9.5.0.42-1) unstable; urgency=low + + * New upstream source. + * Includes a testcase for hidden symbol support. + + -- Christopher C. Chimelis Fri, 19 May 2000 20:48:52 -0400 + +binutils (2.9.5.0.41-1) unstable; urgency=high + + * New upstream source. + * Now includes patch to enable hidden symbol support + needed for gcc 3.0 testing. + + -- Christopher C. Chimelis Fri, 5 May 2000 20:38:41 -0400 + +binutils (2.9.5.0.37-1) frozen unstable; urgency=high + + * Was forced to bring the current frozen version up to + upstream 2.9.5.0.37 in order to fix a rather nasty + i386 gas bug and also since the existing ARM patch + applied in 2.9.5.0.31-3 has been superceded upstream + (closes:Bug#62119) + * Includes proper demangler support for Compaq compiler + usage on Alpha (may be superceded upstream shortly, + but is good enough for potato and for Compaq's usage) + (closes:Bug#62079) + * Added cross-compilation support for individual use. + Please note that the binary packages do not support + this. If you require this feature, you need to compile + the source package changing debian/rules. Also, if + you do this, YMMV since things on this front are changing + rapidly upstream and also because cross-compiling from + certain platforms to others may not work (i386->alpha, + for example). (closes:Bug#59246) + * Fixed replaces statement in binutils-multiarch + (closes:Bug#62496) + * Release Manager: I once again beg that this be included + in potato. I've freed up some time to deal with bug + reports quickly if needed. + + -- Christopher C. Chimelis Sat, 29 Apr 2000 04:03:39 -0400 + +binutils (2.9.5.0.31-3) frozen unstable; urgency=high + + * Applied patch to fix broken ARM code generation (closes:Bug#61977) + + -- Christopher C. Chimelis Fri, 7 Apr 2000 15:50:42 -0400 + +binutils (2.9.5.0.31-2) frozen unstable; urgency=high + + * Remove ld from binutils-multiarch since it doesn't want to + link kernels on several archs properly (fixes severity:important bug) + (closes: Bug#61719, Bug#61615, Bug#51625) + + -- Christopher C. Chimelis Mon, 3 Apr 2000 22:48:55 -0400 + +binutils (2.9.5.0.31-1) frozen unstable; urgency=high + + * Yet another patch (this time from H.J. Lu upstream) to fix + the unlink race condition bug. This is VERY important and + needs to be in potato. It also fixes the temp file creation + problem with objcopy on PPC (closes: Bug#60934) + * New upstream release. Fixes a serious Alpha bug along + with a demangler bug and several others (closes: Bug#61121) + * Should fix apt-get upgrade problem...please test + (closes: Bug#56175) + * Release manager: can we squeeze this in? I know it's a + new version, but the ELF bug on Alpha really needs to + be fixed along with the rest of the above and some others + not mentioned here. + + -- Christopher C. Chimelis Wed, 22 Mar 2000 05:05:12 -0500 + +binutils (2.9.5.0.22-5) frozen unstable; urgency=high + + * Applied fixed patch from Colin Phipps to seal the unlink + race condition in bfd/cache.c (closes: Bug#58865, Bug#57831) + * Installed a proper changelog in binutils-doc + (closes: Bug#58522) + * Closes other older bug (closes: Bug#55801) + * Included bbconv.pl in binutils main package in the doc dir + under the gprof subdir (closes: Bug#57521) + + -- Christopher C. Chimelis Tue, 14 Mar 2000 10:32:52 -0500 + +binutils (2.9.5.0.22-4) frozen unstable; urgency=high + + * Patched gprof/hertz.h to allow binutils to actually + build and work on Hurd (closes: Bug#57564) + * Patched bfd/cache.c to avoid a rare, but possible + security problem when as is creating/opening temp + files (closes: Bug#57831) + + -- Christopher C. Chimelis Thu, 17 Feb 2000 10:31:05 -0500 + +binutils (2.9.5.0.22-3) frozen unstable; urgency=high + + * Removed standards.info...do we really need seven + bugs filed for the same problem + (closes: Bug#54521, Bug#54546, Bug#54614, Bug#54682, Bug#55402, Bug#55582, Bug#55602) + * Changed binutils-multiarch extended description + to mention that a cross-assembling gas is not + included (closes: Bug#49308) + * Closing a bug because it related to lack of disk space + (closes: Bug#52714) + + -- Christopher C. Chimelis Wed, 19 Jan 2000 19:28:09 -0500 + +binutils (2.9.5.0.22-2) unstable; urgency=high + + * Added getopt.h include that was omitted in the -taso patch + (closes: Bug#52380) + * Fixed table misalignment when calling objdump --info + (closes: Bug#51517) + * Added Debian changelog to binutils-doc (closes: Bug#52574) + + -- Christopher C. Chimelis Wed, 15 Dec 1999 19:14:05 -0500 + +binutils (2.9.5.0.22-1) unstable; urgency=high + + * New upstream version. + * More MIPS fixes. + * Added support for -taso linker flag for Alpha. + * Reapplied all previous patches. + + -- Christopher C. Chimelis Wed, 7 Dec 1999 01:08:51 -0600 + +binutils (2.9.5.0.19-1) unstable; urgency=high + + * New upstream version + * Fixes some MIPS problems + * Reapplied the ObjC patch (is this ever going to be fixed upstream) + since it's badly needed right now + + -- Christopher C. Chimelis Thu, 4 Nov 1999 15:00:35 -0400 + +binutils (2.9.5.0.16-3) unstable; urgency=low + + * Added support for mipsel-linux in binutils-multiarch + + -- Christopher C. Chimelis Thu, 4 Nov 1999 15:00:35 -0400 + +binutils (2.9.5.0.16-2) unstable; urgency=low + + * Added a replaces field in the control file to fix + previous file overwrite problems (closes: Bug#47518, Bug#47938) + * Verified manpages are up to date (closes: Bug#18483) + * Added m68k-rtems to targets in -multiarch in hopes + that it will actually work as advertised (closes: Bug#47468) + + -- Christopher C. Chimelis Mon, 25 Oct 1999 15:58:55 -0400 + +binutils (2.9.5.0.16-1) unstable; urgency=low + + * New upstream version. + * Massive bugfix upload on the Debian side: + * Fixes changelog problems between all of the binutils + debs (closes: Bug#47133, Bug#47208, Bug#47211) + * Fixes other overwrite problems (closes: Bug#46991, Bug#47024, Bug#46074) + * Multiarch should now make good diversions when + upgrading (closes: Bug#47359) + * Applied patch from Kevin Buhr to fix ld segfaults with + empty archives (closes: Bug#47019) + * Should have fixed info install problems by now + (closes: Bug#35935) + + -- Christopher C. Chimelis Fri, 15 Oct 1999 03:18:55 -0400 + +binutils (2.9.5.0.14-1) unstable; urgency=low + + * New upstream version. + * Thanks to Matthias Klose for the following: + * Separate documentation to binutils-doc package. + * debian/rules: + - Remove extra /usr/share/doc/binutils/changelog.gz file. + - Move bfd docs to binutils-dev package. + - Move upstream changelogs to binutils-doc package. + - Remove standard GNU info files left in /usr/share/info. + - Call dh_installdocs for all packages. + * debian/*{dirs,files}: Remove. Mention explicitely in debian/rules. + + -- Christopher C. Chimelis Wed, 6 Oct 1999 03:18:55 -0400 + +binutils (2.9.5.0.12-2) unstable; urgency=low + + * Applied patch from Matthias Klose to fix many issues including architecture detection. + * Rules file is now much prettier and easier to manage. + * Binutils is now built for i386 rather than i486 in the rules file (oops). + * Added diversion for readelf in binutils-multiarch. + + -- Christopher C. Chimelis Tue, 21 Sep 1999 03:39:08 -0400 + +binutils (2.9.5.0.12-1) unstable; urgency=low + + * Massive bugfix release. + * New upstream source (finally) (closes: Bug#44934) + * Fixes upstream bugs on many platforms. + * Gives powerpc a working binutils again. (closes: Bug#45052) + * Now provides .code16 support on i386 (please test) + * Manpage for objdump should now be complete (closes: Bug#27039) + * Put together manpages for gasp and the new binary readelf (closes: Bug#21918) + * Fixes nm core dump problem (closes: Bug#41999) + * Applied patches from Ben Collins to add sparc64 support (closes: Bug#44426) + * Update Standards version + * FHS compliance + + -- Christopher C. Chimelis Sat, 18 Sep 1999 01:21:05 -0400 + +binutils (2.9.5.0.12-0.2) experimental; urgency=low + + * Added Sparc/Sparc64 changes from Ben Collins (I really need a Sparc one of these days). + * Again, this should be the last experimental before a new release. + + -- Christopher C. Chimelis Fri, 17 Aug 1999 16:32:05 -0400 + +binutils (2.9.5.0.12-0.1) experimental; urgency=low + + * New upstream version. + * Should be the last experimental before a new release. + + -- Christopher C. Chimelis Thu, 9 Aug 1999 23:12:52 -0400 + +binutils (2.9.5.0.10-0.1) experimental; urgency=low + + * New upstream version. + * Didn't apply PPC patches...let me know if still needed + + -- Christopher C. Chimelis Thu, 9 Aug 1999 23:12:52 -0400 + +binutils (2.9.5.0.6-0.1) experimental; urgency=low + + * New upstream version. + * Didn't apply PPC patches...let me know if still needed + + -- Christopher C. Chimelis Thu, 9 Aug 1999 23:12:52 -0400 + +binutils (2.9.4.0.8-0.1) unstable; urgency=low + + * New upstream version. + * Applied as much of the PPC patches as I could. + + -- Christopher C. Chimelis Thu, 15 Jul 1999 12:46:45 -0400 + +binutils (2.9.4.0.3-0.1) unstable; urgency=low + + * New upstream version. + * Apply patch from Richard Henderson to fix PPC's libpath. + * Apply patch from Franz Sirl to fix Richard Henderson. + + -- Daniel Jacobowitz Sun, 6 Jun 1999 01:27:10 -0400 + +binutils (2.9.4.0.2-0.1) unstable; urgency=low + + * New upstream version. 2.9.4.0.1 was hurriedly recalled. + + -- Daniel Jacobowitz Sun, 6 Jun 1999 01:27:10 -0400 + +binutils (2.9.4.0.1-0.1) unstable; urgency=low + + * New upstream version. + + -- Daniel Jacobowitz Sun, 6 Jun 1999 01:27:10 -0400 + +binutils (2.9.1.0.25-2) unstable; urgency=low + + * Added ObjC patch AGAIN...sorry about that + + -- Christopher C. Chimelis Sun, 23 May 1999 15:14:35 -0400 + +binutils (2.9.1.0.25-1) unstable; urgency=low + + * New upstream version - Fixes a PIII asm optimisation bug + + -- Christopher C. Chimelis Sun, 23 May 1999 00:36:55 -0400 + +binutils (2.9.1.0.24-2) unstable; urgency=low + + * Reapplied ObjC patch...apparently it's still needed. + + -- Christopher C. Chimelis Mon, 10 May 1999 19:53:15 -0400 + +binutils (2.9.1.0.24-1) unstable; urgency=low + + * New upstream release - fixes too many little things to mention. + + -- Christopher C. Chimelis Tue, 3 May 1999 16:35:08 -0400 + +binutils (2.9.1.0.23-1) unstable; urgency=low + + * New upstream release - incorporates sparc64 and arm patches. + * Added RPATH patch from Joel Klecker since my last upload failed. + * Removed ObjC patch. Let me know if it is still needed (doubtful, but + still might be). + + -- Christopher C. Chimelis Mon, 5 Apr 1999 13:26:55 -0500 + +binutils (2.9.1.0.22b-2) unstable; urgency=low + + * Added patch from Joel Klecker to finally (properly) fix the rpath issue + (Thanks, Joel!). + + -- Christopher C. Chimelis Fri, 2 Apr 1999 18:14:05 -0600 + +binutils (2.9.1.0.22b-1) unstable; urgency=low + + * Converted package to CVS (so bear with any delays in handling + bug fixes; I'm new to CVS ironically) + * New upstream version (sparc64 and ARM patches again added). + * Added support for mingw32 target in binutils-multiarch + + -- Christopher C. Chimelis Fri, 12 Mar 1999 03:51:44 -0600 + +binutils (2.9.1.0.19a-4) frozen unstable; urgency=high + * Added sparc64 patches from Steve Dunham to fix sparc64 targets + * Modified rules to add support for gcc/egcs by arch. + + -- Christopher C. Chimelis Mon, 1 Feb 1999 15:51:19 -0600 + +binutils (2.9.1.0.19a-3) frozen unstable; urgency=high + + * Reverted a patch to elflink.h that caused problems for + Obj-C code (symbols weren't exported with a size or + type). + + -- Christopher C. Chimelis Thu, 21 Jan 1999 19:25:17 -0600 + +binutils (2.9.1.0.19a-2) frozen unstable; urgency=low + + * Added arm-linux as multiarch target (sorry Jim). + * Uploaded to frozen to fix strange intermittant kernel + compilation problems (Fixes #31434). + * Fixed multiarch's postinst script to check for + c++filt.single before trying to remove it to prevent + warning messages if using g++ from egcs. + * Fixed typo in multiarch's postrm (addr2line) (Fixes: #31533) + * Added links to .so's for clean removal in the future (Fixes: #31536) + + -- Christopher C. Chimelis Fri, 8 Jan 1999 15:28:32 -0600 + +binutils (2.9.1.0.19a-1) unstable; urgency=low + + * New upstream version; fixes some Alpha problems and other archs + should benefit also. + * Added ARM target patch from Corel again (still not in upstream). + + -- Christopher C. Chimelis Mon, 4 Jan 1999 20:24:36 -0600 + +binutils (2.9.1.0.16-1) unstable; urgency=low + + * New upstream version; merges some ARM patches for Netwinders + * Added patch for ARM target from Corel (thanks Jim Pick) + + -- Christopher C. Chimelis Mon, 30 Nov 1998 16:59:25 -0600 + +binutils (2.9.1.0.15-5) frozen unstable; urgency=low + + * Reuploaded to frozen (why it wasn't there earlier....) + + -- Christopher C. Chimelis Mon, 30 Nov 1998 16:37:08 -0600 + +binutils (2.9.1.0.15-4) unstable frozen; urgency=low + + * Removed c++filt diversion in -multiarch to prevent conflicting + diversions when using egcs' g++ (which also wants to divert c++filt) + + -- Christopher C. Chimelis Wed, 25 Nov 1998 18:06:17 -0600 + +binutils (2.9.1.0.15-3) unstable frozen; urgency=low + + * Made Roman's changes "official" (thanks Roman). + + -- Christopher C. Chimelis Mon, 2 Nov 1998 05:46:56 -0600 + +binutils (2.9.1.0.15-2.1) unstable; urgency=low + + * Non-maintainer upload with agreement from Chris. + * Use a different soname for multi-arch libbfd and libopcodes; this + fixes the problem that the single-arch binaries (as and the diverted + ones) will all dump core because they're runtime-linked against the + multi-arch libs. (Fixes: #28656) + * Due to the above, binutils-multiarch also needs ldconfig in postinst + now. + * Fixup diversions once again: Do not even package the ldscripts for the + native architecture, so diversions for files in /usr/lib/ldscripts + aren't necessary. + * Also remove diversions on abort-install. + * Remove now obsolete diversions in preinst. + * Also symlink /usr/doc/binutils-multiarch to binutils, and do not + put /usr/doc/binutils in the package again. + * Put the symlinks libbfd.so and libopcode.so into binutils-dev, so one + can link to them. + + -- Roman Hodek Sat, 31 Oct 1998 11:31:14 +0100 + +binutils (2.9.1.0.15-2) unstable; urgency=low + + * Fixed binutils-multiarch diversions + * Reverted elf.c to .13 version to fix bug in strip + + -- Christopher C. Chimelis Tue, 27 Oct 1998 05:26:28 -0600 + +binutils (2.9.1.0.15-1) unstable; urgency=low + + * New upstream version. + * Moved over to debhelper and updated standards version to 2.4.1.4. + * Adds 3DNow instruction support for AMD processors. + * Fixes MANY Alpha bugs and a few for Sparc, PPC, and m68k reportedly. + * Added binutils-multiarch package to allow for multiple-arch support + (fixes bug #19471). + + -- Christopher C. Chimelis Thu, 14 Oct 1998 19:30:10 -0500 + +binutils (2.9.1.0.13-1) unstable; urgency=low + + * New upstream version, fixes bug #25354. + * Hopefully, all requested docs are included, fixes bug #21325. + * Fixes MANY Alpha problems. + * Reportedly may fix MIPS and Sparc problems also...see changelogs. + * Has been tested on x86's with great success. + + -- Christopher C. Chimelis Mon, 5 Oct 1998 23:02:08 -0500 + +binutils (2.9.1-0.2) frozen unstable; urgency=low + + * Fixed binutils-dev dependencies. + + -- Joel Klecker Tue, 05 May 1998 09:24:04 -0700 + +binutils (2.9.1-0.1) frozen unstable; urgency=medium + + * Non-maintainer release. + * New upstream release. + * Moved docs into subdirs where appropriate. + * Integrated the following changes from J.H.M. Dassen: + * Updated FSF address in copyright file. (lintian). + * Reported lack of "gasp" manpage (# ....), and link it to + undocumented(7). (lintian). + * Added a TODO list. + + -- Joel Klecker Thu, 30 Apr 1998 10:43:42 -0700 + +binutils (2.9-0.3) frozen unstable; urgency=medium + + * Added upstream patch which fixes a problem with strip + and netscape (#17971). + + -- Joel Klecker Tue, 28 Apr 1998 08:58:27 -0700 + +binutils (2.9-0.2) frozen unstable; urgency=low + + * Added more of the upstream docs (#21325). + * Put a changelog.gz symlink in /usr/doc/binutils + to satisfy policy. + + -- Joel Klecker Tue, 21 Apr 1998 09:02:22 -0700 + +binutils (2.9-0.1) frozen unstable; urgency=low + + * Non-maintainer release. + * New upstream release (bugfixes only). + + -- Joel Klecker Sun, 12 Apr 1998 04:11:07 -0700 + +binutils (2.8.1.0.23-1) unstable; urgency=low + + * New upstream version + * -dev replaces libc5-dev (#17840) + * No longer possible to link against shared libbbfd/opcodes (#18121) + + -- Galen Hazelwood Sat, 14 Mar 1998 18:19:10 -0700 + +binutils (2.8.1.0.19-1) unstable; urgency=low + + * New upstream version (#17296) + * Fixed typo in description (#16481) + * Fully replaces libbfd-dev (#16619) + + -- Galen Hazelwood Sun, 25 Jan 1998 15:37:03 -0700 + +binutils (2.8.1.0.17-1) unstable; urgency=low + + * New upstream version + * Rejoined libbfd and binutils packages (#15486) + * Added "SHELL=bash" to rules file (#14528) + * bfd info docs seem to be broken, don't install for now + + -- Galen Hazelwood Sat, 6 Dec 1997 14:55:26 -0700 + +binutils (2.8.1.0.15-1) unstable; urgency=low + + * New upstream version (#14250) + * Updated to Standard 2.3.0.0 + * Restored ansidecl.h to libbfd-dev (#14116) + + -- Galen Hazelwood Thu, 30 Oct 1997 20:04:24 -0700 + +binutils (2.8.1-2) unstable; urgency=low + + * Added 2.8.1.0.4 patch + + -- Galen Hazelwood Thu, 12 Jun 1997 20:49:57 -0600 + +binutils (2.8.1-1) unstable; urgency=low + + * New upstream version + * Added 2.8.1.0.1 patch + + -- Galen Hazelwood Fri, 30 May 1997 14:48:42 -0600 + +binutils (2.8-1) unstable; urgency=low + + * New upstream version + * Smarter debian build environment (automatic version handling) + * Added 2.8.0.3 patch + * Built with libc6 + + -- Galen Hazelwood Sun, 4 May 1997 11:16:12 -0600 + +binutils (2.7.0.9-3) frozen unstable; urgency=low + + * Patched for alpha support + * Distribute libiberty.a with -dev package (#8376) + * libbfd[x]-dev now has standard Provides/Conflicts behavior (#8377) + + -- Galen Hazelwood Fri, 28 Mar 1997 11:45:58 -0700 + +binutils (2.7.0.9-2) unstable; urgency=low + + * Moved 2.7.0.9 out of experimental (no longer unreleased beta) + + -- Galen Hazelwood Sun, 9 Mar 1997 23:43:19 -0700 + +binutils (2.7.0.9-1) experimental; urgency=low + + * New upstream beta version (fixes bug #7336) + * Split shared libraries (bfd) out of binutils (fixes bug #7244) + * No longer builds aout-binutils + + -- Galen Hazelwood Thu, 13 Feb 1997 00:27:18 -0700 + +binutils (2.7-6) unstable; urgency=low + + * Uses dpkg --print-gnu-build-architecture for build + * Demoted aout-binutils to priority "extra" + + -- Galen Hazelwood Mon, 27 Jan 1997 13:34:08 -0700 + +binutils (2.7-5) unstable; urgency=low (HIGH for m68k) + + * Added patch for m68k, will now compile X68 and kernel 2.1.15 + + -- Galen Hazelwood Tue, 31 Dec 1996 22:15:03 -0700 + +binutils (2.7-4) unstable; urgency=low + + * New maintainer + * Updated to new source format + * Fixed typo in script.1 (Fixes bug #4558) + * Fixed typo in as.1 (Fixes bug #5567) + * Postinst now calls ldconfig without explicit pathname (Fixes bug #6151) + + -- Galen Hazelwood Mon, 30 Dec 1996 12:10:25 -0700 + +binutils (2.7-3): + +Remove lib*.so links so the libs are not used for develpment. +gzip manpages + +Changes made by Michael Meskes in consent with David Engel. + +binutils (2.7-2): + +Include shared libraries +Strip shared libraries +Also update AOUT version +Minor changes to debian.rules + +binutils (2.7-1): + +Updated to new upstream version. + +Added a simple extended description (Bug#3574). + +Don't call ldconfig from postrm script (Bug#4246). + + LocalWords: Aurelien Jarno + diff --git a/control b/control new file mode 100644 index 000000000..8106fcb47 --- /dev/null +++ b/control @@ -0,0 +1,1050 @@ +Source: binutils +Section: devel +Priority: optional +Maintainer: Matthias Klose +Uploaders: James Troup +Standards-Version: 4.2.1 +Build-Depends: autoconf (>= 2.64), dpkg-dev (>= 1.19.0.5), + bison, flex, gettext, texinfo, dejagnu, quilt, chrpath, dwz, + python3:any, file, xz-utils, lsb-release, zlib1g-dev, procps, + g++-aarch64-linux-gnu [amd64 i386 x32] , + g++-arm-linux-gnueabi [amd64 arm64 i386 x32] , + g++-arm-linux-gnueabihf [amd64 arm64 i386 x32] , + g++-mips-linux-gnu [amd64 i386 x32] , + g++-mips64el-linux-gnuabi64 [amd64 i386 x32] , + g++-mipsel-linux-gnu [amd64 i386 x32] , + g++-powerpc64le-linux-gnu [amd64 i386 ppc64 x32] , + g++-s390x-linux-gnu [amd64 i386 x32] , + g++-alpha-linux-gnu [amd64 i386 x32] , + g++-hppa-linux-gnu [amd64 i386 x32] , + g++-m68k-linux-gnu [amd64 i386 x32] , + g++-mips64-linux-gnuabi64 [amd64 i386 x32] , + g++-powerpc-linux-gnu [amd64 i386 ppc64el x32] , + g++-powerpc-linux-gnuspe [amd64 i386 x32] , + g++-powerpc64-linux-gnu [amd64 i386 x32] , + g++-riscv64-linux-gnu [amd64 i386 x32] , + g++-sh4-linux-gnu [amd64 i386 x32] , + g++-sparc64-linux-gnu [amd64 i386 x32] , + g++-i686-linux-gnu [amd64 arm64 ppc64el x32] , + g++-x86-64-linux-gnu [arm64 i386 ppc64el x32] , + g++-x86-64-linux-gnux32 [amd64 arm64 i386 ppc64el] , +Build-Conflicts: libelf-dev +Homepage: https://www.gnu.org/software/binutils/ +Vcs-Browser: https://salsa.debian.org/toolchain-team/binutils/tree/binutils-2.31 +Vcs-Svn: https://salsa.debian.org/toolchain-team/binutils.git +XS-Testsuite: autopkgtest + +Package: binutils-for-host +Architecture: any +Depends: ${binutils:native} (>= ${binutils:minver}), + binutils-common (= ${binary:Version}), +Multi-Arch: same +Description: GNU assembler, linker and binary utilities for the host architecture + The programs in this package are used to assemble, link and manipulate + binary and object files for the architecture of this package. They may be + used in conjunction with a matching compiler and various libraries to build + programs. When using binutils through this metapackage, all tools must be + used with an architecture prefix. + +Package: binutils-for-build +Architecture: all +Depends: binutils (>= ${binutils:minver}), + binutils-common (>= ${binutils:minver}) +Multi-Arch: foreign +Description: GNU assembler, linker and binary utilities for the build architecture + The programs in this package are used to assemble, link and manipulate + binary and object files for the native architecture. They may be used in + conjunction with a build architecture compiler and various libraries to build + programs. When using binutils through this metapackage, tools without an + architecture prefix must be used. + +Package: binutils +Architecture: any +Depends: ${shlibs:Depends}, binutils-common (= ${binary:Version}), + libbinutils (= ${binary:Version}), ${binutils:native} (= ${binary:Version}) +Conflicts: modutils (<< 2.4.19-1), ${extraConflicts}, + binutils-multiarch (<< 2.27-8) +Provides: elf-binutils, ${gold:Provides} +Suggests: binutils-doc (>= ${source:Version}) +Description: GNU assembler, linker and binary utilities + The programs in this package are used to assemble, link and manipulate + binary and object files. They may be used in conjunction with a compiler + and various libraries to build programs. + +Package: libbinutils +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, binutils-common (= ${binary:Version}) +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities (private shared library) + This package includes the private shared libraries libbfd and libopcodes. + +Package: libbinutils-dbg +Section: debug +Architecture: any +Multi-Arch: same +Depends: libbinutils (= ${binary:Version}) +Description: GNU binary utilities (private shared library, debug symbols) + This package provides debug symbols for libbinutils. + +Package: binutils-dev +Architecture: any +Priority: optional +Depends: binutils (= ${binary:Version}), libbinutils (= ${binary:Version}) +Conflicts: libbfd-dev +Provides: libbfd-dev +Replaces: libbfd-dev, libc5-dev +Description: GNU binary utilities (BFD development files) + This package includes header files and static libraries necessary to build + programs which use the GNU BFD library, which is part of binutils. Note + that building Debian packages which depend on the shared libbfd is Not + Allowed. + +Package: binutils-multiarch +Architecture: any +Priority: optional +Depends: ${shlibs:Depends}, binutils (= ${binary:Version}), + binutils-common (= ${binary:Version}) +Description: Binary utilities that support multi-arch targets + The programs in this package are used to manipulate binary and object + files that may have been created on other architectures. This package + is primarily for multi-architecture developers and cross-compilers and + is not needed by normal users or developers. Note that a cross-assembling + version of gas is not included in this package, just the binary utilities. + . + NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE. It's meant only for those + requiring support for reading info from binaries from other architectures. + +Package: binutils-multiarch-dbg +Section: debug +Architecture: any +Priority: optional +Depends: binutils-multiarch (= ${binary:Version}) +Description: Binary utilities that support multi-arch targets (debug symbols) + This package provides debug symbols for binutils-multiarch. + +Package: binutils-multiarch-dev +Architecture: any +Priority: optional +Depends: ${shlibs:Depends}, + binutils-dev (= ${binary:Version}), binutils-multiarch (= ${binary:Version}) +Replaces: binutils-multiarch (<< 2.24-5) +Description: GNU binary utilities that support multi-arch targets (BFD development files) + This package includes header files, static and shared libraries necessary + to build programs which use the GNU BFD library for multi-arch targets, + which is part of binutils. Note that building Debian packages which depend + on the shared libbfd is Not Allowed. + . + NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE. It's meant only for those + requiring support for reading info from binaries from other architectures. + +Package: binutils-hppa64-linux-gnu +Architecture: amd64 i386 x32 hppa +Depends: ${shlibs:Depends}, binutils (= ${binary:Version}), + binutils-common (= ${binary:Version}) +Recommends: libc6-dev +Provides: binutils-hppa64 +Suggests: binutils-doc (>= ${source:Version}) +Breaks: binutils-hppa64 (<< 2.25.1-2) +Replaces: binutils-hppa64 (<< 2.25.1-2) +Description: GNU assembler, linker and binary utilities targeted for hppa64-linux + The programs in this package are used to assemble, link and manipulate + binary and object files. They may be used in conjunction with a compiler + and various libraries to build programs. + . + This package is needed to build an 64-bit kernel for 64-bit hppa machines. + +Package: binutils-hppa64-linux-gnu-dbg +Section: debug +Architecture: amd64 i386 x32 hppa +Depends: binutils-hppa64-linux-gnu (= ${binary:Version}) +Description: GNU binutils targeted for hppa64-linux (debug symbols) + This package provides debug symbols for binutils-hppa64-linux-gnu. + +Package: binutils-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Priority: optional +Suggests: binutils (= ${binary:Version}) +Description: Documentation for the GNU assembler, linker and binary utilities + This package consists of the documentation for the GNU assembler, + linker and binary utilities in info format. + +Package: binutils-source +Architecture: all +Multi-Arch: foreign +Priority: optional +Depends: texinfo, zlib1g-dev, make, python3 +Description: GNU assembler, linker and binary utilities (source) + This package contains the sources and patches which are needed to + build binutils. + +Package: binutils-common +Architecture: any +Multi-Arch: same +Breaks: binutils (<< 2.29.1-3.1~) +Replaces: binutils (<< 2.29.1-3.1~) +Description: Common files for the GNU assembler, linker and binary utilities + This package contains the localization files used by binutils packages for + various target architectures and parts of the binutils documentation. It is + not useful on its own. + +Package: binutils-x86-64-linux-gnu +Priority: optional +Architecture: amd64 arm64 i386 ppc64el x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for x86-64-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the x86-64-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for x86-64-linux-gnu and x86-64-linux-gnu is not your native platform. + +Package: binutils-x86-64-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: amd64 arm64 i386 ppc64el x32 +Multi-Arch: foreign +Depends: binutils-x86-64-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for x86-64-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-x86-64-linux-gnu. + +Package: binutils-i686-linux-gnu +Priority: optional +Architecture: i386 amd64 arm64 ppc64el x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: binutils-i586-linux-gnu +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for i686-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the i686-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for i686-linux-gnu and i686-linux-gnu is not your native platform. + +Package: binutils-i686-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: i386 amd64 arm64 ppc64el x32 +Multi-Arch: foreign +Depends: binutils-i686-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for i686-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-i686-linux-gnu. + +Package: binutils-aarch64-linux-gnu +Priority: optional +Architecture: arm64 amd64 i386 x32 ppc64el +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for aarch64-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the aarch64-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for aarch64-linux-gnu and aarch64-linux-gnu is not your native platform. + +Package: binutils-aarch64-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: arm64 amd64 i386 x32 ppc64el +Multi-Arch: foreign +Depends: binutils-aarch64-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for aarch64-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-aarch64-linux-gnu. + +Package: binutils-arm-linux-gnueabihf +Priority: optional +Architecture: armhf amd64 i386 x32 arm64 ppc64el +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for arm-linux-gnueabihf target + This package provides GNU assembler, linker and binary utilities + for the arm-linux-gnueabihf target. + . + You don't need this package unless you plan to cross-compile programs + for arm-linux-gnueabihf and arm-linux-gnueabihf is not your native platform. + +Package: binutils-arm-linux-gnueabihf-dbg +Section: debug +Priority: optional +Architecture: armhf amd64 i386 x32 arm64 ppc64el +Multi-Arch: foreign +Depends: binutils-arm-linux-gnueabihf (= ${binary:Version}) +Description: GNU binary utilities, for arm-linux-gnueabihf target (debug symbols) + This package provides debug symbols for binutils-arm-linux-gnueabihf. + +Package: binutils-arm-linux-gnueabi +Priority: optional +Architecture: armel amd64 i386 x32 arm64 ppc64el +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for arm-linux-gnueabi target + This package provides GNU assembler, linker and binary utilities + for the arm-linux-gnueabi target. + . + You don't need this package unless you plan to cross-compile programs + for arm-linux-gnueabi and arm-linux-gnueabi is not your native platform. + +Package: binutils-arm-linux-gnueabi-dbg +Section: debug +Priority: optional +Architecture: armel amd64 i386 x32 arm64 ppc64el +Multi-Arch: foreign +Depends: binutils-arm-linux-gnueabi (= ${binary:Version}) +Description: GNU binary utilities, for arm-linux-gnueabi target (debug symbols) + This package provides debug symbols for binutils-arm-linux-gnueabi. + +Package: binutils-mips-linux-gnu +Priority: optional +Architecture: mips amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mips-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the mips-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for mips-linux-gnu and mips-linux-gnu is not your native platform. + +Package: binutils-mips-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: mips amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mips-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for mips-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-mips-linux-gnu. + +Package: binutils-mipsel-linux-gnu +Priority: optional +Architecture: mipsel amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mipsel-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the mipsel-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for mipsel-linux-gnu and mipsel-linux-gnu is not your native platform. + +Package: binutils-mipsel-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: mipsel amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mipsel-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for mipsel-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-mipsel-linux-gnu. + +Package: binutils-mips64el-linux-gnuabi64 +Priority: optional +Architecture: mips64el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mips64el-linux-gnuabi64 target + This package provides GNU assembler, linker and binary utilities + for the mips64el-linux-gnuabi64 target. + . + You don't need this package unless you plan to cross-compile programs + for mips64el-linux-gnuabi64 and mips64el-linux-gnuabi64 is not your native platform. + +Package: binutils-mips64el-linux-gnuabi64-dbg +Section: debug +Priority: optional +Architecture: mips64el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mips64el-linux-gnuabi64 (= ${binary:Version}) +Description: GNU binary utilities, for mips64el-linux-gnuabi64 target (debug symbols) + This package provides debug symbols for binutils-mips64el-linux-gnuabi64. + +Package: binutils-powerpc64le-linux-gnu +Priority: optional +Architecture: ppc64el amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for powerpc64le-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the powerpc64le-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for powerpc64le-linux-gnu and powerpc64le-linux-gnu is not your native platform. + +Package: binutils-powerpc64le-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: ppc64el amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: binutils-powerpc64le-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for powerpc64le-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-powerpc64le-linux-gnu. + +Package: binutils-s390x-linux-gnu +Priority: optional +Architecture: s390x amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for s390x-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the s390x-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for s390x-linux-gnu and s390x-linux-gnu is not your native platform. + +Package: binutils-s390x-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: s390x amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-s390x-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for s390x-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-s390x-linux-gnu. + +Package: binutils-alpha-linux-gnu +Priority: optional +Architecture: alpha amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for alpha-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the alpha-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for alpha-linux-gnu and alpha-linux-gnu is not your native platform. + +Package: binutils-alpha-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: alpha amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-alpha-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for alpha-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-alpha-linux-gnu. + +Package: binutils-hppa-linux-gnu +Priority: optional +Architecture: hppa amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for hppa-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the hppa-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for hppa-linux-gnu and hppa-linux-gnu is not your native platform. + +Package: binutils-hppa-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: hppa amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-hppa-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for hppa-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-hppa-linux-gnu. + +Package: binutils-ia64-linux-gnu +Priority: optional +Architecture: ia64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for ia64-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the ia64-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for ia64-linux-gnu and ia64-linux-gnu is not your native platform. + +Package: binutils-ia64-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: ia64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-ia64-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for ia64-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-ia64-linux-gnu. + +Package: binutils-m68k-linux-gnu +Priority: optional +Architecture: m68k amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for m68k-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the m68k-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for m68k-linux-gnu and m68k-linux-gnu is not your native platform. + +Package: binutils-m68k-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: m68k amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-m68k-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for m68k-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-m68k-linux-gnu. + +Package: binutils-mips64-linux-gnuabi64 +Priority: optional +Architecture: mips64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mips64-linux-gnuabi64 target + This package provides GNU assembler, linker and binary utilities + for the mips64-linux-gnuabi64 target. + . + You don't need this package unless you plan to cross-compile programs + for mips64-linux-gnuabi64 and mips64-linux-gnuabi64 is not your native platform. + +Package: binutils-mips64-linux-gnuabi64-dbg +Section: debug +Priority: optional +Architecture: mips64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mips64-linux-gnuabi64 (= ${binary:Version}) +Description: GNU binary utilities, for mips64-linux-gnuabi64 target (debug symbols) + This package provides debug symbols for binutils-mips64-linux-gnuabi64. + +Package: binutils-powerpc-linux-gnu +Priority: optional +Architecture: powerpc amd64 i386 x32 ppc64el +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for powerpc-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the powerpc-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for powerpc-linux-gnu and powerpc-linux-gnu is not your native platform. + +Package: binutils-powerpc-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: powerpc amd64 i386 x32 ppc64el +Multi-Arch: foreign +Depends: binutils-powerpc-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for powerpc-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-powerpc-linux-gnu. + +Package: binutils-powerpc-linux-gnuspe +Priority: optional +Architecture: powerpcspe amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for powerpc-linux-gnuspe target + This package provides GNU assembler, linker and binary utilities + for the powerpc-linux-gnuspe target. + . + You don't need this package unless you plan to cross-compile programs + for powerpc-linux-gnuspe and powerpc-linux-gnuspe is not your native platform. + +Package: binutils-powerpc-linux-gnuspe-dbg +Section: debug +Priority: optional +Architecture: powerpcspe amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-powerpc-linux-gnuspe (= ${binary:Version}) +Description: GNU binary utilities, for powerpc-linux-gnuspe target (debug symbols) + This package provides debug symbols for binutils-powerpc-linux-gnuspe. + +Package: binutils-powerpc64-linux-gnu +Priority: optional +Architecture: ppc64 amd64 i386 x32 ppc64el +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for powerpc64-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the powerpc64-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for powerpc64-linux-gnu and powerpc64-linux-gnu is not your native platform. + +Package: binutils-powerpc64-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: ppc64 amd64 i386 x32 ppc64el +Multi-Arch: foreign +Depends: binutils-powerpc64-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for powerpc64-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-powerpc64-linux-gnu. + +Package: binutils-riscv64-linux-gnu +Priority: optional +Architecture: riscv64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for riscv64-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the riscv64-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for riscv64-linux-gnu and riscv64-linux-gnu is not your native platform. + +Package: binutils-riscv64-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: riscv64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-riscv64-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for riscv64-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-riscv64-linux-gnu. + +Package: binutils-sh4-linux-gnu +Priority: optional +Architecture: sh4 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for sh4-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the sh4-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for sh4-linux-gnu and sh4-linux-gnu is not your native platform. + +Package: binutils-sh4-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: sh4 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-sh4-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for sh4-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-sh4-linux-gnu. + +Package: binutils-sparc64-linux-gnu +Priority: optional +Architecture: sparc64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for sparc64-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the sparc64-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for sparc64-linux-gnu and sparc64-linux-gnu is not your native platform. + +Package: binutils-sparc64-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: sparc64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-sparc64-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for sparc64-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-sparc64-linux-gnu. + +Package: binutils-x86-64-linux-gnux32 +Priority: optional +Architecture: x32 amd64 arm64 i386 ppc64el +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for x86-64-linux-gnux32 target + This package provides GNU assembler, linker and binary utilities + for the x86-64-linux-gnux32 target. + . + You don't need this package unless you plan to cross-compile programs + for x86-64-linux-gnux32 and x86-64-linux-gnux32 is not your native platform. + +Package: binutils-x86-64-linux-gnux32-dbg +Section: debug +Priority: optional +Architecture: x32 amd64 arm64 i386 ppc64el +Multi-Arch: foreign +Depends: binutils-x86-64-linux-gnux32 (= ${binary:Version}) +Description: GNU binary utilities, for x86-64-linux-gnux32 target (debug symbols) + This package provides debug symbols for binutils-x86-64-linux-gnux32. + +Package: binutils-i686-gnu +Priority: optional +Architecture: hurd-i386 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: binutils-i586-gnu +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for i686-gnu target + This package provides GNU assembler, linker and binary utilities + for the i686-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for i686-gnu and i686-gnu is not your native platform. + +Package: binutils-i686-gnu-dbg +Section: debug +Priority: optional +Architecture: hurd-i386 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-i686-gnu (= ${binary:Version}) +Description: GNU binary utilities, for i686-gnu target (debug symbols) + This package provides debug symbols for binutils-i686-gnu. + +Package: binutils-x86-64-kfreebsd-gnu +Priority: optional +Architecture: kfreebsd-amd64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for x86-64-kfreebsd-gnu target + This package provides GNU assembler, linker and binary utilities + for the x86-64-kfreebsd-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for x86-64-kfreebsd-gnu and x86-64-kfreebsd-gnu is not your native platform. + +Package: binutils-x86-64-kfreebsd-gnu-dbg +Section: debug +Priority: optional +Architecture: kfreebsd-amd64 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-x86-64-kfreebsd-gnu (= ${binary:Version}) +Description: GNU binary utilities, for x86-64-kfreebsd-gnu target (debug symbols) + This package provides debug symbols for binutils-x86-64-kfreebsd-gnu. + +Package: binutils-i686-kfreebsd-gnu +Priority: optional +Architecture: kfreebsd-i386 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: binutils-i586-kfreebsd-gnu +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for i686-kfreebsd-gnu target + This package provides GNU assembler, linker and binary utilities + for the i686-kfreebsd-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for i686-kfreebsd-gnu and i686-kfreebsd-gnu is not your native platform. + +Package: binutils-i686-kfreebsd-gnu-dbg +Section: debug +Priority: optional +Architecture: kfreebsd-i386 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-i686-kfreebsd-gnu (= ${binary:Version}) +Description: GNU binary utilities, for i686-kfreebsd-gnu target (debug symbols) + This package provides debug symbols for binutils-i686-kfreebsd-gnu. + +Package: binutils-mips64-linux-gnuabin32 +Priority: optional +Architecture: mipsn32 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mips64-linux-gnuabin32 target + This package provides GNU assembler, linker and binary utilities + for the mips64-linux-gnuabin32 target. + . + You don't need this package unless you plan to cross-compile programs + for mips64-linux-gnuabin32 and mips64-linux-gnuabin32 is not your native platform. + +Package: binutils-mips64-linux-gnuabin32-dbg +Section: debug +Priority: optional +Architecture: mipsn32 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mips64-linux-gnuabin32 (= ${binary:Version}) +Description: GNU binary utilities, for mips64-linux-gnuabin32 target (debug symbols) + This package provides debug symbols for binutils-mips64-linux-gnuabin32. + +Package: binutils-mips64el-linux-gnuabin32 +Priority: optional +Architecture: mipsn32el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mips64el-linux-gnuabin32 target + This package provides GNU assembler, linker and binary utilities + for the mips64el-linux-gnuabin32 target. + . + You don't need this package unless you plan to cross-compile programs + for mips64el-linux-gnuabin32 and mips64el-linux-gnuabin32 is not your native platform. + +Package: binutils-mips64el-linux-gnuabin32-dbg +Section: debug +Priority: optional +Architecture: mipsn32el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mips64el-linux-gnuabin32 (= ${binary:Version}) +Description: GNU binary utilities, for mips64el-linux-gnuabin32 target (debug symbols) + This package provides debug symbols for binutils-mips64el-linux-gnuabin32. + +Package: binutils-mipsisa64r6-linux-gnuabin32 +Priority: optional +Architecture: mipsn32r6 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mipsisa64r6-linux-gnuabin32 target + This package provides GNU assembler, linker and binary utilities + for the mipsisa64r6-linux-gnuabin32 target. + . + You don't need this package unless you plan to cross-compile programs + for mipsisa64r6-linux-gnuabin32 and mipsisa64r6-linux-gnuabin32 is not your native platform. + +Package: binutils-mipsisa64r6-linux-gnuabin32-dbg +Section: debug +Priority: optional +Architecture: mipsn32r6 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mipsisa64r6-linux-gnuabin32 (= ${binary:Version}) +Description: GNU binary utilities, for mipsisa64r6-linux-gnuabin32 target (debug symbols) + This package provides debug symbols for binutils-mipsisa64r6-linux-gnuabin32. + +Package: binutils-mipsisa64r6el-linux-gnuabin32 +Priority: optional +Architecture: mipsn32r6el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mipsisa64r6el-linux-gnuabin32 target + This package provides GNU assembler, linker and binary utilities + for the mipsisa64r6el-linux-gnuabin32 target. + . + You don't need this package unless you plan to cross-compile programs + for mipsisa64r6el-linux-gnuabin32 and mipsisa64r6el-linux-gnuabin32 is not your native platform. + +Package: binutils-mipsisa64r6el-linux-gnuabin32-dbg +Section: debug +Priority: optional +Architecture: mipsn32r6el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mipsisa64r6el-linux-gnuabin32 (= ${binary:Version}) +Description: GNU binary utilities, for mipsisa64r6el-linux-gnuabin32 target (debug symbols) + This package provides debug symbols for binutils-mipsisa64r6el-linux-gnuabin32. + +Package: binutils-mipsisa32r6-linux-gnu +Priority: optional +Architecture: mipsr6 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mipsisa32r6-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the mipsisa32r6-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for mipsisa32r6-linux-gnu and mipsisa32r6-linux-gnu is not your native platform. + +Package: binutils-mipsisa32r6-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: mipsr6 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mipsisa32r6-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for mipsisa32r6-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-mipsisa32r6-linux-gnu. + +Package: binutils-mipsisa32r6el-linux-gnu +Priority: optional +Architecture: mipsr6el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mipsisa32r6el-linux-gnu target + This package provides GNU assembler, linker and binary utilities + for the mipsisa32r6el-linux-gnu target. + . + You don't need this package unless you plan to cross-compile programs + for mipsisa32r6el-linux-gnu and mipsisa32r6el-linux-gnu is not your native platform. + +Package: binutils-mipsisa32r6el-linux-gnu-dbg +Section: debug +Priority: optional +Architecture: mipsr6el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mipsisa32r6el-linux-gnu (= ${binary:Version}) +Description: GNU binary utilities, for mipsisa32r6el-linux-gnu target (debug symbols) + This package provides debug symbols for binutils-mipsisa32r6el-linux-gnu. + +Package: binutils-mipsisa64r6-linux-gnuabi64 +Priority: optional +Architecture: mips64r6 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mipsisa64r6-linux-gnuabi64 target + This package provides GNU assembler, linker and binary utilities + for the mipsisa64r6-linux-gnuabi64 target. + . + You don't need this package unless you plan to cross-compile programs + for mipsisa64r6-linux-gnuabi64 and mipsisa64r6-linux-gnuabi64 is not your native platform. + +Package: binutils-mipsisa64r6-linux-gnuabi64-dbg +Section: debug +Priority: optional +Architecture: mips64r6 amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mipsisa64r6-linux-gnuabi64 (= ${binary:Version}) +Description: GNU binary utilities, for mipsisa64r6-linux-gnuabi64 target (debug symbols) + This package provides debug symbols for binutils-mipsisa64r6-linux-gnuabi64. + +Package: binutils-mipsisa64r6el-linux-gnuabi64 +Priority: optional +Architecture: mips64r6el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities, for mipsisa64r6el-linux-gnuabi64 target + This package provides GNU assembler, linker and binary utilities + for the mipsisa64r6el-linux-gnuabi64 target. + . + You don't need this package unless you plan to cross-compile programs + for mipsisa64r6el-linux-gnuabi64 and mipsisa64r6el-linux-gnuabi64 is not your native platform. + +Package: binutils-mipsisa64r6el-linux-gnuabi64-dbg +Section: debug +Priority: optional +Architecture: mips64r6el amd64 i386 x32 +Multi-Arch: foreign +Depends: binutils-mipsisa64r6el-linux-gnuabi64 (= ${binary:Version}) +Description: GNU binary utilities, for mipsisa64r6el-linux-gnuabi64 target (debug symbols) + This package provides debug symbols for binutils-mipsisa64r6el-linux-gnuabi64. diff --git a/control.cross.in b/control.cross.in new file mode 100644 index 000000000..6da56f8b7 --- /dev/null +++ b/control.cross.in @@ -0,0 +1,27 @@ + +Package: binutils-@target@ +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: binutils-common (= ${binary:Version}), + ${shlibs:Depends}, ${extraDepends} +Suggests: binutils-doc (= ${source:Version}) +Provides: @binutils_alt_triplet@ +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Built-Using: ${Built-Using} +Description: GNU binary utilities, for @target@ target + This package provides GNU assembler, linker and binary utilities + for the @target@ target. + . + You don't need this package unless you plan to cross-compile programs + for @target@ and @target@ is not your native platform. + +Package: binutils-@target@-dbg +Section: debug +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: binutils-@target@ (= ${binary:Version}) +Description: GNU binary utilities, for @target@ target (debug symbols) + This package provides debug symbols for binutils-@target@. diff --git a/control.in b/control.in new file mode 100644 index 000000000..c9b31f5bf --- /dev/null +++ b/control.in @@ -0,0 +1,192 @@ +Source: binutils +Section: devel +Priority: optional +Maintainer: Matthias Klose +Uploaders: James Troup +Standards-Version: 4.2.1 +Build-Depends: autoconf (>= 2.64), @dpkg_dev@ + bison, flex, gettext, texinfo, dejagnu, quilt, chrpath, dwz, + python3:any, file, xz-utils, lsb-release, zlib1g-dev, procps, + g++-aarch64-linux-gnu [amd64 i386 x32] , + g++-arm-linux-gnueabi [amd64 arm64 i386 x32] , + g++-arm-linux-gnueabihf [amd64 arm64 i386 x32] , + g++-mips-linux-gnu [amd64 i386 x32] , + g++-mips64el-linux-gnuabi64 [amd64 i386 x32] , + g++-mipsel-linux-gnu [amd64 i386 x32] , + g++-powerpc64le-linux-gnu [amd64 i386 ppc64 x32] , + g++-s390x-linux-gnu [amd64 i386 x32] , + g++-alpha-linux-gnu [amd64 i386 x32] , + g++-hppa-linux-gnu [amd64 i386 x32] , + g++-m68k-linux-gnu [amd64 i386 x32] , + g++-mips64-linux-gnuabi64 [amd64 i386 x32] , + g++-powerpc-linux-gnu [amd64 i386 ppc64el x32] , + g++-powerpc-linux-gnuspe [amd64 i386 x32] , + g++-powerpc64-linux-gnu [amd64 i386 x32] , + g++-riscv64-linux-gnu [amd64 i386 x32] , + g++-sh4-linux-gnu [amd64 i386 x32] , + g++-sparc64-linux-gnu [amd64 i386 x32] , + g++-i686-linux-gnu [amd64 arm64 ppc64el x32] , + g++-x86-64-linux-gnu [arm64 i386 ppc64el x32] , + g++-x86-64-linux-gnux32 [amd64 arm64 i386 ppc64el] , +Build-Conflicts: libelf-dev +Homepage: https://www.gnu.org/software/binutils/ +Vcs-Browser: https://salsa.debian.org/toolchain-team/binutils/tree/binutils-2.31 +Vcs-Svn: https://salsa.debian.org/toolchain-team/binutils.git +XS-Testsuite: autopkgtest + +Package: binutils-for-host +Architecture: any +Depends: ${binutils:native} (>= ${binutils:minver}), + binutils-common (= ${binary:Version}), +Multi-Arch: same +Description: GNU assembler, linker and binary utilities for the host architecture + The programs in this package are used to assemble, link and manipulate + binary and object files for the architecture of this package. They may be + used in conjunction with a matching compiler and various libraries to build + programs. When using binutils through this metapackage, all tools must be + used with an architecture prefix. + +Package: binutils-for-build +Architecture: all +Depends: binutils (>= ${binutils:minver}), + binutils-common (>= ${binutils:minver}) +Multi-Arch: foreign +Description: GNU assembler, linker and binary utilities for the build architecture + The programs in this package are used to assemble, link and manipulate + binary and object files for the native architecture. They may be used in + conjunction with a build architecture compiler and various libraries to build + programs. When using binutils through this metapackage, tools without an + architecture prefix must be used. + +Package: binutils +Architecture: any +Depends: ${shlibs:Depends}, binutils-common (= ${binary:Version}), + libbinutils (= ${binary:Version}), ${binutils:native} (= ${binary:Version}) +Conflicts: modutils (<< 2.4.19-1), ${extraConflicts}, + binutils-multiarch (<< 2.27-8) +Provides: elf-binutils, ${gold:Provides} +Suggests: binutils-doc (>= ${source:Version}) +Description: GNU assembler, linker and binary utilities + The programs in this package are used to assemble, link and manipulate + binary and object files. They may be used in conjunction with a compiler + and various libraries to build programs. + +Package: libbinutils +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, binutils-common (= ${binary:Version}) +Breaks: binutils (<< 2.29-6) +Replaces: binutils (<< 2.29-6) +Description: GNU binary utilities (private shared library) + This package includes the private shared libraries libbfd and libopcodes. + +Package: libbinutils-dbg +Section: debug +Architecture: any +Multi-Arch: same +Depends: libbinutils (= ${binary:Version}) +Description: GNU binary utilities (private shared library, debug symbols) + This package provides debug symbols for libbinutils. + +Package: binutils-dev +Architecture: any +Priority: optional +Depends: binutils (= ${binary:Version}), libbinutils (= ${binary:Version}) +Conflicts: libbfd-dev +Provides: libbfd-dev +Replaces: libbfd-dev, libc5-dev +Description: GNU binary utilities (BFD development files) + This package includes header files and static libraries necessary to build + programs which use the GNU BFD library, which is part of binutils. Note + that building Debian packages which depend on the shared libbfd is Not + Allowed. + +Package: binutils-multiarch +Architecture: any +Priority: optional +Depends: ${shlibs:Depends}, binutils (= ${binary:Version}), + binutils-common (= ${binary:Version}) +Description: Binary utilities that support multi-arch targets + The programs in this package are used to manipulate binary and object + files that may have been created on other architectures. This package + is primarily for multi-architecture developers and cross-compilers and + is not needed by normal users or developers. Note that a cross-assembling + version of gas is not included in this package, just the binary utilities. + . + NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE. It's meant only for those + requiring support for reading info from binaries from other architectures. + +Package: binutils-multiarch-dbg +Section: debug +Architecture: any +Priority: optional +Depends: binutils-multiarch (= ${binary:Version}) +Description: Binary utilities that support multi-arch targets (debug symbols) + This package provides debug symbols for binutils-multiarch. + +Package: binutils-multiarch-dev +Architecture: any +Priority: optional +Depends: ${shlibs:Depends}, + binutils-dev (= ${binary:Version}), binutils-multiarch (= ${binary:Version}) +Replaces: binutils-multiarch (<< 2.24-5) +Description: GNU binary utilities that support multi-arch targets (BFD development files) + This package includes header files, static and shared libraries necessary + to build programs which use the GNU BFD library for multi-arch targets, + which is part of binutils. Note that building Debian packages which depend + on the shared libbfd is Not Allowed. + . + NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE. It's meant only for those + requiring support for reading info from binaries from other architectures. + +Package: binutils-hppa64-linux-gnu +Architecture: amd64 i386 x32 hppa +Depends: ${shlibs:Depends}, binutils (= ${binary:Version}), + binutils-common (= ${binary:Version}) +Recommends: libc6-dev +Provides: binutils-hppa64 +Suggests: binutils-doc (>= ${source:Version}) +Breaks: binutils-hppa64 (<< 2.25.1-2) +Replaces: binutils-hppa64 (<< 2.25.1-2) +Description: GNU assembler, linker and binary utilities targeted for hppa64-linux + The programs in this package are used to assemble, link and manipulate + binary and object files. They may be used in conjunction with a compiler + and various libraries to build programs. + . + This package is needed to build an 64-bit kernel for 64-bit hppa machines. + +Package: binutils-hppa64-linux-gnu-dbg +Section: debug +Architecture: amd64 i386 x32 hppa +Depends: binutils-hppa64-linux-gnu (= ${binary:Version}) +Description: GNU binutils targeted for hppa64-linux (debug symbols) + This package provides debug symbols for binutils-hppa64-linux-gnu. + +Package: binutils-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Priority: optional +Suggests: binutils (= ${binary:Version}) +Description: Documentation for the GNU assembler, linker and binary utilities + This package consists of the documentation for the GNU assembler, + linker and binary utilities in info format. + +Package: binutils-source +Architecture: all +Multi-Arch: foreign +Priority: optional +Depends: texinfo, zlib1g-dev, make, python3 +Description: GNU assembler, linker and binary utilities (source) + This package contains the sources and patches which are needed to + build binutils. + +Package: binutils-common +Architecture: any +Multi-Arch: same +Breaks: binutils (<< 2.29.1-3.1~) +Replaces: binutils (<< 2.29.1-3.1~) +Description: Common files for the GNU assembler, linker and binary utilities + This package contains the localization files used by binutils packages for + various target architectures and parts of the binutils documentation. It is + not useful on its own. diff --git a/copyright b/copyright new file mode 100644 index 000000000..50efc00ae --- /dev/null +++ b/copyright @@ -0,0 +1,44 @@ +This is the Debian GNU/Linux prepackaged version of the GNU assembler, +linker, and binary utilities. + +This package was put together by me, James Troup , +from sources, which I obtained from: + + ftp://ftp.gnu.org/pub/gnu/binutils/ + +and: + + cvs://:pserver:anoncvs@sources.redhat.com:/cvs/src + +It was previously maintained by Christopher C. Chimelis + +GNU Binutils is Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, +1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software +Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL' +and `/usr/share/common-licenses/LGPL'. + +The binutils manuals and associated documentation are also Copyright +(C) Free Software Foundation, Inc. They are distributed under the GNU +Free Documentation License Version 1.3 or any later version published +by the Free Software Foundation, with no Invariant Sections, with no +with no Front-Cover Texts, and with no Back-Cover Texts. +On Debian GNU/Linux systems, the complete text of the GFDL can be found +in `/usr/share/common-licenses/GFDL'. diff --git a/dwp.1 b/dwp.1 new file mode 100644 index 000000000..76691a241 --- /dev/null +++ b/dwp.1 @@ -0,0 +1,33 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. +.TH DWP "1" "July 2018" "dwp (GNU Binutils for Debian) 2.31.1" "User Commands" +.SH NAME +dwp \- The DWARF packaging utility +.SH SYNOPSIS +.B dwp +[\fI\,options\/\fR] [\fI\,file\/\fR...] +.SH DESCRIPTION +.TP +\fB\-h\fR, \fB\-\-help\fR +Print this help message +.TP +\fB\-e\fR EXE, \fB\-\-exec\fR EXE +Get list of dwo files from EXE (defaults output to EXE.dwp) +.TP +\fB\-o\fR FILE, \fB\-\-output\fR FILE +Set output dwp file name +.TP +\fB\-v\fR, \fB\-\-verbose\fR +Verbose output +.TP +\fB\-\-verify\-only\fR +Verify output file against exec file +.TP +\fB\-V\fR, \fB\-\-version\fR +Print version number +.SH "REPORTING BUGS" +Report bugs to +.SH COPYRIGHT +Copyright \(co 2018 Free Software Foundation, Inc. +This program is free software; you may redistribute it under the terms of +the GNU General Public License version 3 or (at your option) any later version. +This program has absolutely no warranty. diff --git a/gfdl.texi b/gfdl.texi new file mode 100644 index 000000000..695e4ae72 --- /dev/null +++ b/gfdl.texi @@ -0,0 +1,41 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header + +@settitle BFD/ld internal documentation + +@c Create a separate index for command line options. +@defcodeindex op +@c Merge the standard indexes into a single one. +@syncodeindex fn cp +@syncodeindex vr cp +@syncodeindex ky cp +@syncodeindex pg cp +@syncodeindex tp cp + +@paragraphindent 1 + +@c %**end of header + +@copying +The current documentation is licensed under the same terms as the Debian packaging. +@end copying +@ifnottex +@dircategory Programming +@direntry +* @name@: (@name@). BFD/ld internal documentation (@name@). +@end direntry +@sp 1 +@end ifnottex + +@summarycontents +@contents +@page + +@node Top +@top Introduction +@cindex introduction +The official BFD, BFD internals and ld internals documentation is released +under the terms of the GNU Free Documentation License with cover texts. +This has been considered non free by the Debian Project. Thus you will find +it in the non-free section of the Debian archive. +@bye diff --git a/ld.gold.1 b/ld.gold.1 new file mode 100644 index 000000000..92323601a --- /dev/null +++ b/ld.gold.1 @@ -0,0 +1,863 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. +.TH GOLD "1" "July 2018" "gold (GNU Binutils for Debian 2.31.1) 1.16" "User Commands" +.SH NAME +gold \- The GNU ELF linker +.SH SYNOPSIS +.B ld.gold +[\fI\,options\/\fR] \fI\,file\/\fR... +.SH OPTIONS +.TP +\fB\-\-help\fR +Report usage information +.TP +\fB\-v\fR, \fB\-\-version\fR +Report version information +.TP +\fB\-V\fR +Report version and target information +.TP +\fB\-\-add\-needed\fR +Not supported +.TP +\fB\-\-no\-add\-needed\fR +Do not copy DT_NEEDED tags from shared libraries (default) +.HP +\fB\-\-allow\-multiple\-definition\fR Allow multiple definitions of symbols +.TP +\fB\-\-no\-allow\-multiple\-definition\fR +Do not allow multiple definitions (default) +.TP +\fB\-\-allow\-shlib\-undefined\fR +Allow unresolved references in shared libraries +.TP +\fB\-\-no\-allow\-shlib\-undefined\fR +Do not allow unresolved references in shared libraries (default) +.TP +\fB\-\-apply\-dynamic\-relocs\fR +Apply link\-time values for dynamic relocations (default) +.TP +\fB\-\-no\-apply\-dynamic\-relocs\fR +(aarch64 only) Do not apply link\-time values for dynamic relocations +.TP +\fB\-\-as\-needed\fR +Use DT_NEEDED only for shared libraries that are used +.TP +\fB\-\-no\-as\-needed\fR +Use DT_NEEDED for all shared libraries (default) +.TP +\fB\-assert\fR [ignored] +Ignored +.TP +\fB\-b\fR [elf,binary], \fB\-\-format\fR [elf,binary] +Set input format +.TP +\fB\-\-be8\fR +Output BE8 format image +.TP +\fB\-\-build\-id\fR [=STYLE] +Generate build ID note +.TP +\fB\-\-build\-id\-chunk\-size\-for\-treehash\fR SIZE +Chunk size for '\-\-build\-id=tree' +.TP +\fB\-\-build\-id\-min\-file\-size\-for\-treehash\fR SIZE +Minimum output file size for '\-\-build\-id=tree' to work differently than '\-\-build\-id=sha1' +.HP +\fB\-Bdynamic\fR \fB\-l\fR searches for shared libraries (default) +.HP +\fB\-Bstatic\fR \fB\-l\fR does not search for shared libraries +.TP +\fB\-dy\fR +alias for \fB\-Bdynamic\fR (default) +.TP +\fB\-dn\fR +alias for \fB\-Bstatic\fR +.TP +\fB\-Bgroup\fR +Use group name lookup rules for shared library +.TP +\fB\-Bshareable\fR +Generate shared library (alias for \fB\-G\fR/\-shared) +.TP +\fB\-Bsymbolic\fR +Bind defined symbols locally +.TP +\fB\-Bsymbolic\-functions\fR +Bind defined function symbols locally +.TP +\fB\-\-check\-sections\fR +Check segment addresses for overlaps (default) +.TP +\fB\-\-no\-check\-sections\fR +Do not check segment addresses for overlaps +.TP +\fB\-\-compress\-debug\-sections\fR [none,zlib,zlib\-gnu,zlib\-gabi] +Compress .debug_* sections in the output file +.TP +\fB\-\-copy\-dt\-needed\-entries\fR +Not supported +.HP +\fB\-\-no\-copy\-dt\-needed\-entries\fR Do not copy DT_NEEDED tags from shared libraries (default) +.TP +\fB\-\-cref\fR +Output cross reference table +.TP +\fB\-\-no\-cref\fR +Do not output cross reference table (default) +.TP +\fB\-\-ctors\-in\-init\-array\fR +Use DT_INIT_ARRAY for all constructors (default) +.TP +\fB\-\-no\-ctors\-in\-init\-array\fR +Handle constructors as directed by compiler +.TP +\fB\-d\fR, \fB\-\-define\-common\fR +Define common symbols +.TP +\fB\-\-no\-define\-common\fR +Do not define common symbols in relocatable output (default) +.TP +\fB\-dc\fR +Alias for \fB\-d\fR +.TP +\fB\-dp\fR +Alias for \fB\-d\fR +.TP +\fB\-\-debug\fR [all,files,script,task][,...] +Turn on debugging +.TP +\fB\-\-defsym\fR SYMBOL=EXPRESSION +Define a symbol +.TP +\fB\-\-demangle\fR [=STYLE] +Demangle C++ symbols in log messages +.TP +\fB\-\-no\-demangle\fR +Do not demangle C++ symbols in log messages +.TP +\fB\-\-detect\-odr\-violations\fR +Look for violations of the C++ One Definition Rule +.TP +\fB\-\-no\-detect\-odr\-violations\fR +Do not look for violations of the C++ One Definition Rule (default) +.TP +\fB\-\-dynamic\-list\-data\fR +Add data symbols to dynamic symbols +.TP +\fB\-\-dynamic\-list\-cpp\-new\fR +Add C++ operator new/delete to dynamic symbols +.HP +\fB\-\-dynamic\-list\-cpp\-typeinfo\fR Add C++ typeinfo to dynamic symbols +.TP +\fB\-\-dynamic\-list\fR FILE +Read a list of dynamic symbols +.TP +\fB\-\-emit\-stub\-syms\fR +(PowerPC only) Label linker stubs with a symbol (default) +.TP +\fB\-\-no\-emit\-stub\-syms\fR +(PowerPC only) Do not label linker stubs with a symbol +.HP +\fB\-e\fR ADDRESS, \fB\-\-entry\fR ADDRESS Set program start address +.TP +\fB\-\-eh\-frame\-hdr\fR +Create exception frame header +.TP +\fB\-\-no\-eh\-frame\-hdr\fR +Do not create exception frame header (default) +.TP +\fB\-\-enable\-new\-dtags\fR +Enable use of DT_RUNPATH (default) +.TP +\fB\-\-disable\-new\-dtags\fR +Disable use of DT_RUNPATH +.TP +\fB\-\-no\-enum\-size\-warning\fR +(ARM only) Do not warn about objects with incompatible enum sizes +.TP +\fB\-\-exclude\-libs\fR lib,lib ... +Exclude libraries from automatic export +.TP +\fB\-E\fR, \fB\-\-export\-dynamic\fR +Export all dynamic symbols +.TP +\fB\-\-no\-export\-dynamic\fR +Do not export all dynamic symbols (default) +.TP +\fB\-\-export\-dynamic\-symbol\fR SYMBOL +Export SYMBOL to dynamic symbol table +.TP +\fB\-EB\fR +Link big\-endian objects. +.TP +\fB\-EL\fR +Link little\-endian objects. +.HP +\fB\-f\fR SHLIB, \fB\-\-auxiliary\fR SHLIB Auxiliary filter for shared object symbol table +.TP +\fB\-F\fR SHLIB, \fB\-\-filter\fR SHLIB +Filter for shared object symbol table +.TP +\fB\-\-fatal\-warnings\fR +Treat warnings as errors +.TP +\fB\-\-no\-fatal\-warnings\fR +Do not treat warnings as errors (default) +.TP +\fB\-fini\fR SYMBOL +Call SYMBOL at unload\-time +.TP +\fB\-\-fix\-arm1176\fR +(ARM only) Fix binaries for ARM1176 erratum (default) +.TP +\fB\-\-no\-fix\-arm1176\fR +(ARM only) Do not fix binaries for ARM1176 erratum +.TP +\fB\-\-fix\-cortex\-a8\fR +(ARM only) Fix binaries for Cortex\-A8 erratum +.TP +\fB\-\-no\-fix\-cortex\-a8\fR +(ARM only) Do not fix binaries for Cortex\-A8 erratum (default) +.TP +\fB\-\-fix\-cortex\-a53\-843419\fR +(AArch64 only) Fix Cortex\-A53 erratum 843419 +.TP +\fB\-\-no\-fix\-cortex\-a53\-843419\fR +(AArch64 only) Do not fix Cortex\-A53 erratum 843419 (default) +.TP +\fB\-\-fix\-cortex\-a53\-835769\fR +(AArch64 only) Fix Cortex\-A53 erratum 835769 +.TP +\fB\-\-no\-fix\-cortex\-a53\-835769\fR +(AArch64 only) Do not fix Cortex\-A53 erratum 835769 (default) +.TP +\fB\-\-fix\-v4bx\fR +(ARM only) Rewrite BX rn as MOV pc, rn for ARMv4 +.TP +\fB\-\-fix\-v4bx\-interworking\fR +(ARM only) Rewrite BX rn branch to ARMv4 interworking veneer +.TP +\fB\-fuse\-ld\fR [gold,bfd] +Ignored for GCC linker option compatibility +.TP +\fB\-g\fR +Ignored +.TP +\fB\-\-gc\-sections\fR +Remove unused sections +.TP +\fB\-\-no\-gc\-sections\fR +Don't remove unused sections (default) +.TP +\fB\-\-gdb\-index\fR +Generate .gdb_index section +.TP +\fB\-\-no\-gdb\-index\fR +Do not generate .gdb_index section (default) +.TP +\fB\-\-gnu\-unique\fR +Enable STB_GNU_UNIQUE symbol binding (default) +.TP +\fB\-\-no\-gnu\-unique\fR +Disable STB_GNU_UNIQUE symbol binding +.TP +\fB\-G\fR, \fB\-shared\fR +Generate shared library +.TP +\fB\-h\fR FILENAME, \fB\-soname\fR FILENAME +Set shared library name +.TP +\fB\-\-hash\-bucket\-empty\-fraction\fR FRACTION +Min fraction of empty buckets in dynamic hash +.TP +\fB\-\-hash\-style\fR [sysv,gnu,both] +Dynamic hash style +.TP +\fB\-i\fR +Alias for \fB\-r\fR +.TP +\fB\-\-icf\fR [none,all,safe] +Identical Code Folding. '\-\-icf=safe' Folds ctors, dtors and functions whose pointers are definitely not taken +.TP +\fB\-\-icf\-iterations\fR COUNT +Number of iterations of ICF (default 2) +.TP +\fB\-\-incremental\fR +Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking +.TP +\fB\-\-no\-incremental\fR +Do a full link (default) +.TP +\fB\-\-incremental\-full\fR +Do a full link and prepare output for incremental linking +.TP +\fB\-\-incremental\-update\fR +Do an incremental link; exit if not possible +.TP +\fB\-\-incremental\-base\fR FILE +Set base file for incremental linking (default is output file) +.TP +\fB\-\-incremental\-changed\fR +Assume files changed +.TP +\fB\-\-incremental\-unchanged\fR +Assume files didn't change +.TP +\fB\-\-incremental\-unknown\fR +Use timestamps to check files (default) +.TP +\fB\-\-incremental\-startup\-unchanged\fR +Assume startup files unchanged (files preceding this option) +.HP +\fB\-\-incremental\-patch\fR PERCENT Amount of extra space to allocate for patches (default 10) +.TP +\fB\-init\fR SYMBOL +Call SYMBOL at load\-time +.TP +\fB\-I\fR PROGRAM, \fB\-\-dynamic\-linker\fR PROGRAM +Set dynamic linker path +.TP +\fB\-\-just\-symbols\fR FILE +Read only symbol values from FILE +.TP +\fB\-\-keep\-files\-mapped\fR +Keep files mapped across passes (default) +.TP +\fB\-\-no\-keep\-files\-mapped\fR +Release mapped files after each pass +.TP +\fB\-\-keep\-unique\fR SYMBOL +Do not fold this symbol during ICF +.TP +\fB\-l\fR LIBNAME, \fB\-\-library\fR LIBNAME +Search for library LIBNAME +.TP +\fB\-\-ld\-generated\-unwind\-info\fR +Generate unwind information for PLT (default) +.TP +\fB\-\-no\-ld\-generated\-unwind\-info\fR +Do not generate unwind information for PLT +.TP +\fB\-L\fR DIR, \fB\-\-library\-path\fR DIR +Add directory to search path +.TP +\fB\-\-long\-plt\fR +(ARM only) Generate long PLT entries +.TP +\fB\-\-no\-long\-plt\fR +(ARM only) Do not generate long PLT entries (default) +.TP +\fB\-m\fR EMULATION +Set GNU linker emulation; obsolete +.TP +\fB\-\-map\-whole\-files\fR +Map whole files to memory (default) +.TP +\fB\-\-no\-map\-whole\-files\fR +Map relevant file parts to memory +.TP +\fB\-\-merge\-exidx\-entries\fR +(ARM only) Merge exidx entries in debuginfo (default) +.TP +\fB\-\-no\-merge\-exidx\-entries\fR +(ARM only) Do not merge exidx entries in debuginfo +.TP +\fB\-\-mmap\-output\-file\fR +Map the output file for writing (default) +.TP +\fB\-\-no\-mmap\-output\-file\fR +Do not map the output file for writing +.TP +\fB\-M\fR, \fB\-\-print\-map\fR +Write map file on standard output +.TP +\fB\-Map\fR MAPFILENAME +Write map file +.TP +\fB\-n\fR, \fB\-\-nmagic\fR +Do not page align data +.TP +\fB\-N\fR, \fB\-\-omagic\fR +Do not page align data, do not make text readonly +.TP +\fB\-\-no\-omagic\fR +Page align data, make text readonly (default) +.TP +\fB\-\-no\-keep\-memory\fR +Use less memory and more disk I/O (included only for compatibility with GNU ld) +.TP +\fB\-\-no\-undefined\fR +Report undefined symbols (even with \fB\-\-shared\fR) +.TP +\fB\-\-noinhibit\-exec\fR +Create an output file even if errors occur +.TP +\fB\-nostdlib\fR +Only search directories specified on the command line +.TP +\fB\-o\fR FILE, \fB\-\-output\fR FILE +Set output file name +.TP +\fB\-\-oformat\fR [binary] +Set output format +.TP +\fB\-O\fR LEVEL, \fB\-optimize\fR LEVEL +Optimize output file size +.TP +\fB\-\-orphan\-handling\fR [place,discard,warn,error] +Orphan section handling +.TP +\fB\-p\fR +Ignored for ARM compatibility +.TP +\fB\-pie\fR +Create a position independent executable +.TP +\fB\-no\-pie\fR +Do not create a position independent executable (default) +.TP +\fB\-\-pic\-executable\fR +Create a position independent executable +.TP +\fB\-\-no\-pic\-executable\fR +Do not create a position independent executable (default) +.TP +\fB\-\-pic\-veneer\fR +Force PIC sequences for ARM/Thumb interworking veneers +.TP +\fB\-no\-pipeline\-knowledge\fR +(ARM only) Ignore for backward compatibility (default) +.TP +\fB\-\-plt\-align\fR [=P2ALIGN] +(PowerPC only) Align PLT call stubs to fit cache lines +.TP +\fB\-\-plt\-localentry\fR +(PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions +.TP +\fB\-\-no\-plt\-localentry\fR +(PowerPC64 only) Don't optimize ELFv2 calls (default) +.TP +\fB\-\-plt\-static\-chain\fR +(PowerPC64 only) PLT call stubs should load r11 +.TP +\fB\-\-no\-plt\-static\-chain\fR +(PowerPC64 only) PLT call stubs should not load r11 (default) +.TP +\fB\-\-plt\-thread\-safe\fR +(PowerPC64 only) PLT call stubs with load\-load barrier +.TP +\fB\-\-no\-plt\-thread\-safe\fR +(PowerPC64 only) PLT call stubs without barrier (default) +.TP +\fB\-\-plugin\fR PLUGIN +Load a plugin library +.TP +\fB\-\-plugin\-opt\fR OPTION +Pass an option to the plugin +.TP +\fB\-\-posix\-fallocate\fR +Use posix_fallocate to reserve space in the output file (default) +.TP +\fB\-\-no\-posix\-fallocate\fR +Use fallocate or ftruncate to reserve space +.TP +\fB\-\-preread\-archive\-symbols\fR +Preread archive symbols when multi\-threaded +.TP +\fB\-\-print\-gc\-sections\fR +List removed unused sections on stderr +.TP +\fB\-\-no\-print\-gc\-sections\fR +Do not list removed unused sections (default) +.TP +\fB\-\-print\-icf\-sections\fR +List folded identical sections on stderr +.TP +\fB\-\-no\-print\-icf\-sections\fR +Do not list folded identical sections (default) +.TP +\fB\-\-print\-output\-format\fR +Print default output format +.TP +\fB\-\-print\-symbol\-counts\fR FILENAME +Print symbols defined and used for each input +.TP +\fB\-\-push\-state\fR +Save the state of flags related to input files +.TP +\fB\-\-pop\-state\fR +Restore the state of flags related to input files +.TP +\fB\-q\fR, \fB\-\-emit\-relocs\fR +Generate relocations in output +.TP +\fB\-Qy\fR +Ignored for SVR4 compatibility +.TP +\fB\-r\fR, \fB\-relocatable\fR +Generate relocatable output +.TP +\fB\-\-relax\fR +Relax branches on certain targets +.TP +\fB\-\-no\-relax\fR +Do not relax branches (default) +.TP +\fB\-\-retain\-symbols\-file\fR FILE +keep only symbols listed in this file +.TP +\fB\-\-rosegment\fR +Put read\-only non\-executable sections in their own segment +.TP +\fB\-\-rosegment\-gap\fR OFFSET +Set offset between executable and read\-only segments +.TP +\fB\-R\fR DIR +Add DIR to runtime search path +.TP +\fB\-rpath\fR DIR +Add DIR to runtime search path +.TP +\fB\-\-rpath\-link\fR DIR +Add DIR to link time shared library search path +.TP +\fB\-s\fR, \fB\-\-strip\-all\fR +Strip all symbols +.TP +\fB\-S\fR, \fB\-\-strip\-debug\fR +Strip debugging information +.TP +\fB\-\-strip\-debug\-non\-line\fR +Emit only debug line number information +.TP +\fB\-\-strip\-debug\-gdb\fR +Strip debug symbols that are unused by gdb (at least versions <= 7.4) +.TP +\fB\-\-strip\-lto\-sections\fR +Strip LTO intermediate code sections (default) +.TP +\fB\-\-section\-ordering\-file\fR FILENAME +Layout sections in the order specified +.TP +\fB\-\-section\-start\fR SECTION=ADDRESS +Set address of section +.TP +\fB\-\-secure\-plt\fR +(PowerPC only) Use new\-style PLT (default) +.TP +\fB\-\-sort\-common\fR [={ascending,descending}] +Sort common symbols by alignment +.TP +\fB\-\-sort\-section\fR [none,name] +Sort sections by name. '\-\-no\-text\-reorder' will override '\-\-sort\-section=name' for .text +.TP +\fB\-\-spare\-dynamic\-tags\fR COUNT +Dynamic tag slots to reserve (default 5) +.TP +\fB\-\-stub\-group\-size\fR SIZE +(ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. Negative values mean stubs are always after the group. 1 means use default size +.TP +\fB\-\-stub\-group\-multi\fR +(PowerPC only) Allow a group of stubs to serve multiple output sections (default) +.TP +\fB\-\-no\-stub\-group\-multi\fR +(PowerPC only) Each output section has its own stubs +.TP +\fB\-\-split\-stack\-adjust\-size\fR SIZE +Stack size when \fB\-fsplit\-stack\fR function calls non\-split +.TP +\fB\-static\fR +Do not link against shared libraries +.TP +\fB\-\-start\-lib\fR +Start a library +.TP +\fB\-\-end\-lib\fR +End a library +.TP +\fB\-\-stats\fR +Print resource usage statistics +.TP +\fB\-\-sysroot\fR DIR +Set target system root directory +.TP +\fB\-t\fR, \fB\-\-trace\fR +Print the name of each input file +.TP +\fB\-\-target1\-abs\fR +(ARM only) Force R_ARM_TARGET1 type to R_ARM_ABS32 +.TP +\fB\-\-target1\-rel\fR +(ARM only) Force R_ARM_TARGET1 type to R_ARM_REL32 +.TP +\fB\-\-target2\fR [rel, abs, got\-rel +(ARM only) Set R_ARM_TARGET2 relocation type +.TP +\fB\-\-text\-reorder\fR +Enable text section reordering for GCC section names (default) +.TP +\fB\-\-no\-text\-reorder\fR +Disable text section reordering for GCC section names +.TP +\fB\-\-threads\fR +Run the linker multi\-threaded +.TP +\fB\-\-no\-threads\fR +Do not run the linker multi\-threaded (default) +.TP +\fB\-\-thread\-count\fR COUNT +Number of threads to use +.TP +\fB\-\-thread\-count\-initial\fR COUNT +Number of threads to use in initial pass +.HP +\fB\-\-thread\-count\-middle\fR COUNT Number of threads to use in middle pass +.TP +\fB\-\-thread\-count\-final\fR COUNT +Number of threads to use in final pass +.TP +\fB\-\-tls\-optimize\fR +(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE (default) +.TP +\fB\-\-no\-tls\-optimize\fR +(PowerPC/64 only) Don'''t try to optimize TLS accesses +.TP +\fB\-\-tls\-get\-addr\-optimize\fR +(PowerPC/64 only) Use a special __tls_get_addr call (default) +.TP +\fB\-\-no\-tls\-get\-addr\-optimize\fR +(PowerPC/64 only) Don't use a special __tls_get_addr call +.TP +\fB\-\-toc\-optimize\fR +(PowerPC64 only) Optimize TOC code sequences (default) +.TP +\fB\-\-no\-toc\-optimize\fR +(PowerPC64 only) Don't optimize TOC code sequences +.TP +\fB\-\-toc\-sort\fR +(PowerPC64 only) Sort TOC and GOT sections (default) +.TP +\fB\-\-no\-toc\-sort\fR +(PowerPC64 only) Don't sort TOC and GOT sections +.TP +\fB\-T\fR FILE, \fB\-\-script\fR FILE +Read linker script +.TP +\fB\-Tbss\fR ADDRESS +Set the address of the bss segment +.TP +\fB\-Tdata\fR ADDRESS +Set the address of the data segment +.TP +\fB\-Ttext\fR ADDRESS +Set the address of the text segment +.TP +\fB\-Ttext\-segment\fR ADDRESS +Set the address of the text segment +.TP +\fB\-Trodata\-segment\fR ADDRESS +Set the address of the rodata segment +.TP +\fB\-u\fR SYMBOL, \fB\-\-undefined\fR SYMBOL +Create undefined reference to SYMBOL +.TP +\fB\-\-unresolved\-symbols\fR ignore\-all,report\-all,ignore\-in\-object\-files,ignore\-in\-shared\-libs +How to handle unresolved symbols +.TP +\fB\-\-verbose\fR +Alias for \fB\-\-debug\fR=\fI\,files\/\fR +.TP +\fB\-\-version\-script\fR FILE +Read version script +.TP +\fB\-\-warn\-common\fR +Warn about duplicate common symbols +.TP +\fB\-\-no\-warn\-common\fR +Do not warn about duplicate common symbols (default) +.TP +\fB\-\-warn\-constructors\fR +Ignored +.TP +\fB\-\-no\-warn\-constructors\fR +Ignored +.TP +\fB\-\-warn\-execstack\fR +Warn if the stack is executable +.TP +\fB\-\-no\-warn\-execstack\fR +Do not warn if the stack is executable (default) +.TP +\fB\-\-no\-warn\-mismatch\fR +Don't warn about mismatched input files +.TP +\fB\-\-warn\-multiple\-gp\fR +Ignored +.TP +\fB\-\-warn\-search\-mismatch\fR +Warn when skipping an incompatible library (default) +.TP +\fB\-\-no\-warn\-search\-mismatch\fR +Don't warn when skipping an incompatible library +.TP +\fB\-\-warn\-shared\-textrel\fR +Warn if text segment is not shareable +.TP +\fB\-\-no\-warn\-shared\-textrel\fR +Do not warn if text segment is not shareable (default) +.TP +\fB\-\-warn\-unresolved\-symbols\fR +Report unresolved symbols as warnings +.TP +\fB\-\-error\-unresolved\-symbols\fR +Report unresolved symbols as errors (default) +.TP +\fB\-z\fR buildd +Dummy z option +.TP +\fB\-\-no\-wchar\-size\-warning\fR +(ARM only) Do not warn about objects with incompatible wchar_t sizes +.TP +\fB\-\-weak\-unresolved\-symbols\fR +Convert unresolved symbols to weak references +.TP +\fB\-\-whole\-archive\fR +Include all archive contents +.TP +\fB\-\-no\-whole\-archive\fR +Include only needed archive contents (default) +.TP +\fB\-\-wrap\fR SYMBOL +Use wrapper functions for SYMBOL +.TP +\fB\-x\fR, \fB\-\-discard\-all\fR +Delete all local symbols +.TP +\fB\-X\fR, \fB\-\-discard\-locals\fR +Delete all temporary local symbols +.TP +\fB\-\-discard\-none\fR +Keep all local symbols +.TP +\fB\-y\fR SYMBOL, \fB\-\-trace\-symbol\fR SYMBOL +Trace references to symbol +.TP +\fB\-\-undefined\-version\fR +Allow unused version in script (default) +.TP +\fB\-\-no\-undefined\-version\fR +Do not allow unused version in script +.TP +\fB\-Y\fR PATH +Default search path for Solaris compatibility +.TP +\-(, \fB\-\-start\-group\fR +Start a library search group +.TP +\-), \fB\-\-end\-group\fR +End a library search group +.TP +\fB\-z\fR bndplt +(x86\-64 only) Generate a BND PLT for Intel MPX +.TP +\fB\-z\fR nobndplt +Generate a regular PLT (default) +.TP +\fB\-z\fR combreloc +Sort dynamic relocs (default) +.TP +\fB\-z\fR nocombreloc +Do not sort dynamic relocs +.TP +\fB\-z\fR common\-page\-size=SIZE +Set common page size to SIZE +.TP +\fB\-z\fR defs +Report undefined symbols (even with \fB\-\-shared\fR) +.TP +\fB\-z\fR execstack +Mark output as requiring executable stack +.TP +\fB\-z\fR global +Make symbols in DSO available for subsequently loaded objects +.TP +\fB\-z\fR initfirst +Mark DSO to be initialized first at runtime +.TP +\fB\-z\fR interpose +Mark object to interpose all DSOs but executable +.TP +\fB\-z\fR lazy +Mark object for lazy runtime binding (default) +.TP +\fB\-z\fR loadfltr +Mark object requiring immediate process +.TP +\fB\-z\fR max\-page\-size=SIZE +Set maximum page size to SIZE +.TP +\fB\-z\fR muldefs +Allow multiple definitions of symbols +.TP +\fB\-z\fR nocopyreloc +Do not create copy relocs +.TP +\fB\-z\fR nodefaultlib +Mark object not to use default search paths +.TP +\fB\-z\fR nodelete +Mark DSO non\-deletable at runtime +.TP +\fB\-z\fR nodlopen +Mark DSO not available to dlopen +.TP +\fB\-z\fR nodump +Mark DSO not available to dldump +.TP +\fB\-z\fR noexecstack +Mark output as not requiring executable stack +.TP +\fB\-z\fR now +Mark object for immediate function binding +.TP +\fB\-z\fR origin +Mark DSO to indicate that needs immediate $ORIGIN processing at runtime +.TP +\fB\-z\fR relro +Where possible mark variables read\-only after relocation (default) +.TP +\fB\-z\fR norelro +Don't mark variables read\-only after relocation +.TP +\fB\-z\fR stack\-size=SIZE +Set PT_GNU_STACK segment p_memsz to SIZE +.TP +\fB\-z\fR text +Do not permit relocations in read\-only segments +.TP +\fB\-z\fR notext +Permit relocations in read\-only segments (default) +.TP +\fB\-z\fR textoff +Permit relocations in read\-only segments (default) +.TP +\fB\-z\fR text\-unlikely\-segment +Move .text.unlikely sections to a separate segment. +.TP +\fB\-z\fR notext\-unlikely\-segment +Do not move .text.unlikely sections to a separate segment. (default) +.HP +\fB\-z\fR keep\-text\-section\-prefix Keep .text.hot, .text.startup, .text.exit and .text.unlikely as separate sections in the final binary. +.TP +\fB\-z\fR nokeep\-text\-section\-prefix +Merge all .text.* prefix sections. (default) +.PP +debian/tmp/usr/bin/ld.gold: supported targets: elf32\-iamcu elf32\-i386 elf32\-i386\-freebsd elf32\-i386\-nacl elf32\-x86\-64 elf32\-x86\-64\-freebsd elf32\-x86\-64\-nacl elf64\-x86\-64 elf64\-x86\-64\-freebsd elf64\-x86\-64\-nacl +debian/tmp/usr/bin/ld.gold: supported emulations: elf_iamcu elf_i386 elf_i386_nacl elf32_x86_64 elf32_x86_64_nacl elf_x86_64 elf_x86_64_nacl +.SH "REPORTING BUGS" +Report bugs to +.SH COPYRIGHT +Copyright \(co 2018 Free Software Foundation, Inc. +This program is free software; you may redistribute it under the terms of +the GNU General Public License version 3 or (at your option) a later version. +This program has absolutely no warranty. diff --git a/libbinutils.overrides b/libbinutils.overrides new file mode 100644 index 000000000..67e71e719 --- /dev/null +++ b/libbinutils.overrides @@ -0,0 +1,5 @@ +# the API of the shared libs is not public, don't care about the name +libbinutils binary: package-name-doesnt-match-sonames + +# the upstream name, we don't care +libbinutils binary: dev-pkg-without-shlib-symlink diff --git a/libbinutils.shlibs.in b/libbinutils.shlibs.in new file mode 100644 index 000000000..6964e2919 --- /dev/null +++ b/libbinutils.shlibs.in @@ -0,0 +1,2 @@ +libbfd @VER@-system@DATE_EXT@ libbinutils (>= @DEB_UVER@), libbinutils (<< @DEB_NVER@) +libopcodes @VER@-system@DATE_EXT@ libbinutils (>= @DEB_UVER@), libbinutils (<< @DEB_NVER@) diff --git a/patches/001_ld_makefile_patch.patch b/patches/001_ld_makefile_patch.patch new file mode 100644 index 000000000..b1685cad3 --- /dev/null +++ b/patches/001_ld_makefile_patch.patch @@ -0,0 +1,31 @@ +Author: +Description: Description: correct where ld scripts are installed +Author: Chris Chimelis +Upstream status: N/A +Date: ?? +Index: b/ld/Makefile.am +=================================================================== +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -57,7 +57,7 @@ endif + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +Index: b/ld/Makefile.in +=================================================================== +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -563,7 +563,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/patches/002_gprof_profile_arcs.patch b/patches/002_gprof_profile_arcs.patch new file mode 100644 index 000000000..a97f4db9e --- /dev/null +++ b/patches/002_gprof_profile_arcs.patch @@ -0,0 +1,29 @@ +Author: Chris Chimelis +Description: Add more documentation about profiling and -fprofile-arcs. +Index: b/gprof/gprof.texi +=================================================================== +--- a/gprof/gprof.texi ++++ b/gprof/gprof.texi +@@ -145,6 +145,10 @@ + If more than one profile file is specified, the @code{gprof} + output shows the sum of the profile information in the given profile files. + ++If you use gcc 2.95.x or 3.0 to compile your binaries, you may need ++to add the @samp{-fprofile-arcs} to the compile command line in order ++for the call graphs to be properly stored in gmon.out. ++ + @code{Gprof} calculates the amount of time spent in each routine. + Next, these times are propagated along the edges of the call graph. + Cycles are discovered, and calls into a cycle are made to share the time +@@ -276,6 +280,11 @@ + options. The same option, @samp{-pg}, alters either compilation or linking + to do what is necessary for profiling. Here are examples: + ++If you use gcc 2.95.x or 3.0.x, you may need to add the ++@samp{-fprofile-arcs} option to the compile line along with @samp{-pg} ++in order to allow the call-graphs to be properly included in the gmon.out ++file. ++ + @example + cc -g -c myprog.c utils.c -pg + cc -o myprog myprog.o utils.o -pg diff --git a/patches/003_gprof_see_also_monitor.patch b/patches/003_gprof_see_also_monitor.patch new file mode 100644 index 000000000..38f91561b --- /dev/null +++ b/patches/003_gprof_see_also_monitor.patch @@ -0,0 +1,15 @@ +Author: Chris Chimelis +Description: Don't mention monitor(3) which doesn't exist in Debian. (#160654) +Index: b/gprof/gprof.texi +=================================================================== +--- a/gprof/gprof.texi ++++ b/gprof/gprof.texi +@@ -193,7 +193,7 @@ + @c man end + + @c man begin SEEALSO +-monitor(3), profil(2), cc(1), prof(1), and the Info entry for @file{gprof}. ++cc(1), prof(1), and the Info entry for @file{gprof}. + + ``An Execution Profiler for Modular Programs'', + by S. Graham, P. Kessler, M. McKusick; diff --git a/patches/006_better_file_error.patch b/patches/006_better_file_error.patch new file mode 100644 index 000000000..2c4e0015d --- /dev/null +++ b/patches/006_better_file_error.patch @@ -0,0 +1,21 @@ +Author: David Kimdon +Description: Specify which filename is causing an error if the filename is a +directory. (#45832) +Index: b/bfd/opncls.c +=================================================================== +--- a/bfd/opncls.c ++++ b/bfd/opncls.c +@@ -196,6 +196,13 @@ bfd_fopen (const char *filename, const c + { + bfd *nbfd; + const bfd_target *target_vec; ++ struct stat s; ++ ++ if (stat (filename, &s) == 0) ++ if (S_ISDIR(s.st_mode)) { ++ bfd_set_error (bfd_error_file_not_recognized); ++ return NULL; ++ } + + nbfd = _bfd_new_bfd (); + if (nbfd == NULL) diff --git a/patches/012_check_ldrunpath_length.patch b/patches/012_check_ldrunpath_length.patch new file mode 100644 index 000000000..b4e3b6cbf --- /dev/null +++ b/patches/012_check_ldrunpath_length.patch @@ -0,0 +1,25 @@ +Author: Chris Chimelis +Description: Only generate an RPATH entry if LD_RUN_PATH is not empty, for +cases where -rpath isn't specified. (#151024) +Index: b/ld/emultempl/elf32.em +=================================================================== +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1471,6 +1471,8 @@ fragment <link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/patches/013_bash_in_ld_testsuite.patch b/patches/013_bash_in_ld_testsuite.patch new file mode 100644 index 000000000..ed642cfee --- /dev/null +++ b/patches/013_bash_in_ld_testsuite.patch @@ -0,0 +1,15 @@ +Author: Matthias Klose +Description: Explicitly use bash for the ld testsuite. +Index: b/ld/testsuite/config/default.exp +=================================================================== +--- a/ld/testsuite/config/default.exp ++++ b/ld/testsuite/config/default.exp +@@ -117,7 +117,7 @@ load_lib ld-lib.exp + proc get_target_emul {} { + global target_triplet + global srcdir +- set status [catch "exec sh -c \"targ='$target_triplet' && . $srcdir/../configure.tgt && echo \\\$targ_emul\"" result] ++ set status [catch "exec bash -c \"targ='$target_triplet' && . $srcdir/../configure.tgt && echo \\\$targ_emul\"" result] + if $status { error "Error getting emulation name: $result" } + return $result + } diff --git a/patches/014_hash_style-both.patch b/patches/014_hash_style-both.patch new file mode 100644 index 000000000..61c3e6132 --- /dev/null +++ b/patches/014_hash_style-both.patch @@ -0,0 +1,30 @@ +# DP: Default to --hash-style=both in ld.bfd and ld.gold. + +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -287,6 +288,14 @@ + emulation = get_emulation (argc, argv); + ldemul_choose_mode (emulation); + default_target = ldemul_choose_target (argc, argv); ++ ++ /* Default to --hash-style=gnu */ ++ if (strcmp (default_target, "elf32-tradbigmips") != 0 ++ && strcmp (default_target, "elf32-tradlittlemips") != 0) ++ { ++ link_info.emit_gnu_hash = TRUE; ++ } ++ + config.maxpagesize = bfd_emul_get_maxpagesize (default_target); + config.commonpagesize = bfd_emul_get_commonpagesize (default_target); + lang_init (); +--- a/gold/options.h ++++ b/gold/options.h +@@ -794,7 +794,7 @@ + N_("Min fraction of empty buckets in dynamic hash"), + N_("FRACTION")); + +- DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv", ++ DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "both", + N_("Dynamic hash style"), N_("[sysv,gnu,both]"), + {"sysv", "gnu", "both"}); + diff --git a/patches/014_hash_style-gnu.patch b/patches/014_hash_style-gnu.patch new file mode 100644 index 000000000..b43b718e9 --- /dev/null +++ b/patches/014_hash_style-gnu.patch @@ -0,0 +1,31 @@ +# DP: Default to --hash-gnu=both in ld.bfd and ld.gold. + +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -287,6 +288,15 @@ + emulation = get_emulation (argc, argv); + ldemul_choose_mode (emulation); + default_target = ldemul_choose_target (argc, argv); ++ ++ /* Default to --hash-style=gnu */ ++ if (strcmp (default_target, "elf32-tradbigmips") != 0 ++ && strcmp (default_target, "elf32-tradlittlemips") != 0) ++ { ++ link_info.emit_gnu_hash = TRUE; ++ link_info.emit_hash = FALSE; ++ } ++ + config.maxpagesize = bfd_emul_get_maxpagesize (default_target); + config.commonpagesize = bfd_emul_get_commonpagesize (default_target); + lang_init (); +--- a/gold/options.h ++++ b/gold/options.h +@@ -794,7 +794,7 @@ + N_("Min fraction of empty buckets in dynamic hash"), + N_("FRACTION")); + +- DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv", ++ DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "gnu", + N_("Dynamic hash style"), N_("[sysv,gnu,both]"), + {"sysv", "gnu", "both"}); + diff --git a/patches/127_x86_64_i386_biarch.patch b/patches/127_x86_64_i386_biarch.patch new file mode 100644 index 000000000..b75ac8271 --- /dev/null +++ b/patches/127_x86_64_i386_biarch.patch @@ -0,0 +1,20 @@ +Author: +Description: Description: Add (/usr)/lib32 to the search paths on x86_64. +Author: Aurelien Jarno +Upstream status: Debian specific +--- a/ld/emulparams/elf_i386.sh ++++ b/ld/emulparams/elf_i386.sh +@@ -13,3 +13,13 @@ + NO_SMALL_DATA=yes + SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0" + IREL_IN_PLT= ++ ++# Linux modify the default library search path to first include ++# a 32-bit specific directory. ++case "$target" in ++ x86_64*-linux* | i[3-7]86*-linux* | x86_64*-kfreebsd*-gnu | i[3-7]86*-kfreebsd*-gnu) ++ case "$EMULATION_NAME" in ++ *i386*) LIBPATH_SUFFIX=32 ;; ++ esac ++ ;; ++esac diff --git a/patches/128_build_id.patch b/patches/128_build_id.patch new file mode 100644 index 000000000..cba02de07 --- /dev/null +++ b/patches/128_build_id.patch @@ -0,0 +1,42 @@ +Author: +Description: Description: Fix ld corrupt build ID generation +Author: Nick Clifton +Upstream status: Taken from Fedora (BZ 501582) +--- a/bfd/compress.c ++++ b/bfd/compress.c +@@ -174,7 +174,7 @@ + case COMPRESS_SECTION_NONE: + if (p == NULL) + { +- p = (bfd_byte *) bfd_malloc (sz); ++ p = (bfd_byte *) bfd_zmalloc (sz); + if (p == NULL) + return FALSE; + need_free = TRUE; +--- a/bfd/elfcode.h ++++ b/bfd/elfcode.h +@@ -1158,6 +1158,24 @@ + + if (i_shdr.contents) + (*process) (i_shdr.contents, i_shdr.sh_size, arg); ++ else ++ { ++ asection *sec; ++ ++ sec = bfd_section_from_elf_index (abfd, count); ++ if (sec != NULL) ++ { ++ if (sec->contents == NULL) ++ { ++ /* Force rereading from file. */ ++ sec->flags &= ~SEC_IN_MEMORY; ++ if (! bfd_malloc_and_get_section (abfd, sec, & sec->contents)) ++ continue; ++ } ++ if (sec->contents != NULL) ++ (*process) (sec->contents, i_shdr.sh_size, arg); ++ } ++ } + } + + return TRUE; diff --git a/patches/128_ppc64_powerpc_biarch.patch b/patches/128_ppc64_powerpc_biarch.patch new file mode 100644 index 000000000..a72fb513f --- /dev/null +++ b/patches/128_ppc64_powerpc_biarch.patch @@ -0,0 +1,17 @@ +Index: b/ld/emulparams/elf32ppccommon.sh +=================================================================== +--- a/ld/emulparams/elf32ppccommon.sh ++++ b/ld/emulparams/elf32ppccommon.sh +@@ -56,3 +56,12 @@ case `echo "$target" | sed -e 's/-.*//'` + *:*64*) LIBPATH_SUFFIX=64 ;; + *:*32*) LIBPATH_SUFFIX=32 ;; + esac ++ ++# On 64bit, look for 32 bit target libraries in /lib32, /usr/lib32 etc., first. ++case "$target" in ++ powerpc64-*-linux* | ppc64-*-linux*) ++ case "$EMULATION_NAME" in ++ *32*) LIBPATH_SUFFIX=32 ;; ++ esac ++ ;; ++esac diff --git a/patches/129_multiarch_libpath.patch b/patches/129_multiarch_libpath.patch new file mode 100644 index 000000000..f8858663c --- /dev/null +++ b/patches/129_multiarch_libpath.patch @@ -0,0 +1,353 @@ +# DP: Add multiarch directories to linker search path for ld and gold. + +Index: b/ld/genscripts.sh +=================================================================== +--- a/ld/genscripts.sh ++++ b/ld/genscripts.sh +@@ -189,6 +189,104 @@ append_to_lib_path() + fi + } + ++# set the multiarch tuples ++multiarch_name= ++multiarch_name_32= ++multiarch_name_64= ++multiarch_name_n32= ++multiarch_name_x32= ++ ++if true; then ++ # based on TOOL_LIB ++ multiarch_name=$DEB_TARGET_MULTIARCH ++ multiarch_name_32=$DEB_TARGET_MULTIARCH32 ++ multiarch_name_64=$DEB_TARGET_MULTIARCH64 ++ multiarch_name_n32=$DEB_TARGET_MULTIARCHN32 ++ multiarch_name_x32=$DEB_TARGET_MULTIARCHX32 ++else ++ # based on the emulation name; using TOOL_LIB seems to unreliable, when ++ # configuring with --enable-targets=powerpc-linux-gnu,powerpc64-linux-gnu ++ # only the first one (?) wins. ++ # FIXME: should this go into ld/emulparams/*.sh ? ++ case "$EMULATION_NAME" in ++ aarch64linux) ++ multiarch_name=aarch64-linux-gnu ++ ;; ++ aarch64linux32) ++ multiarch_name=aarch64_ilp32-linux-gnu ++ ;; ++ aarch64linux32b) ++ multiarch_name=aarch64_be_ilp32-linux-gnu ++ ;; ++ aarch64linuxb) ++ multiarch_name=aarch64_be-linux-gnu ++ ;; ++ armelf_linux_eabi) ++ # FIXME: TOOL_LIB can be arm-linux-gnueabi, arm-linux-gnueabihf, aarch64-linux-gnu ++ multiarch_name=arm-linux-gnueabi ++ ;; ++ armelfb_linux_eabi) ++ # FIXME: TOOL_LIB can be arm-linux-gnueabi, arm-linux-gnueabihf, aarch64-linux-gnu ++ multiarch_name=armeb-linux-gnueabi ++ ;; ++ elf32_sparc) ++ multiarch_name=sparc-linux-gnu ++ multiarch_name_64=sparc64-linux-gnu ++ ;; ++ elf32_x86_64) ++ multiarch_name=x86_64-linux-gnux32 ++ multiarch_name_32=i386-linux-gnu ++ multiarch_name_64=x86_64-linux-gnu ++ ;; ++ elf32btsmip) ++ ;; ++ elf32btsmipn32) ++ ;; ++ elf32ltsmip) ++ ;; ++ elf32ltsmipn32) ++ ;; ++ elf32elflppc) # necessary? ++ multiarch_name=powerpcle-linux-gnu ++ multiarch_name_64=powerpc64le-linux-gnu ++ ;; ++ elf32elflppclinux) ++ multiarch_name=powerpcle-linux-gnu ++ multiarch_name_64=powerpc64le-linux-gnu ++ ;; ++ elf32ppc) # necessary? ++ multiarch_name=powerpc-linux-gnu ++ multiarch_name_64=powerpc64-linux-gnu ++ ;; ++ elf32ppclinux) ++ multiarch_name=powerpc-linux-gnu ++ multiarch_name_64=powerpc64-linux-gnu ++ ;; ++ elf64ppc) ++ multiarch_name=powerpc64-linux-gnu ++ multiarch_name_32=powerpc-linux-gnu ++ ;; ++ esac ++fi ++ ++if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then ++ libs=${NATIVE_LIB_DIRS} ++ if [ "x${NATIVE}" = "xyes" ] ; then ++ case " ${libs} " in ++ *" ${libdir} "*) ;; ++ *) libs="${libdir} ${libs}" ;; ++ esac ++ fi ++ append_to_lib_path ${libs} ++fi ++ ++case :${lib_path1}:${lib_path2}: in ++ *:: | ::*) LIB_PATH=${lib_path1}${lib_path2} ;; ++ *) LIB_PATH=${lib_path1}:${lib_path2} ;; ++esac ++lib_path1= ++lib_path2= ++ + # Always search $(tooldir)/lib, aka /usr/local/TARGET/lib when native + # except when LIBPATH=":". + if [ "${LIB_PATH}" != ":" ] ; then +@@ -207,6 +305,13 @@ if [ "${LIB_PATH}" != ":" ] ; then + case "${NATIVE}:${libpath_suffix}:${TOOL_LIB}" in + :* | *::* | *:*:*${libpath_suffix}) ;; + *) libs="${exec_prefix}/${target_alias}/lib${libpath_suffix}" ;; ++ *) ++ # FIXME: ++ # For the binutils-multiarch build on x86_64-linux-gnu configured ++ # with --enable-targets=powerpc-linux-gnu, /usr/x86_64-linux-gnu/lib64 ++ # is added instead of /usr/powerpc64-linux-gnu/lib64. However this ++ # probably wanted for the "default" emulation. How to detect that? ++ libs="${exec_prefix}/${target_alias}/lib${libpath_suffix}" ;; + esac + done + libs="${exec_prefix}/${TOOL_LIB}/lib ${libs}" +@@ -214,24 +319,124 @@ if [ "${LIB_PATH}" != ":" ] ; then + append_to_lib_path ${libs} + fi + +-if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then +- libs=${NATIVE_LIB_DIRS} +- if [ "x${NATIVE}" = "xyes" ] ; then +- case " ${libs} " in +- *" ${libdir} "*) ;; +- *) libs="${libdir} ${libs}" ;; +- esac +- fi +- append_to_lib_path ${libs} +-fi +- + case :${lib_path1}:${lib_path2}: in +- *:: | ::*) LIB_PATH=${lib_path1}${lib_path2} ;; +- *) LIB_PATH=${lib_path1}:${lib_path2} ;; ++ *:: | ::*) LIB_PATH=${LIB_PATH}:${lib_path1}${lib_path2} ;; ++ *) LIB_PATH=${LIB_PATH}:${lib_path1}:${lib_path2} ;; + esac + ++# We use the $tool_lib variable in our multiarch mangling: ++if [ "x${TOOL_LIB}" = "x" ] ; then ++ tool_lib=${exec_prefix}/${target_alias}/lib ++else ++ tool_lib=${exec_prefix}/${TOOL_LIB}/lib ++fi ++ ++# FIXME: why again? These already should be in LIBPATH ++if [ "x${APPEND_TOOLLIBDIR}" = "xyes" ] ; then ++ LIB_PATH=${LIB_PATH}:${tool_lib} ++ # For multilib targets, search both $tool_lib dirs ++ if [ "x${LIBPATH_SUFFIX}" != "x" ] ; then ++ LIB_PATH=${LIB_PATH}:${tool_lib}${LIBPATH_SUFFIX} ++ fi ++fi ++ + LIB_SEARCH_DIRS=`echo ${LIB_PATH} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\\"\1\\");/g'` + ++if [ -n "$multiarch_name" ]; then ++ temp_dirs=' ' ++ ma_dirs=' ' ++ for dir in `echo ${LIB_PATH} | sed -e 's/:/ /g'`; do ++ case "$dir" in ++ *${tool_lib}*|*/${target_alias}/*) ++ ;; ++ */lib) ++ if [ -n "$multiarch_name_32" ]; then ++ case $EMULATION_NAME in ++ elf_i386|elf32*) ++ ma_dirs="${ma_dirs}${dir}/$multiarch_name_32 ";; ++ *) ++ ma_dirs="${ma_dirs}${dir}/$multiarch_name " ++ esac ++ elif [ -n "$multiarch_name_64" ]; then ++ case $EMULATION_NAME in ++ elf*_64|elf64*) ++ ma_dirs="${ma_dirs}${dir}/$multiarch_name_64 ";; ++ *) ++ ma_dirs="${ma_dirs}${dir}/$multiarch_name " ++ esac ++ else ++ ma_dirs="${ma_dirs}${dir}/$multiarch_name " ++ fi ++ ;; ++ */lib32) ++ if [ -n "$multiarch_name_32" ]; then ++ dir2=$(echo $dir | sed "s,32$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_32 " ++ fi ++ ;; ++ */lib64) ++ case "${target}" in ++ aarch64*-*-*|powerpc64-*-*|s390x-*-*|sparc64-*-*|x86_64-*-linux-gnu|mips64-*-gnuabi64) ++ #dir=$(echo $dir | sed "s,64$,,") ++ dir2=$(echo $dir | sed "s,64$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name " ++ ;; ++ *) ++ if [ -n "$multiarch_name_64" ]; then ++ dir2=$(echo $dir | sed "s,64$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_64 " ++ fi ++ ;; ++ esac ++ ;; ++ */libx32) ++ case "${target}" in ++ x86_64-*-linux-gnux32) ++ dir2=$(echo $dir | sed "s,x32$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name " ++ ;; ++ *) ++ if [ -n "$multiarch_name_x32" ]; then ++ dir2=$(echo $dir | sed "s,x32$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_x32 " ++ fi ++ ;; ++ esac ++ ;; ++ */libn32) ++ case "${target}" in ++ mips64*-*-linux-gnuabin32) ++ dir2=$(echo $dir | sed "s,n32$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name " ++ ;; ++ *) ++ if [ -n "$multiarch_name_n32" ]; then ++ dir2=$(echo $dir | sed "s,n32$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_n32 " ++ fi ++ ;; ++ esac ++ ;; ++ */libilp32) ++ if [ -n "$multiarch_name_32" ]; then ++ dir2=$(echo $dir | sed "s,ilp32$,,") ++ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_32 " ++ fi ++ ;; ++ *) ++ ;; ++ esac ++ temp_dirs="${temp_dirs}${dir} " ++ done ++ LIB_SEARCH_DIRS= ++ for dir in $ma_dirs $temp_dirs; do ++ if echo "$LIB_SEARCH_DIRS" | fgrep -q "\"$dir\""; then ++ continue ++ fi ++ LIB_SEARCH_DIRS="${LIB_SEARCH_DIRS}SEARCH_DIR(\"$dir\"); " ++ done ++fi ++ + # We need it for testsuite. + set $EMULATION_LIBPATH + if [ "x$1" = "x$EMULATION_NAME" ]; then +Index: b/gold/Makefile.am +=================================================================== +--- a/gold/Makefile.am ++++ b/gold/Makefile.am +@@ -42,6 +42,7 @@ AM_CPPFLAGS = \ + -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../elfcpp \ + -DLOCALEDIR="\"$(datadir)/locale\"" \ + -DBINDIR="\"$(bindir)\"" -DTOOLBINDIR="\"$(tooldir)/bin\"" \ ++ @MULTIARCH_DIRNAME@ $(if $(APPEND_TOOLLIBDIR),-DAPPEND_TOOLLIBDIR) \ + -DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@ + + LIBIBERTY = ../libiberty/libiberty.a +Index: b/gold/configure +=================================================================== +--- a/gold/configure ++++ b/gold/configure +@@ -625,6 +625,7 @@ LTLIBOBJS + MAINT + MAINTAINER_MODE_FALSE + MAINTAINER_MODE_TRUE ++MULTIARCH_DIRNAME + DLOPEN_LIBS + CXXCPP + HAVE_NO_USE_LINKER_PLUGIN_FALSE +@@ -10170,6 +10171,14 @@ $as_echo "#define HAVE_LC_MESSAGES 1" >> + fi + + ++if test x$DEB_TARGET_MULTIARCH != x; then ++ multiarch=$DEB_TARGET_MULTIARCH ++ if test -n "$multiarch"; then ++ MULTIARCH_DIRNAME='-DMULTIARCH_DIRNAME=\"'$multiarch'\"' ++ fi ++fi ++ ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 + $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } +Index: b/gold/configure.ac +=================================================================== +--- a/gold/configure.ac ++++ b/gold/configure.ac +@@ -682,6 +682,14 @@ AC_CHECK_HEADERS(locale.h) + AC_CHECK_FUNCS(setlocale) + AM_LC_MESSAGES + ++if test x$DEB_TARGET_MULTIARCH != x; then ++ multiarch=$DEB_TARGET_MULTIARCH ++ if test -n "$multiarch"; then ++ MULTIARCH_DIRNAME='-DMULTIARCH_DIRNAME=\"'$multiarch'\"' ++ fi ++fi ++AC_SUBST(MULTIARCH_DIRNAME) ++ + AM_MAINTAINER_MODE + + AC_OUTPUT(Makefile testsuite/Makefile po/Makefile.in:po/Make-in) +Index: b/gold/options.cc +=================================================================== +--- a/gold/options.cc ++++ b/gold/options.cc +@@ -1232,8 +1232,15 @@ General_options::finalize() + || this->user_set_sysroot() + || *TARGET_SYSTEM_ROOT != '\0') + { ++#ifdef MULTIARCH_DIRNAME ++ this->add_to_library_path_with_sysroot("/lib/" MULTIARCH_DIRNAME); ++ this->add_to_library_path_with_sysroot("/usr/lib/" MULTIARCH_DIRNAME); ++#endif + this->add_to_library_path_with_sysroot("/lib"); + this->add_to_library_path_with_sysroot("/usr/lib"); ++#ifdef APPEND_TOOLLIBDIR ++ this->add_to_library_path_with_sysroot(TOOLLIBDIR); ++#endif + } + else + this->add_to_library_path_with_sysroot(TOOLLIBDIR); +Index: b/gold/Makefile.in +=================================================================== +--- a/gold/Makefile.in ++++ b/gold/Makefile.in +@@ -685,6 +685,7 @@ AM_CPPFLAGS = \ + -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../elfcpp \ + -DLOCALEDIR="\"$(datadir)/locale\"" \ + -DBINDIR="\"$(bindir)\"" -DTOOLBINDIR="\"$(tooldir)/bin\"" \ ++ @MULTIARCH_DIRNAME@ $(if $(APPEND_TOOLLIBDIR),-DAPPEND_TOOLLIBDIR) \ + -DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@ + + LIBIBERTY = ../libiberty/libiberty.a diff --git a/patches/130_gold_disable_testsuite_build.patch b/patches/130_gold_disable_testsuite_build.patch new file mode 100644 index 000000000..e22d0dae0 --- /dev/null +++ b/patches/130_gold_disable_testsuite_build.patch @@ -0,0 +1,30 @@ +Author: +Description: Description: Disable build of gold/testsuite +Author: Matthias Klose +Upstream status: local +Index: b/gold/Makefile.am +=================================================================== +--- a/gold/Makefile.am ++++ b/gold/Makefile.am +@@ -19,7 +19,7 @@ + + AUTOMAKE_OPTIONS = foreign + +-SUBDIRS = po testsuite ++SUBDIRS = po + + tooldir = $(exec_prefix)/$(target_alias) + +Index: b/gold/Makefile.in +=================================================================== +--- a/gold/Makefile.in ++++ b/gold/Makefile.in +@@ -667,7 +667,7 @@ top_srcdir = @top_srcdir@ + zlibdir = @zlibdir@ + zlibinc = @zlibinc@ + AUTOMAKE_OPTIONS = foreign +-SUBDIRS = po testsuite ++SUBDIRS = po + tooldir = $(exec_prefix)/$(target_alias) + ACLOCAL_AMFLAGS = -I ../bfd -I ../config + diff --git a/patches/131_ld_bootstrap_testsuite.patch b/patches/131_ld_bootstrap_testsuite.patch new file mode 100644 index 000000000..dda9c2c7b --- /dev/null +++ b/patches/131_ld_bootstrap_testsuite.patch @@ -0,0 +1,47 @@ +Author: +Description: Description: Fix ld-bootstrap testsuite when configured with --enable-plugins +Author: Rafael Espindola +Upstream status: proposed patch +Index: b/ld/testsuite/ld-bootstrap/bootstrap.exp +=================================================================== +--- a/ld/testsuite/ld-bootstrap/bootstrap.exp ++++ b/ld/testsuite/ld-bootstrap/bootstrap.exp +@@ -46,6 +46,15 @@ if [check_plugin_api_available] { + set plugins "yes" + } + ++remote_exec host "$nm --help" "" "/dev/null" "plugin-support" ++set tmp [file_contents "plugin-support"] ++regexp ".*\(--plugin\).*\n" $tmp foo plugins ++if [info exists plugins] then { ++ set plugins "yes" ++} else { ++ set plugins "no" ++} ++ + # Bootstrap ld. First link the object files together using -r, in + # order to test -r. Then link the result into an executable, ld1, to + # really test -r. Use ld1 to link a fresh ld, ld2. Use ld2 to link a +@@ -110,6 +119,11 @@ foreach flags $test_flags { + continue + } + ++ if { $flags == "--static" && $plugins == "yes" } then { ++ untested $testname ++ continue ++ } ++ + # If we only have a shared libbfd, we probably can't run the + # --static test. + if { $flags == "--static" && ! [string match "*libbfd.a*" $BFDLIB] } then { +@@ -154,6 +168,10 @@ foreach flags $test_flags { + } + } + ++ if { $plugins == "yes" } { ++ set extralibs "$extralibs -ldl" ++ } ++ + # On Irix 5, linking with --static only works if all the files are + # compiled using -non_shared. + if {"$flags" == "--static"} { diff --git a/patches/135_bfd_version.patch b/patches/135_bfd_version.patch new file mode 100644 index 000000000..81dbb02a1 --- /dev/null +++ b/patches/135_bfd_version.patch @@ -0,0 +1,49 @@ +Author: +Description: Description: Fix bfd version handling for extra builds + +Index: b/bfd/Makefile.am +=================================================================== +--- a/bfd/Makefile.am ++++ b/bfd/Makefile.am +@@ -949,15 +949,15 @@ DISTCLEANFILES = $(BUILD_CFILES) $(BUILD + + bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in + @echo "creating $@" +- @bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ +- bfd_version_string="\"$(VERSION)\"" ;\ ++ @bfd_version=`echo "$(VERSION)" | sed -e 's/-.*$$//' | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ ++ bfd_version_string="\"`echo $(VERSION) | sed -e 's/-.*$$//'`\"" ;\ + bfd_soversion="$(VERSION)" ;\ + bfd_version_package="\"$(PKGVERSION)\"" ;\ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + . $(srcdir)/development.sh ;\ + if test "$$development" = true ; then \ + bfd_version_date=`$(SED) -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\ +- bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\ ++ bfd_version_string="\"`echo $(VERSION) | sed -e 's/-.*$$//'`.$${bfd_version_date}\"" ;\ + bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ + fi ;\ + $(SED) -e "s,@bfd_version@,$$bfd_version," \ +Index: b/bfd/Makefile.in +=================================================================== +--- a/bfd/Makefile.in ++++ b/bfd/Makefile.in +@@ -2060,15 +2060,15 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) + + bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in + @echo "creating $@" +- @bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ +- bfd_version_string="\"$(VERSION)\"" ;\ ++ @bfd_version=`echo "$(VERSION)" | sed -e 's/-.*$$//' | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ ++ bfd_version_string="\"`echo $(VERSION) | sed -e 's/-.*$$//'`\"" ;\ + bfd_soversion="$(VERSION)" ;\ + bfd_version_package="\"$(PKGVERSION)\"" ;\ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + . $(srcdir)/development.sh ;\ + if test "$$development" = true ; then \ + bfd_version_date=`$(SED) -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\ +- bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\ ++ bfd_version_string="\"`echo $(VERSION) | sed -e 's/-.*$$//'`.$${bfd_version_date}\"" ;\ + bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ + fi ;\ + $(SED) -e "s,@bfd_version@,$$bfd_version," \ diff --git a/patches/136_bfd_pic.patch b/patches/136_bfd_pic.patch new file mode 100644 index 000000000..7c66fbaf7 --- /dev/null +++ b/patches/136_bfd_pic.patch @@ -0,0 +1,29 @@ +Author: Balint Reczey +Description: Build libbfd with -fPIC to allow linking with PIE binaries + +Index: b/bfd/Makefile.am +=================================================================== +--- a/bfd/Makefile.am ++++ b/bfd/Makefile.am +@@ -51,7 +51,7 @@ ZLIBINC = @zlibinc@ + + WARN_CFLAGS = @WARN_CFLAGS@ + NO_WERROR = @NO_WERROR@ +-AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) ++AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) -fPIC + AM_CPPFLAGS = -DBINDIR='"$(bindir)"' + if PLUGINS + bfdinclude_HEADERS += $(INCDIR)/plugin-api.h +Index: b/bfd/Makefile.in +=================================================================== +--- a/bfd/Makefile.in ++++ b/bfd/Makefile.in +@@ -475,7 +475,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel + # case both are empty. + ZLIB = @zlibdir@ -lz + ZLIBINC = @zlibinc@ +-AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) ++AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) -fPIC + AM_CPPFLAGS = -DBINDIR='"$(bindir)"' @HDEFINES@ @COREFLAG@ @TDEFINES@ \ + $(CSEARCH) $(CSWITCHES) $(HAVEVECS) @INCINTL@ + @PLUGINS_TRUE@LIBDL = @lt_cv_dlopen_libs@ diff --git a/patches/157_ar_scripts_with_tilde.patch b/patches/157_ar_scripts_with_tilde.patch new file mode 100644 index 000000000..b1cb8b773 --- /dev/null +++ b/patches/157_ar_scripts_with_tilde.patch @@ -0,0 +1,13 @@ +Index: b/binutils/arlex.l +=================================================================== +--- a/binutils/arlex.l ++++ b/binutils/arlex.l +@@ -78,7 +78,7 @@ int linenumber; + "(" { return '('; } + ")" { return ')'; } + "," { return ','; } +-[A-Za-z0-9/\\$:.\-\_]+ { ++[A-Za-z0-9/\\$:.\-\_~]+ { + yylval.name = xstrdup (yytext); + return FILENAME; + } diff --git a/patches/158_ld_system_root.patch b/patches/158_ld_system_root.patch new file mode 100644 index 000000000..27c07a636 --- /dev/null +++ b/patches/158_ld_system_root.patch @@ -0,0 +1,42 @@ +Index: b/ld/configure.ac +=================================================================== +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -56,7 +56,9 @@ + *) TARGET_SYSTEM_ROOT=$with_sysroot ;; + esac + ++ if test "x$TARGET_SYSTEM_ROOT" != x/; then + TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"' ++ fi + use_sysroot=yes + + if test "x$prefix" = xNONE; then +Index: b/ld/configure +=================================================================== +--- a/ld/configure ++++ b/ld/configure +@@ -4283,7 +4283,9 @@ + *) TARGET_SYSTEM_ROOT=$with_sysroot ;; + esac + ++ if test "x$TARGET_SYSTEM_ROOT" != x/; then + TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"' ++ fi + use_sysroot=yes + + if test "x$prefix" = xNONE; then +Index: b/ld/ldmain.c +=================================================================== +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -226,8 +226,8 @@ + { + if (*TARGET_SYSTEM_ROOT == 0) + { +- einfo ("%P%F: this linker was not configured to use sysroots\n"); + ld_sysroot = ""; ++ ld_canon_sysroot = ""; + } + else + ld_canon_sysroot = lrealpath (ld_sysroot); diff --git a/patches/161_gold_dummy_zoption.diff b/patches/161_gold_dummy_zoption.diff new file mode 100644 index 000000000..73d0c8e08 --- /dev/null +++ b/patches/161_gold_dummy_zoption.diff @@ -0,0 +1,29 @@ +# DP: let gold accept a dummy -z buildd- option. + +Index: b/gold/options.h +=================================================================== +--- a/gold/options.h ++++ b/gold/options.h +@@ -1386,6 +1386,9 @@ class General_options + options::TWO_DASHES, '\0', + N_("Report unresolved symbols as errors"), + NULL, true); ++ DEFINE_bool(buildd, options::DASH_Z, '\0', false, ++ N_("Dummy z option"), ++ NULL); + + DEFINE_bool(wchar_size_warning, options::TWO_DASHES, '\0', true, NULL, + N_("(ARM only) Do not warn about objects with incompatible " +Index: b/gold/options.cc +=================================================================== +--- a/gold/options.cc ++++ b/gold/options.cc +@@ -965,6 +965,8 @@ parse_short_option(int argc, const char* + { + int dummy_i = 0; + const char* dash_z_arg = *arg; ++ if (strncmp(dash_z_arg, "buildd", strlen("buildd")) == 0) ++ *arg = "buildd"; + retval = parse_long_option(1, arg, true, arg, &dummy_i); + if (retval == NULL) + usage(_("unknown -z option"), dash_z_arg); diff --git a/patches/164_ld_doc_remove_xref.diff b/patches/164_ld_doc_remove_xref.diff new file mode 100644 index 000000000..f0a75663b --- /dev/null +++ b/patches/164_ld_doc_remove_xref.diff @@ -0,0 +1,16 @@ +# DP: In ld.texi, remove cross reference to BFD internals documentation. + +Index: b/ld/ld.texi +=================================================================== +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -8307,7 +8307,8 @@ may be spent optimizing algorithms for a + One minor artifact of the BFD solution which you should bear in + mind is the potential for information loss. There are two places where + useful information can be lost using the BFD mechanism: during +-conversion and during output. @xref{BFD information loss}. ++conversion and during output. See BFD information loss in the BFD ++internal documentation. + + @menu + * BFD outline:: How it works: an outline of BFD diff --git a/patches/aarch64-libpath.diff b/patches/aarch64-libpath.diff new file mode 100644 index 000000000..ef43bf786 --- /dev/null +++ b/patches/aarch64-libpath.diff @@ -0,0 +1,27 @@ +Index: b/ld/emulparams/aarch64linux.sh +=================================================================== +--- a/ld/emulparams/aarch64linux.sh ++++ b/ld/emulparams/aarch64linux.sh +@@ -38,12 +38,15 @@ + + # Linux modifies the default library search path to first include + # a 64-bit specific directory. +-case "$target" in +- aarch64*-linux*) +- case "$EMULATION_NAME" in +- aarch64linux*) LIBPATH_SUFFIX=64 ;; +- esac +- ;; +-esac ++ ++# not for multiarch systems ... ++ ++#case "$target" in ++# aarch64*-linux*) ++# case "$EMULATION_NAME" in ++# aarch64linux*) LIBPATH_SUFFIX=64 ;; ++# esac ++# ;; ++#esac + + ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64.so.1\" diff --git a/patches/binutils-no-development.diff b/patches/binutils-no-development.diff new file mode 100644 index 000000000..9eba2f07f --- /dev/null +++ b/patches/binutils-no-development.diff @@ -0,0 +1,10 @@ +Index: b/bfd/development.sh +=================================================================== +--- 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=true ++development=false diff --git a/patches/branch-no-development.diff b/patches/branch-no-development.diff new file mode 100644 index 000000000..9eba2f07f --- /dev/null +++ b/patches/branch-no-development.diff @@ -0,0 +1,10 @@ +Index: b/bfd/development.sh +=================================================================== +--- 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=true ++development=false diff --git a/patches/branch-updates.diff b/patches/branch-updates.diff new file mode 100644 index 000000000..afad3f1b9 --- /dev/null +++ b/patches/branch-updates.diff @@ -0,0 +1,4039 @@ +# DP: updates from the binutils-2.31 branch + +# git diff 0860693812fff944ab0602e72b762a4a2078da5b 13d737c2f9a0ac37e1f480220207fd8941d253f7 + +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index 5ec906aa8e..53bb9ebca1 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,8 +1,143 @@ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-11-09 Cupertino Miranda ++ * arc-got.h (arc_got_entry_type_for_reloc): Changed to ++ correct static TLS relocs. ++ * elf32-arc.c (elf_arc_check_relocs): Introduced warning to ++ TLS relocs which require -fPIC. ++ (arc_create_forced_local_got_entries_for_tls): Created. ++ Traverses list of GOT entries to be resolved statically ++ when needed. ++ (elf_arc_finish_dynamic_sections): Changed. Calls ++ arc_create_forced_local_got_entries_for_tls for each known ++ possibly GOT symbol. ++ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-11-09 Claudiu Zissulescu ++ * arc-got.h (arc_get_local_got_ents): Revamp it; use ++ elf_local_got_ents to store the local got list. ++ (get_got_entry_list_for_symbo): Restructure it. ++ * elf32-arc.c (elf_arc_relocate_section): Correct the call to ++ get_got_entry_list_for_symbol. ++ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-09-06 Cupertino Miranda ++ * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed. Take ++ TLS section alignment in consideration for this relocation. ++ * elf32-arc.c (FINAL_SECTSTART): Added this formula macro. ++ (ARC_TLS_DTPOFF) Updated reloc to use new created macro instead. ++ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-08-01 Cupertino Miranda ++ * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed, fixed ++ TCB_SIZE offsize to include section alignment. ++ * elf32-arc.c (arc_special_overflow_checks): Likewise. ++ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-03-02 Cupertino Miranda ++ * elf32-arc.c (elf_arc_check_relocs): Changed. ++ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-03-02 Cupertino Miranda ++ * elf32-arc.c (elf_arc_check_relocs): Changed. ++ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-03-02 Cupertino Miranda ++ * elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case ++ arc_htab is NULL. ++ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-03-02 Cupertino Miranda a ++ * arc-got.h (get_got_entry_list_for_symbol): Changed. ++ * ef32-arc.c (struct elf_arc_link_hash_entry): Moved and changed. ++ (elf_arc_link_hash_newfunc): Changed. ++ (arc_elf_link_hash_table_create): Removed old initializations. ++ (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed. ++ ++2018-11-06 H.J. Lu ++ ++ PR ld/23818 ++ * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols ++ defined in discarded input sections. ++ ++2018-09-12 H.J. Lu ++ ++ PR ld/23499 ++ * elf.c (_bfd_elf_get_symbol_version_string): Return ++ _("") for corrupt symbol version info. ++ ++2018-09-12 H.J. Lu ++ ++ PR ld/23499 ++ * elflink.c (bfd_elf_record_link_assignment): Always clear ++ h->verinfo.verdef when overriding a dynamic definition. ++ ++2018-08-12 H.J. Lu ++ ++ PR ld/23428 ++ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't ++ add X86_ISA_1_NEEDED property only if existing properties won't ++ be removed. ++ ++2018-08-10 H.J. Lu ++ ++ PR ld/23486 ++ * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove ++ GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it. ++ (_bfd_x86_elf_link_setup_gnu_properties): Adding the ++ GNU_PROPERTY_X86_ISA_1_NEEDED, instead of ++ GNU_PROPERTY_X86_ISA_1_USED, property. ++ ++2018-08-07 Alan Modra ++ ++ * elf64-ppc.c (ppc64_elf_relocate_section): Don't skip first ++ instruction of __tls_get_addr_opt stub. ++ (plt_stub_size): Omit ALWAYS_EMIT_R2SAVE condition when ++ dealing with __tls_get_addr_opt stub. ++ (build_tls_get_addr_stub, ppc_size_one_stub): Likewise. ++ ++2018-08-01 Alan Modra ++ ++ * elf64-ppc.c (plt_stub_pad): Delay plt_stub_size call until needed. ++ (ppc_build_one_stub): Don't set stub_offset, instead assert that ++ it is sane. Don't adjust stub_offset for alignment. Adjust size ++ calculation. Use "targ" temp when calculating offsets. ++ (ppc_size_one_stub): Set stub_offset here. Use "targ" temp when ++ calculating offsets. Adjust for alignment before setting ++ tls_get_addr_opt_bctrl. ++ ++2018-07-23 H.J. Lu ++ ++ PR ld/23428 ++ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the ++ separate code program header is needed, make sure that the first ++ read-only PT_LOAD segment has no code by adding a ++ GNU_PROPERTY_X86_ISA_1_USED note. ++ ++2018-07-18 Nick Clifton ++ ++ * development.sh: Set to true. ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. + * version.m4: Set to 2.31.1 +- * development.sh: Set to true. ++ * development.sh: Set to false. + * configure: Regenerate. + * po/bfd.pot: Regenerate. + +diff --git a/bfd/arc-got.h b/bfd/arc-got.h +index a86061bcb3..253578b90c 100644 +--- a/bfd/arc-got.h ++++ b/bfd/arc-got.h +@@ -24,6 +24,9 @@ + + #define TCB_SIZE (8) + ++#define align_power(addr, align) \ ++ (((addr) + ((bfd_vma) 1 << (align)) - 1) & (-((bfd_vma) 1 << (align)))) ++ + enum tls_type_e + { + GOT_UNKNOWN = 0, +@@ -51,27 +54,26 @@ struct got_entry + enum tls_got_entries existing_entries; + }; + ++/* Return the local got list, if not defined, create an empty one. */ ++ + static struct got_entry ** + arc_get_local_got_ents (bfd * abfd) + { +- static struct got_entry **local_got_ents = NULL; +- +- if (local_got_ents == NULL) ++ if (elf_local_got_ents (abfd) == NULL) + { +- size_t size; +- Elf_Internal_Shdr *symtab_hdr = &((elf_tdata (abfd))->symtab_hdr); +- +- size = symtab_hdr->sh_info * sizeof (bfd_vma); +- local_got_ents = (struct got_entry **) +- bfd_alloc (abfd, sizeof (struct got_entry *) * size); +- if (local_got_ents == NULL) +- return FALSE; +- +- memset (local_got_ents, 0, sizeof (struct got_entry *) * size); +- elf_local_got_ents (abfd) = local_got_ents; ++ bfd_size_type amt = (elf_tdata (abfd)->symtab_hdr.sh_info ++ * sizeof (*elf_local_got_ents (abfd))); ++ elf_local_got_ents (abfd) = bfd_zmalloc (amt); ++ if (elf_local_got_ents (abfd) == NULL) ++ { ++ _bfd_error_handler (_("%pB: cannot allocate memory for local " ++ "GOT entries"), abfd); ++ bfd_set_error (bfd_error_bad_value); ++ return NULL; ++ } + } + +- return local_got_ents; ++ return elf_local_got_ents (abfd); + } + + static struct got_entry * +@@ -156,15 +158,15 @@ get_got_entry_list_for_symbol (bfd *abfd, + unsigned long r_symndx, + struct elf_link_hash_entry *h) + { +- if (h != NULL) ++ struct elf_arc_link_hash_entry *h1 = ++ ((struct elf_arc_link_hash_entry *) h); ++ if (h1 != NULL) + { +- return &h->got.glist; ++ return &h1->got_ents; + } + else + { +- struct got_entry **local_got_ents +- = arc_get_local_got_ents (abfd); +- return &local_got_ents[r_symndx]; ++ return arc_get_local_got_ents (abfd) + r_symndx; + } + } + +@@ -206,7 +208,7 @@ arc_got_entry_type_for_reloc (reloc_howto_type *howto) + __LINE__, name_for_global_symbol (H)); \ + } \ + if (H) \ +- if (h->dynindx == -1 && !h->forced_local) \ ++ if (H->dynindx == -1 && !H->forced_local) \ + if (! bfd_elf_link_record_dynamic_symbol (info, H)) \ + return FALSE; \ + htab->s##SECNAME->size += 4; \ +@@ -282,6 +284,7 @@ relocate_fix_got_relocs_for_got_info (struct got_entry ** list_p, + BFD_ASSERT (entry); + + if (h == NULL ++ || h->forced_local == TRUE + || (! elf_hash_table (info)->dynamic_sections_created + || (bfd_link_pic (info) + && SYMBOL_REFERENCES_LOCAL (info, h)))) +@@ -329,23 +332,31 @@ relocate_fix_got_relocs_for_got_info (struct got_entry ** list_p, + BFD_ASSERT (tls_sec && tls_sec->output_section); + bfd_vma sec_vma = tls_sec->output_section->vma; + +- bfd_put_32 (output_bfd, +- sym_value - sec_vma, ++ if (h == NULL || h->forced_local ++ || !elf_hash_table (info)->dynamic_sections_created) ++ { ++ bfd_put_32 (output_bfd, ++ sym_value - sec_vma ++ + (elf_hash_table (info)->dynamic_sections_created ++ ? 0 ++ : (align_power (0, ++ tls_sec->alignment_power))), + htab->sgot->contents + entry->offset + + (entry->existing_entries == TLS_GOT_MOD_AND_OFF + ? 4 : 0)); + +- ARC_DEBUG ("arc_info: FIXED -> %s value = %#lx " +- "@ %lx, for symbol %s\n", +- (entry->type == GOT_TLS_GD ? "GOT_TLS_GD" : +- "GOT_TLS_IE"), +- (long) (sym_value - sec_vma), +- (long) (htab->sgot->output_section->vma +- + htab->sgot->output_offset->vma +- + entry->offset +- + (entry->existing_entries == TLS_GOT_MOD_AND_OFF +- ? 4 : 0)), +- symbol_name); ++ ARC_DEBUG ("arc_info: FIXED -> %s value = %#lx " ++ "@ %lx, for symbol %s\n", ++ (entry->type == GOT_TLS_GD ? "GOT_TLS_GD" : ++ "GOT_TLS_IE"), ++ (long) (sym_value - sec_vma), ++ (long) (htab->sgot->output_section->vma ++ + htab->sgot->output_offset ++ + entry->offset ++ + (entry->existing_entries == TLS_GOT_MOD_AND_OFF ++ ? 4 : 0)), ++ symbol_name); ++ } + } + break; + +@@ -357,7 +368,10 @@ relocate_fix_got_relocs_for_got_info (struct got_entry ** list_p, + + bfd_put_32 (output_bfd, + sym_value - sec_vma +- + (elf_hash_table (info)->dynamic_sections_created ? 0 : TCB_SIZE), ++ + (elf_hash_table (info)->dynamic_sections_created ++ ? 0 ++ : (align_power (TCB_SIZE, ++ tls_sec->alignment_power))), + htab->sgot->contents + entry->offset + + (entry->existing_entries == TLS_GOT_MOD_AND_OFF + ? 4 : 0)); +@@ -368,7 +382,7 @@ relocate_fix_got_relocs_for_got_info (struct got_entry ** list_p, + "GOT_TLS_IE"), + (long) (sym_value - sec_vma), + (long) (htab->sgot->output_section->vma +- + htab->sgot->output_offset->vma ++ + htab->sgot->output_offset + + entry->offset + + (entry->existing_entries == TLS_GOT_MOD_AND_OFF + ? 4 : 0)), +diff --git a/bfd/development.sh b/bfd/development.sh +index 918150f30b..27a7150e6d 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/elf.c b/bfd/elf.c +index 0f75375128..80410575b0 100644 +--- a/bfd/elf.c ++++ b/bfd/elf.c +@@ -1877,7 +1877,7 @@ _bfd_elf_get_symbol_version_string (bfd *abfd, asymbol *symbol, + { + Elf_Internal_Verneed *t; + +- version_string = ""; ++ version_string = _(""); + for (t = elf_tdata (abfd)->verref; + t != NULL; + t = t->vn_nextref) +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index a48ef0ca15..495fa342d3 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -160,6 +160,18 @@ struct arc_relocation_data + const char * symbol_name; + }; + ++/* ARC ELF linker hash entry. */ ++struct elf_arc_link_hash_entry ++{ ++ struct elf_link_hash_entry root; ++ ++ /* Track dynamic relocs copied for this symbol. */ ++ struct elf_dyn_relocs *dyn_relocs; ++ ++ struct got_entry *got_ents; ++}; ++ ++ + /* Should be included at this location due to static declarations + defined before this point. */ + #include "arc-got.h" +@@ -281,15 +293,6 @@ struct arc_reloc_map + unsigned char elf_reloc_val; + }; + +-/* ARC ELF linker hash entry. */ +-struct elf_arc_link_hash_entry +-{ +- struct elf_link_hash_entry root; +- +- /* Track dynamic relocs copied for this symbol. */ +- struct elf_dyn_relocs *dyn_relocs; +-}; +- + /* ARC ELF linker hash table. */ + struct elf_arc_link_hash_table + { +@@ -301,28 +304,28 @@ elf_arc_link_hash_newfunc (struct bfd_hash_entry *entry, + struct bfd_hash_table *table, + const char *string) + { ++ struct elf_arc_link_hash_entry * ret = ++ (struct elf_arc_link_hash_entry *) entry; ++ + /* Allocate the structure if it has not already been allocated by a + subclass. */ +- if (entry == NULL) +- { +- entry = (struct bfd_hash_entry *) +- bfd_hash_allocate (table, +- sizeof (struct elf_arc_link_hash_entry)); +- if (entry == NULL) +- return entry; +- } ++ if (ret == NULL) ++ ret = (struct elf_arc_link_hash_entry *) ++ bfd_hash_allocate (table, sizeof (struct elf_arc_link_hash_entry)); ++ if (ret == NULL) ++ return (struct bfd_hash_entry *) ret; + + /* Call the allocation method of the superclass. */ +- entry = _bfd_elf_link_hash_newfunc (entry, table, string); +- if (entry != NULL) ++ ret = ((struct elf_arc_link_hash_entry *) ++ _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret, ++ table, string)); ++ if (ret != NULL) + { +- struct elf_arc_link_hash_entry *eh; +- +- eh = (struct elf_arc_link_hash_entry *) entry; +- eh->dyn_relocs = NULL; ++ ret->dyn_relocs = NULL; ++ ret->got_ents = NULL; + } + +- return entry; ++ return (struct bfd_hash_entry *) ret; + } + + /* Destroy an ARC ELF linker hash table. */ +@@ -352,11 +355,6 @@ arc_elf_link_hash_table_create (bfd *abfd) + return NULL; + } + +- ret->elf.init_got_refcount.refcount = 0; +- ret->elf.init_got_refcount.glist = NULL; +- ret->elf.init_got_offset.offset = 0; +- ret->elf.init_got_offset.glist = NULL; +- + ret->elf.root.hash_table_free = elf_arc_link_hash_table_free; + + return &ret->elf.root; +@@ -1200,11 +1198,14 @@ arc_special_overflow_checks (const struct arc_relocation_data reloc_data, + + (reloc_data.reloc_offset)))) + #define SECTSTART (bfd_signed_vma) (reloc_data.sym_section->output_section->vma \ + + reloc_data.sym_section->output_offset) ++#define FINAL_SECTSTART \ ++ (bfd_signed_vma) (reloc_data.sym_section->output_section->vma) + #define JLI (bfd_signed_vma) (reloc_data.sym_section->output_section->vma) + #define _SDA_BASE_ (bfd_signed_vma) (reloc_data.sdata_begin_symbol_vma) + #define TLS_REL (bfd_signed_vma) \ + ((elf_hash_table (info))->tls_sec->output_section->vma) +-#define TLS_TBSS (8) ++#define TLS_TBSS (align_power(TCB_SIZE, \ ++ reloc_data.sym_section->alignment_power)) + + #define none (0) + +@@ -1615,10 +1616,14 @@ elf_arc_relocate_section (bfd * output_bfd, + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + { +- struct elf_link_hash_entry *h_old = h; ++ struct elf_arc_link_hash_entry *ah_old = ++ (struct elf_arc_link_hash_entry *) h; + h = (struct elf_link_hash_entry *) h->root.u.i.link; +- if (h->got.glist == 0 && h_old->got.glist != h->got.glist) +- h->got.glist = h_old->got.glist; ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; ++ ++ if (ah->got_ents == 0 && ah_old->got_ents != ah->got_ents) ++ ah->got_ents = ah_old->got_ents; + } + + /* TODO: Need to validate what was the intention. */ +@@ -1636,6 +1641,8 @@ elf_arc_relocate_section (bfd * output_bfd, + + if (is_reloc_for_GOT (howto) && !bfd_link_pic (info)) + { ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; + /* TODO: Change it to use arc_do_relocation with + ARC_32 reloc. Try to use ADD_RELA macro. */ + bfd_vma relocation = +@@ -1645,8 +1652,8 @@ elf_arc_relocate_section (bfd * output_bfd, + + reloc_data.sym_section->output_section->vma) + : 0); + +- BFD_ASSERT (h->got.glist); +- bfd_vma got_offset = h->got.glist->offset; ++ BFD_ASSERT (ah->got_ents); ++ bfd_vma got_offset = ah->got_ents->offset; + bfd_put_32 (output_bfd, relocation, + htab->sgot->contents + got_offset); + } +@@ -1717,7 +1724,7 @@ elf_arc_relocate_section (bfd * output_bfd, + reloc_data.should_relocate = TRUE; + + struct got_entry **list +- = get_got_entry_list_for_symbol (output_bfd, r_symndx, h); ++ = get_got_entry_list_for_symbol (input_bfd, r_symndx, h); + + reloc_data.got_offset_value + = relocate_fix_got_relocs_for_got_info (list, +@@ -1956,40 +1963,45 @@ elf_arc_check_relocs (bfd * abfd, + if (r_symndx < symtab_hdr->sh_info) /* Is a local symbol. */ + h = NULL; + else /* Global one. */ +- h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ { ++ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ while (h->root.type == bfd_link_hash_indirect ++ || h->root.type == bfd_link_hash_warning) ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ } ++ + + switch (r_type) + { +- case R_ARC_32: +- case R_ARC_32_ME: +- /* During shared library creation, these relocs should not +- appear in a shared library (as memory will be read only +- and the dynamic linker can not resolve these. However +- the error should not occur for e.g. debugging or +- non-readonly sections. */ +- if (h != NULL +- && (bfd_link_dll (info) && !bfd_link_pie (info)) +- && (sec->flags & SEC_ALLOC) != 0 +- && (sec->flags & SEC_READONLY) != 0 +- && ((sec->flags & SEC_CODE) != 0 +- || (sec->flags & SEC_DEBUGGING) != 0)) +- { +- const char *name; +- if (h) +- name = h->root.root.string; +- else +- /* bfd_elf_sym_name (abfd, symtab_hdr, isym, NULL); */ +- name = "UNKNOWN"; +- _bfd_error_handler +- /* xgettext:c-format */ +- (_("%pB: relocation %s against `%s' can not be used" +- " when making a shared object; recompile with -fPIC"), +- abfd, +- arc_elf_howto (r_type)->name, +- name); +- bfd_set_error (bfd_error_bad_value); +- return FALSE; +- } ++ case R_ARC_32: ++ case R_ARC_32_ME: ++ /* During shared library creation, these relocs should not ++ appear in a shared library (as memory will be read only ++ and the dynamic linker can not resolve these. However ++ the error should not occur for e.g. debugging or ++ non-readonly sections. */ ++ if (h != NULL ++ && (bfd_link_dll (info) && !bfd_link_pie (info)) ++ && (sec->flags & SEC_ALLOC) != 0 ++ && (sec->flags & SEC_READONLY) != 0 ++ && ((sec->flags & SEC_CODE) != 0 ++ || (sec->flags & SEC_DEBUGGING) != 0)) ++ { ++ const char *name; ++ if (h) ++ name = h->root.root.string; ++ else ++ name = "UNKNOWN"; ++ _bfd_error_handler ++ /* xgettext:c-format */ ++ (_("%pB: relocation %s against `%s' can not be used" ++ " when making a shared object; recompile with -fPIC"), ++ abfd, ++ arc_elf_howto (r_type)->name, ++ name); ++ bfd_set_error (bfd_error_bad_value); ++ return FALSE; ++ } + + /* In some cases we are not setting the 'non_got_ref' + flag, even though the relocations don't require a GOT +@@ -2031,13 +2043,33 @@ elf_arc_check_relocs (bfd * abfd, + if (h == NULL) + continue; + else +- h->needs_plt = 1; ++ if (h->forced_local == 0) ++ h->needs_plt = 1; + } + + /* Add info to the symbol got_entry_list. */ + if (is_reloc_for_GOT (howto) + || is_reloc_for_TLS (howto)) + { ++ if (bfd_link_dll (info) && !bfd_link_pie (info) ++ && (r_type == R_ARC_TLS_LE_32 || r_type == R_ARC_TLS_LE_S9)) ++ { ++ const char *name; ++ if (h) ++ name = h->root.root.string; ++ else ++ /* bfd_elf_sym_name (abfd, symtab_hdr, isym, NULL); */ ++ name = "UNKNOWN"; ++ _bfd_error_handler ++ /* xgettext:c-format */ ++ (_("%pB: relocation %s against `%s' can not be used" ++ " when making a shared object; recompile with -fPIC"), ++ abfd, ++ arc_elf_howto (r_type)->name, ++ name); ++ bfd_set_error (bfd_error_bad_value); ++ return FALSE; ++ } + if (! _bfd_elf_create_got_section (dynobj, info)) + return FALSE; + +@@ -2404,7 +2436,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, + create respective dynamic relocs. */ + /* TODO: Make function to get list and not access the list directly. */ + /* TODO: Move function to relocate_section create this relocs eagerly. */ +- create_got_dynrelocs_for_got_info (&h->got.glist, ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; ++ create_got_dynrelocs_for_got_info (&ah->got_ents, + output_bfd, + info, + h); +@@ -2413,6 +2447,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, + { + struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info); + ++ if (arc_htab == NULL) ++ return FALSE; ++ + if (h->dynindx == -1 + || (h->root.type != bfd_link_hash_defined + && h->root.type != bfd_link_hash_defweak) +@@ -2455,6 +2492,39 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, + s = bfd_get_linker_section (dynobj, SECTION); \ + break; + ++ ++struct obfd_info_group { ++ bfd *output_bfd; ++ struct bfd_link_info *info; ++}; ++ ++static bfd_boolean ++arc_create_forced_local_got_entries_for_tls (struct bfd_hash_entry *bh, ++ void *data) ++{ ++ struct elf_arc_link_hash_entry * h = ++ (struct elf_arc_link_hash_entry *) bh; ++ struct obfd_info_group *tmp = (struct obfd_info_group *) data; ++ ++ if (h->got_ents != NULL) ++ { ++ BFD_ASSERT (h); ++ ++ struct got_entry *list = h->got_ents; ++ ++ while (list != NULL) ++ { ++ create_got_dynrelocs_for_single_entry (list, tmp->output_bfd, ++ tmp->info, ++ (struct elf_link_hash_entry *) h); ++ list = list->next; ++ } ++ } ++ ++ return TRUE; ++} ++ ++ + /* Function : elf_arc_finish_dynamic_sections + Brief : Finish up the dynamic sections handling. + Args : output_bfd : +@@ -2588,6 +2658,12 @@ elf_arc_finish_dynamic_sections (bfd * output_bfd, + } + } + ++ struct obfd_info_group group; ++ group.output_bfd = output_bfd; ++ group.info = info; ++ bfd_hash_traverse (&info->hash->table, ++ arc_create_forced_local_got_entries_for_tls, &group); ++ + return TRUE; + } + +diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c +index 45d81777eb..139ed1abcd 100644 +--- a/bfd/elf64-ppc.c ++++ b/bfd/elf64-ppc.c +@@ -10810,8 +10810,7 @@ plt_stub_size (struct ppc_link_hash_table *htab, + && htab->params->tls_get_addr_opt) + { + size += 7 * 4; +- if (ALWAYS_EMIT_R2SAVE +- || stub_entry->stub_type == ppc_stub_plt_call_r2save) ++ if (stub_entry->stub_type == ppc_stub_plt_call_r2save) + size += 6 * 4; + } + return size; +@@ -10829,7 +10828,7 @@ plt_stub_pad (struct ppc_link_hash_table *htab, + bfd_vma plt_off) + { + int stub_align; +- unsigned stub_size = plt_stub_size (htab, stub_entry, plt_off); ++ unsigned stub_size; + bfd_vma stub_off = stub_entry->group->stub_sec->size; + + if (htab->params->plt_stub_align >= 0) +@@ -10841,6 +10840,7 @@ plt_stub_pad (struct ppc_link_hash_table *htab, + } + + stub_align = 1 << -htab->params->plt_stub_align; ++ stub_size = plt_stub_size (htab, stub_entry, plt_off); + if (((stub_off + stub_size - 1) & -stub_align) - (stub_off & -stub_align) + > ((stub_size - 1) & -stub_align)) + return stub_align - (stub_off & (stub_align - 1)); +@@ -11055,8 +11055,7 @@ build_tls_get_addr_stub (struct ppc_link_hash_table *htab, + bfd_put_32 (obfd, MR_R3_R0, p), p += 4; + if (r != NULL) + r[0].r_offset += 7 * 4; +- if (!ALWAYS_EMIT_R2SAVE +- && stub_entry->stub_type != ppc_stub_plt_call_r2save) ++ if (stub_entry->stub_type != ppc_stub_plt_call_r2save) + return build_plt_stub (htab, stub_entry, p, offset, r); + + bfd_put_32 (obfd, MFLR_R11, p), p += 4; +@@ -11148,7 +11147,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + struct ppc_link_hash_table *htab; + bfd_byte *loc; + bfd_byte *p; +- bfd_vma dest, off; ++ bfd_vma targ, off; + Elf_Internal_Rela *r; + asection *plt; + +@@ -11160,8 +11159,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + if (htab == NULL) + return FALSE; + +- /* Make a note of the offset within the stubs for this entry. */ +- stub_entry->stub_offset = stub_entry->group->stub_sec->size; ++ BFD_ASSERT (stub_entry->stub_offset >= stub_entry->group->stub_sec->size); + loc = stub_entry->group->stub_sec->contents + stub_entry->stub_offset; + + htab->stub_count[stub_entry->stub_type - 1] += 1; +@@ -11170,16 +11168,16 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + case ppc_stub_long_branch: + case ppc_stub_long_branch_r2off: + /* Branches are relative. This is where we are going to. */ +- dest = (stub_entry->target_value ++ targ = (stub_entry->target_value + + stub_entry->target_section->output_offset + + stub_entry->target_section->output_section->vma); +- dest += PPC64_LOCAL_ENTRY_OFFSET (stub_entry->other); +- off = dest; ++ targ += PPC64_LOCAL_ENTRY_OFFSET (stub_entry->other); + + /* And this is where we are coming from. */ +- off -= (stub_entry->stub_offset +- + stub_entry->group->stub_sec->output_offset +- + stub_entry->group->stub_sec->output_section->vma); ++ off = (stub_entry->stub_offset ++ + stub_entry->group->stub_sec->output_offset ++ + stub_entry->group->stub_sec->output_section->vma); ++ off = targ - off; + + p = loc; + if (stub_entry->stub_type == ppc_stub_long_branch_r2off) +@@ -11226,7 +11224,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + return FALSE; + r->r_offset = p - 4 - stub_entry->group->stub_sec->contents; + r->r_info = ELF64_R_INFO (0, R_PPC64_REL24); +- r->r_addend = dest; ++ r->r_addend = targ; + if (stub_entry->h != NULL) + { + struct elf_link_hash_entry **hashes; +@@ -11278,13 +11276,13 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + return FALSE; + } + +- dest = (stub_entry->target_value ++ targ = (stub_entry->target_value + + stub_entry->target_section->output_offset + + stub_entry->target_section->output_section->vma); + if (stub_entry->stub_type != ppc_stub_plt_branch_r2off) +- dest += PPC64_LOCAL_ENTRY_OFFSET (stub_entry->other); ++ targ += PPC64_LOCAL_ENTRY_OFFSET (stub_entry->other); + +- bfd_put_64 (htab->brlt->owner, dest, ++ bfd_put_64 (htab->brlt->owner, targ, + htab->brlt->contents + br_entry->offset); + + if (br_entry->iter == htab->stub_iteration) +@@ -11301,7 +11299,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + + htab->brlt->output_offset + + htab->brlt->output_section->vma); + rela.r_info = ELF64_R_INFO (0, R_PPC64_RELATIVE); +- rela.r_addend = dest; ++ rela.r_addend = targ; + + rl = htab->relbrlt->contents; + rl += (htab->relbrlt->reloc_count++ +@@ -11321,17 +11319,17 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + + htab->brlt->output_offset + + htab->brlt->output_section->vma); + r->r_info = ELF64_R_INFO (0, R_PPC64_RELATIVE); +- r->r_addend = dest; ++ r->r_addend = targ; + } + } + +- dest = (br_entry->offset ++ targ = (br_entry->offset + + htab->brlt->output_offset + + htab->brlt->output_section->vma); + +- off = (dest +- - elf_gp (info->output_bfd) +- - htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ off = (elf_gp (info->output_bfd) ++ + htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ off = targ - off; + + if (off + 0x80008000 > 0xffffffff || (off & 7) != 0) + { +@@ -11354,7 +11352,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + if (stub_entry->stub_type == ppc_stub_plt_branch_r2off) + r[0].r_offset += 4; + r[0].r_info = ELF64_R_INFO (0, R_PPC64_TOC16_DS); +- r[0].r_addend = dest; ++ r[0].r_addend = targ; + if (PPC_HA (off) != 0) + { + r[0].r_info = ELF64_R_INFO (0, R_PPC64_TOC16_HA); +@@ -11439,8 +11437,8 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + } + + /* Now build the stub. */ +- dest = stub_entry->plt_ent->plt.offset & ~1; +- if (dest >= (bfd_vma) -2) ++ targ = stub_entry->plt_ent->plt.offset & ~1; ++ if (targ >= (bfd_vma) -2) + abort (); + + plt = htab->elf.splt; +@@ -11453,12 +11451,11 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + else + plt = htab->pltlocal; + } ++ targ += plt->output_offset + plt->output_section->vma; + +- dest += plt->output_offset + plt->output_section->vma; +- +- off = (dest +- - elf_gp (info->output_bfd) +- - htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ off = (elf_gp (info->output_bfd) ++ + htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ off = targ - off; + + if (off + 0x80008000 > 0xffffffff || (off & 7) != 0) + { +@@ -11473,15 +11470,6 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + return FALSE; + } + +- if (htab->params->plt_stub_align != 0) +- { +- unsigned pad = plt_stub_pad (htab, stub_entry, off); +- +- stub_entry->group->stub_sec->size += pad; +- stub_entry->stub_offset = stub_entry->group->stub_sec->size; +- loc += pad; +- } +- + r = NULL; + if (info->emitrelocations) + { +@@ -11496,7 +11484,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + r[0].r_offset = loc - stub_entry->group->stub_sec->contents; + if (bfd_big_endian (info->output_bfd)) + r[0].r_offset += 2; +- r[0].r_addend = dest; ++ r[0].r_addend = targ; + } + if (stub_entry->h != NULL + && (stub_entry->h == htab->tls_get_addr_fd +@@ -11515,7 +11503,7 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + return FALSE; + } + +- stub_entry->group->stub_sec->size += p - loc; ++ stub_entry->group->stub_sec->size = stub_entry->stub_offset + (p - loc); + + if (htab->params->emit_stub_syms) + { +@@ -11567,7 +11555,7 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + struct ppc_stub_hash_entry *stub_entry; + struct bfd_link_info *info; + struct ppc_link_hash_table *htab; +- bfd_vma off; ++ bfd_vma targ, off; + int size; + + /* Massage our args to the form they really have. */ +@@ -11578,6 +11566,9 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + if (htab == NULL) + return FALSE; + ++ /* Make a note of the offset within the stubs for this entry. */ ++ stub_entry->stub_offset = stub_entry->group->stub_sec->size; ++ + if (stub_entry->h != NULL + && stub_entry->h->save_res + && stub_entry->h->elf.root.type == bfd_link_hash_defined +@@ -11594,8 +11585,8 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + || stub_entry->stub_type == ppc_stub_plt_call_r2save) + { + asection *plt; +- off = stub_entry->plt_ent->plt.offset & ~(bfd_vma) 1; +- if (off >= (bfd_vma) -2) ++ targ = stub_entry->plt_ent->plt.offset & ~(bfd_vma) 1; ++ if (targ >= (bfd_vma) -2) + abort (); + plt = htab->elf.splt; + if (!htab->elf.dynamic_sections_created +@@ -11607,23 +11598,30 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + else + plt = htab->pltlocal; + } +- off += (plt->output_offset +- + plt->output_section->vma +- - elf_gp (info->output_bfd) +- - htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ targ += plt->output_offset + plt->output_section->vma; ++ ++ off = (elf_gp (info->output_bfd) ++ + htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ off = targ - off; ++ ++ if (htab->params->plt_stub_align != 0) ++ { ++ unsigned pad = plt_stub_pad (htab, stub_entry, off); ++ ++ stub_entry->group->stub_sec->size += pad; ++ stub_entry->stub_offset = stub_entry->group->stub_sec->size; ++ } + + size = plt_stub_size (htab, stub_entry, off); ++ + if (stub_entry->h != NULL + && (stub_entry->h == htab->tls_get_addr_fd + || stub_entry->h == htab->tls_get_addr) + && htab->params->tls_get_addr_opt +- && (ALWAYS_EMIT_R2SAVE +- || stub_entry->stub_type == ppc_stub_plt_call_r2save)) ++ && stub_entry->stub_type == ppc_stub_plt_call_r2save) + stub_entry->group->tls_get_addr_opt_bctrl +- = stub_entry->group->stub_sec->size + size - 5 * 4; ++ = stub_entry->stub_offset + size - 5 * 4; + +- if (htab->params->plt_stub_align) +- size += plt_stub_pad (htab, stub_entry, off); + if (info->emitrelocations) + { + stub_entry->group->stub_sec->reloc_count +@@ -11642,12 +11640,12 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + bfd_vma r2off = 0; + bfd_vma local_off = 0; + +- off = (stub_entry->target_value +- + stub_entry->target_section->output_offset +- + stub_entry->target_section->output_section->vma); +- off -= (stub_entry->group->stub_sec->size +- + stub_entry->group->stub_sec->output_offset +- + stub_entry->group->stub_sec->output_section->vma); ++ targ = (stub_entry->target_value ++ + stub_entry->target_section->output_offset ++ + stub_entry->target_section->output_section->vma); ++ off = (stub_entry->stub_offset ++ + stub_entry->group->stub_sec->output_offset ++ + stub_entry->group->stub_sec->output_section->vma); + + /* Reset the stub type from the plt variant in case we now + can reach with a shorter stub. */ +@@ -11668,8 +11666,9 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + size += 4; + if (PPC_LO (r2off) != 0) + size += 4; +- off -= size - 4; ++ off += size - 4; + } ++ off = targ - off; + + local_off = PPC64_LOCAL_ENTRY_OFFSET (stub_entry->other); + +@@ -11709,11 +11708,12 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) + } + + stub_entry->stub_type += ppc_stub_plt_branch - ppc_stub_long_branch; +- off = (br_entry->offset +- + htab->brlt->output_offset +- + htab->brlt->output_section->vma +- - elf_gp (info->output_bfd) +- - htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ targ = (br_entry->offset ++ + htab->brlt->output_offset ++ + htab->brlt->output_section->vma); ++ off = (elf_gp (info->output_bfd) ++ + htab->sec_info[stub_entry->group->link_sec->id].toc_off); ++ off = targ - off; + + if (info->emitrelocations) + { +@@ -14877,10 +14877,13 @@ ppc64_elf_relocate_section (bfd *output_bfd, + addend = 0; + reloc_dest = DEST_STUB; + +- if ((stub_entry->stub_type == ppc_stub_plt_call ++ if (((stub_entry->stub_type == ppc_stub_plt_call ++ && ALWAYS_EMIT_R2SAVE) + || stub_entry->stub_type == ppc_stub_plt_call_r2save) +- && (ALWAYS_EMIT_R2SAVE +- || stub_entry->stub_type == ppc_stub_plt_call_r2save) ++ && !(h != NULL ++ && (h == htab->tls_get_addr_fd ++ || h == htab->tls_get_addr) ++ && htab->params->tls_get_addr_opt) + && rel + 1 < relend + && rel[1].r_offset == rel->r_offset + 4 + && ELF64_R_TYPE (rel[1].r_info) == R_PPC64_TOCSAVE) +diff --git a/bfd/elflink.c b/bfd/elflink.c +index b24fb95848..46091b6341 100644 +--- a/bfd/elflink.c ++++ b/bfd/elflink.c +@@ -686,13 +686,11 @@ bfd_elf_record_link_assignment (bfd *output_bfd, + && !h->def_regular) + h->root.type = bfd_link_hash_undefined; + +- /* If this symbol is not being provided by the linker script, and it is +- currently defined by a dynamic object, but not by a regular object, +- then clear out any version information because the symbol will not be +- associated with the dynamic object any more. */ +- if (!provide +- && h->def_dynamic +- && !h->def_regular) ++ /* If this symbol is currently defined by a dynamic object, but not ++ by a regular object, then clear out any version information because ++ the symbol will not be associated with the dynamic object any ++ more. */ ++ if (h->def_dynamic && !h->def_regular) + h->verinfo.verdef = NULL; + + /* Make sure this symbol is not garbage collected. */ +@@ -2360,10 +2358,19 @@ _bfd_elf_link_assign_sym_version (struct elf_link_hash_entry *h, void *data) + return FALSE; + } + ++ bed = get_elf_backend_data (info->output_bfd); ++ + /* We only need version numbers for symbols defined in regular + objects. */ + if (!h->def_regular) +- return TRUE; ++ { ++ /* Hide symbols defined in discarded input sections. */ ++ if ((h->root.type == bfd_link_hash_defined ++ || h->root.type == bfd_link_hash_defweak) ++ && discarded_section (h->root.u.def.section)) ++ (*bed->elf_backend_hide_symbol) (info, h, TRUE); ++ return TRUE; ++ } + + hide = FALSE; + bed = get_elf_backend_data (info->output_bfd); +diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c +index a2497aab86..2d8f7b640b 100644 +--- a/bfd/elfxx-x86.c ++++ b/bfd/elfxx-x86.c +@@ -2407,12 +2407,27 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, + switch (pr_type) + { + case GNU_PROPERTY_X86_ISA_1_USED: ++ if (aprop == NULL || bprop == NULL) ++ { ++ /* Only one of APROP and BPROP can be NULL. */ ++ if (aprop != NULL) ++ { ++ /* Remove this property since the other input file doesn't ++ have it. */ ++ aprop->pr_kind = property_remove; ++ updated = TRUE; ++ } ++ break; ++ } ++ goto or_property; ++ + case GNU_PROPERTY_X86_ISA_1_NEEDED: + if (aprop != NULL && bprop != NULL) + { ++or_property: + number = aprop->u.number; + aprop->u.number = number | bprop->u.number; +- /* Remove the property if ISA bits are empty. */ ++ /* Remove the property if all bits are empty. */ + if (aprop->u.number == 0) + { + aprop->pr_kind = property_remove; +@@ -2428,14 +2443,14 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, + { + if (aprop->u.number == 0) + { +- /* Remove APROP if ISA bits are empty. */ ++ /* Remove APROP if all bits are empty. */ + aprop->pr_kind = property_remove; + updated = TRUE; + } + } + else + { +- /* Return TRUE if APROP is NULL and ISA bits of BPROP ++ /* Return TRUE if APROP is NULL and all bits of BPROP + aren't empty to indicate that BPROP should be added + to ABFD. */ + updated = bprop->u.number != 0; +@@ -2524,6 +2539,7 @@ _bfd_x86_elf_link_setup_gnu_properties + const struct elf_backend_data *bed; + unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2; + unsigned int got_align; ++ bfd_boolean has_text = FALSE; + + features = 0; + if (info->ibt) +@@ -2538,24 +2554,75 @@ _bfd_x86_elf_link_setup_gnu_properties + if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour + && bfd_count_sections (pbfd) != 0) + { ++ if (!has_text) ++ { ++ /* Check if there is no non-empty text section. */ ++ sec = bfd_get_section_by_name (pbfd, ".text"); ++ if (sec != NULL && sec->size != 0) ++ has_text = TRUE; ++ } ++ + ebfd = pbfd; + + if (elf_properties (pbfd) != NULL) + break; + } + +- if (ebfd != NULL && features) ++ bed = get_elf_backend_data (info->output_bfd); ++ ++ htab = elf_x86_hash_table (info, bed->target_id); ++ if (htab == NULL) ++ return pbfd; ++ ++ if (ebfd != NULL) + { +- /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and +- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ +- prop = _bfd_elf_get_property (ebfd, +- GNU_PROPERTY_X86_FEATURE_1_AND, +- 4); +- prop->u.number |= features; +- prop->pr_kind = property_number; ++ prop = NULL; ++ if (features) ++ { ++ /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and ++ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_FEATURE_1_AND, ++ 4); ++ prop->u.number |= features; ++ prop->pr_kind = property_number; ++ } ++ else if (has_text ++ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL ++ && !htab->elf.dynamic_sections_created ++ && !info->traditional_format ++ && (info->output_bfd->flags & D_PAGED) != 0 ++ && info->separate_code) ++ { ++ /* If the separate code program header is needed, make sure ++ that the first read-only PT_LOAD segment has no code by ++ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */ ++ elf_property_list *list; ++ bfd_boolean need_property = TRUE; ++ ++ for (list = elf_properties (ebfd); list; list = list->next) ++ switch (list->property.pr_type) ++ { ++ case GNU_PROPERTY_STACK_SIZE: ++ case GNU_PROPERTY_NO_COPY_ON_PROTECTED: ++ case GNU_PROPERTY_X86_ISA_1_NEEDED: ++ /* These properties won't be removed during merging. */ ++ need_property = FALSE; ++ break; ++ } ++ ++ if (need_property) ++ { ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_ISA_1_NEEDED, ++ 4); ++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486; ++ prop->pr_kind = property_number; ++ } ++ } + + /* Create the GNU property note section if needed. */ +- if (pbfd == NULL) ++ if (prop != NULL && pbfd == NULL) + { + sec = bfd_make_section_with_flags (ebfd, + NOTE_GNU_PROPERTY_SECTION_NAME, +@@ -2581,12 +2648,6 @@ error_alignment: + + pbfd = _bfd_elf_link_setup_gnu_properties (info); + +- bed = get_elf_backend_data (info->output_bfd); +- +- htab = elf_x86_hash_table (info, bed->target_id); +- if (htab == NULL) +- return pbfd; +- + htab->r_info = init_table->r_info; + htab->r_sym = init_table->r_sym; + +diff --git a/bfd/version.h b/bfd/version.h +index 222d2e62c3..b9f90cbba5 100644 +--- a/bfd/version.h ++++ b/bfd/version.h +@@ -16,7 +16,7 @@ + + In releases, the date is not included in either version strings or + sonames. */ +-#define BFD_VERSION_DATE 20180718 ++#define BFD_VERSION_DATE 20181121 + #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/binutils/ChangeLog b/binutils/ChangeLog +index 32f47d5e07..6ef8592ff2 100644 +--- a/binutils/ChangeLog ++++ b/binutils/ChangeLog +@@ -1,3 +1,9 @@ ++2018-09-12 H.J. Lu ++ ++ PR ld/23499 ++ * readelf.c (get_symbol_version_string): Return _("") ++ for corrupt symbol version info. ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/binutils/readelf.c b/binutils/readelf.c +index 1b50ba7631..f4df697a7d 100644 +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -11252,6 +11252,7 @@ get_symbol_version_string (Filedata * filedata, + unsigned char data[2]; + unsigned short vers_data; + unsigned long offset; ++ unsigned short max_vd_ndx; + + if (!is_dynsym + || version_info[DT_VERSIONTAGIDX (DT_VERSYM)] == 0) +@@ -11269,6 +11270,8 @@ get_symbol_version_string (Filedata * filedata, + if ((vers_data & VERSYM_HIDDEN) == 0 && vers_data == 0) + return NULL; + ++ max_vd_ndx = 0; ++ + /* Usually we'd only see verdef for defined symbols, and verneed for + undefined symbols. However, symbols defined by the linker in + .dynbss for variables copied from a shared library in order to +@@ -11311,6 +11314,9 @@ get_symbol_version_string (Filedata * filedata, + ivd.vd_flags = BYTE_GET (evd.vd_flags); + } + ++ if ((ivd.vd_ndx & VERSYM_VERSION) > max_vd_ndx) ++ max_vd_ndx = ivd.vd_ndx & VERSYM_VERSION; ++ + off += ivd.vd_next; + } + while (ivd.vd_ndx != (vers_data & VERSYM_VERSION) && ivd.vd_next != 0); +@@ -11402,6 +11408,9 @@ get_symbol_version_string (Filedata * filedata, + return (ivna.vna_name < strtab_size + ? strtab + ivna.vna_name : _("")); + } ++ else if ((max_vd_ndx || (vers_data & VERSYM_VERSION) != 1) ++ && (vers_data & VERSYM_VERSION) > max_vd_ndx) ++ return _(""); + } + return NULL; + } +diff --git a/gas/ChangeLog b/gas/ChangeLog +index bb4541900d..67e9327ed2 100644 +--- a/gas/ChangeLog ++++ b/gas/ChangeLog +@@ -1,3 +1,82 @@ ++2018-11-05 H.J. Lu ++ ++ PR gas/23854 ++ * config/tc-i386.c (output_disp): Disable GOT relaxation with ++ data prefix. ++ * testsuite/gas/i386/mixed-mode-reloc32.d: Updated. ++ ++2018-10-19 Tamar Christina ++ ++ * testsuite/gas/arm/undefined-insn-arm.d: Widen pe skip. ++ * testsuite/gas/arm/undefined-insn-thumb.d: Likewise. ++ ++2018-10-19 Tamar Christina ++ ++ * testsuite/gas/arm/undefined-insn-arm.d: New test. ++ * testsuite/gas/arm/undefined-insn-thumb.d: New test. ++ * testsuite/gas/arm/undefined-insn.s: New test. ++ ++2018-10-16 Matthew Malcomson ++ ++ * testsuite/gas/aarch64/illegal-dotproduct.d: New test. ++ * testsuite/gas/aarch64/illegal-dotproduct.l: New test. ++ * testsuite/gas/aarch64/illegal-dotproduct.s: New test. ++ ++2018-10-05 H.J. Lu ++ ++ * testsuite/gas/i386/se1.s: Add enclv. ++ * testsuite/gas/i386/x86-64-se1.s: Likewise. ++ * testsuite/gas/i386/se1.d: Updated. ++ * testsuite/gas/i386/x86-64-se1.d: Likewise. ++ ++2018-09-18 Tamar Christina ++ ++ * config/tc-aarch64.c (output_operand_error_report): Apply filtering to ++ current instead of head message. ++ ++2018-09-17 Nick Clifton ++ ++ backport from mainline: ++ * 2018-08-14 Robert Yang ++ ++ * as.c (main): Improve check for input file matching output file. ++ ++2018-08-10 H.J. Lu ++ ++ * testsuite/gas/i386/evex-no-scale.s: Removed. ++ * testsuite/gas/i386/evex-no-scale-32.d: Don't use ++ evex-no-scale.s. ++ * testsuite/gas/i386/evex-no-scale-64.d: Likewise. ++ * testsuite/gas/i386/evex-no-scale-32.s: New file. ++ * testsuite/gas/i386/evex-no-scale-64.s: Likewise. ++ ++2018-08-10 H.J. Lu ++ ++ * testsuite/gas/i386/i386.exp: Run evex-no-scale-32 and ++ evex-no-scale-64 only for ELF targets. ++ ++2018-07-31 Jan Beulich ++ ++ PR gas/23465 ++ * config/tc-i386.c (output_disp): Restrict scaling. ++ * testsuite/gas/i386/evex-no-scale.s, ++ testsuite/gas/i386/evex-no-scale-32.d ++ testsuite/gas/i386/evex-no-scale-64.d: New. ++ * testsuite/gas/i386/i386.exp: Run new tests. ++ ++2018-07-30 John David Anglin ++ ++ * config/tc-hppa.c: Include "struc-symbol.h". ++ (pa_build_unwind_subspace): Use call_info->start_symbol->sy_frag ++ instead of frag_now for local symbol replacement. ++ ++2018-07-18 H.J. Lu ++ ++ PR gas/23418 ++ * testsuite/gas/i386/xmmword.s: Add tests for vcvtps2qq, ++ vcvtps2uqq, vcvttps2qq and vcvttps2uqq. ++ * testsuite/gas/i386/xmmword.l: Updated. ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/gas/as.c b/gas/as.c +index 02c7d2970b..919c24a24a 100644 +--- a/gas/as.c ++++ b/gas/as.c +@@ -1254,14 +1254,27 @@ main (int argc, char ** argv) + { + struct stat sib; + +- if (stat (argv[i], &sib) == 0) ++ /* Check that the input file and output file are different. */ ++ if (stat (argv[i], &sib) == 0 ++ && sib.st_ino == sob.st_ino ++ /* POSIX emulating systems may support stat() but if the ++ underlying file system does not support a file serial number ++ of some kind then they will return 0 for the inode. So ++ two files with an inode of 0 may not actually be the same. ++ On real POSIX systems no ordinary file will ever have an ++ inode of 0. */ ++ && sib.st_ino != 0 ++ /* Different files may have the same inode number if they ++ reside on different devices, so check the st_dev field as ++ well. */ ++ && sib.st_dev == sob.st_dev) + { +- if (sib.st_ino == sob.st_ino && sib.st_ino != 0) +- { +- /* Don't let as_fatal remove the output file! */ +- out_file_name = NULL; +- as_fatal (_("The input and output files must be distinct")); +- } ++ const char *saved_out_file_name = out_file_name; ++ ++ /* Don't let as_fatal remove the output file! */ ++ out_file_name = NULL; ++ as_fatal (_("The input '%s' and output '%s' files are the same"), ++ argv[i], saved_out_file_name); + } + } + } +diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c +index 31985963e3..c77de21d19 100644 +--- a/gas/config/tc-aarch64.c ++++ b/gas/config/tc-aarch64.c +@@ -4809,7 +4809,7 @@ output_operand_error_report (char *str, bfd_boolean non_fatal_only) + /* If we don't want to print non-fatal errors then don't consider them + at all. */ + if (curr->detail.kind != kind +- || (non_fatal_only && !head->detail.non_fatal)) ++ || (non_fatal_only && !curr->detail.non_fatal)) + continue; + /* If there are multiple errors, pick up the one with the highest + mismatching operand index. In the case of multiple errors with +diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c +index e69fdb2b39..ccae68cb40 100644 +--- a/gas/config/tc-hppa.c ++++ b/gas/config/tc-hppa.c +@@ -23,6 +23,7 @@ + + #include "as.h" + #include "safe-ctype.h" ++#include "struc-symbol.h" + #include "subsegs.h" + #include "dw2gencfi.h" + +@@ -5989,7 +5990,8 @@ pa_build_unwind_subspace (struct call_info *call_info) + else + { + symbolP = symbol_new (name, now_seg, +- S_GET_VALUE (call_info->start_symbol), frag_now); ++ S_GET_VALUE (call_info->start_symbol), ++ call_info->start_symbol->sy_frag); + gas_assert (symbolP); + S_CLEAR_EXTERNAL (symbolP); + symbol_table_insert (symbolP); +diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c +index 2d20f1cae9..a288a31844 100644 +--- a/gas/config/tc-i386.c ++++ b/gas/config/tc-i386.c +@@ -7857,7 +7857,8 @@ output_disp (fragS *insn_start_frag, offsetT insn_start_off) + int size = disp_size (n); + offsetT val = i.op[n].disps->X_add_number; + +- val = offset_in_range (val >> i.memshift, size); ++ val = offset_in_range (val >> (size == 1 ? i.memshift : 0), ++ size); + p = frag_more (size); + md_number_to_chars (p, val, size); + } +@@ -7942,12 +7943,13 @@ output_disp (fragS *insn_start_frag, offsetT insn_start_off) + /* Check for "call/jmp *mem", "mov mem, %reg", + "test %reg, mem" and "binop mem, %reg" where binop + is one of adc, add, and, cmp, or, sbb, sub, xor +- instructions. Always generate R_386_GOT32X for +- "sym*GOT" operand in 32-bit mode. */ +- if ((generate_relax_relocations +- || (!object_64bit +- && i.rm.mode == 0 +- && i.rm.regmem == 5)) ++ instructions without data prefix. Always generate ++ R_386_GOT32X for "sym*GOT" operand in 32-bit mode. */ ++ if (i.prefix[DATA_PREFIX] == 0 ++ && (generate_relax_relocations ++ || (!object_64bit ++ && i.rm.mode == 0 ++ && i.rm.regmem == 5)) + && (i.rm.mode == 2 + || (i.rm.mode == 0 && i.rm.regmem == 5)) + && ((i.operands == 1 +diff --git a/gas/testsuite/gas/aarch64/illegal-dotproduct.d b/gas/testsuite/gas/aarch64/illegal-dotproduct.d +new file mode 100644 +index 0000000000..8d8b1b8506 +--- /dev/null ++++ b/gas/testsuite/gas/aarch64/illegal-dotproduct.d +@@ -0,0 +1,4 @@ ++#as: -march=armv8.2-a+dotprod ++#name: Invalid dotproduct instructions. ++#source: illegal-dotproduct.s ++#error-output: illegal-dotproduct.l +diff --git a/gas/testsuite/gas/aarch64/illegal-dotproduct.l b/gas/testsuite/gas/aarch64/illegal-dotproduct.l +new file mode 100644 +index 0000000000..06d0d78b8d +--- /dev/null ++++ b/gas/testsuite/gas/aarch64/illegal-dotproduct.l +@@ -0,0 +1,13 @@ ++[^:]+: Assembler messages: ++[^:]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `udot V0.2S,V0.8B,V0.4B\[4\]' ++[^:]+:[0-9]+: Error: operand mismatch -- `udot V0.4S,V0.8B,V0.4B\[4\]' ++[^:]+:[0-9]+: Info: did you mean this\? ++[^:]+:[0-9]+: Info: udot v0.2s, v0.8b, v0.4b\[4\] ++[^:]+:[0-9]+: Info: other valid variant\(s\): ++[^:]+:[0-9]+: Info: udot v0.4s, v0.16b, v0.4b\[4\] ++[^:]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `sdot V0.2S,V0.8B,V0.4B\[4\]' ++[^:]+:[0-9]+: Error: operand mismatch -- `sdot V0.2S,V0.8B,V0.4H\[4\]' ++[^:]+:[0-9]+: Info: did you mean this\? ++[^:]+:[0-9]+: Info: sdot v0.2s, v0.8b, v0.4b\[4\] ++[^:]+:[0-9]+: Info: other valid variant\(s\): ++[^:]+:[0-9]+: Info: sdot v0.4s, v0.16b, v0.4b\[4\] +diff --git a/gas/testsuite/gas/aarch64/illegal-dotproduct.s b/gas/testsuite/gas/aarch64/illegal-dotproduct.s +new file mode 100644 +index 0000000000..9c714ae54d +--- /dev/null ++++ b/gas/testsuite/gas/aarch64/illegal-dotproduct.s +@@ -0,0 +1,4 @@ ++UDOT V0.2S, V0.8B, V0.4B[4] ++UDOT V0.4S, V0.8B, V0.4B[4] ++SDOT V0.2S, V0.8B, V0.4B[4] ++SDOT V0.2S, V0.8B, V0.4H[4] +diff --git a/gas/testsuite/gas/arm/undefined-insn-arm.d b/gas/testsuite/gas/arm/undefined-insn-arm.d +new file mode 100644 +index 0000000000..175e778b50 +--- /dev/null ++++ b/gas/testsuite/gas/arm/undefined-insn-arm.d +@@ -0,0 +1,5 @@ ++#name: Undefined binary printing in arm mode ++#skip: *-*-pe *-*-vxworks ++#source: undefined-insn.s ++#objdump: -D -b binary -m armv5te ++#... +diff --git a/gas/testsuite/gas/arm/undefined-insn-thumb.d b/gas/testsuite/gas/arm/undefined-insn-thumb.d +new file mode 100644 +index 0000000000..a5b4159f1e +--- /dev/null ++++ b/gas/testsuite/gas/arm/undefined-insn-thumb.d +@@ -0,0 +1,5 @@ ++#name: Undefined binary printing in thumb mode ++#skip: *-*-pe *-*-vxworks ++#source: undefined-insn.s ++#objdump: -D -b binary -m armv5te -M force-thumb ++#... +diff --git a/gas/testsuite/gas/arm/undefined-insn.s b/gas/testsuite/gas/arm/undefined-insn.s +new file mode 100644 +index 0000000000..cf59a03d1d +--- /dev/null ++++ b/gas/testsuite/gas/arm/undefined-insn.s +@@ -0,0 +1 @@ ++ .inst 0xffffffff +diff --git a/gas/testsuite/gas/i386/evex-no-scale-32.d b/gas/testsuite/gas/i386/evex-no-scale-32.d +new file mode 100644 +index 0000000000..0a2860d32e +--- /dev/null ++++ b/gas/testsuite/gas/i386/evex-no-scale-32.d +@@ -0,0 +1,12 @@ ++#objdump: -dw ++#name: ix86 EVEX no disp scaling ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++0+ : ++ +[a-f0-9]+: 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%eax,1\),%zmm0 ++ +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40\(,%eiz,1\),%zmm0 ++ +[a-f0-9]+: 62 f1 7c 48 28 05 40 00 00 00 vmovaps 0x40,%zmm0 ++ +[a-f0-9]+: 67 62 f1 7c 48 28 06 40 00 vmovaps 0x40,%zmm0 +diff --git a/gas/testsuite/gas/i386/evex-no-scale-32.s b/gas/testsuite/gas/i386/evex-no-scale-32.s +new file mode 100644 +index 0000000000..e28c73f2a3 +--- /dev/null ++++ b/gas/testsuite/gas/i386/evex-no-scale-32.s +@@ -0,0 +1,7 @@ ++ .allow_index_reg ++ .text ++disp: ++ vmovaps 64(,%eax), %zmm0 ++ vmovaps 64(,%eiz), %zmm0 ++ vmovaps 64, %zmm0 ++ addr16 vmovaps 64, %zmm0 +diff --git a/gas/testsuite/gas/i386/evex-no-scale-64.d b/gas/testsuite/gas/i386/evex-no-scale-64.d +new file mode 100644 +index 0000000000..d52d947ab3 +--- /dev/null ++++ b/gas/testsuite/gas/i386/evex-no-scale-64.d +@@ -0,0 +1,14 @@ ++#objdump: -dw ++#name: x86-64 EVEX no disp scaling ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++0+ : ++ +[a-f0-9]+: 62 f1 7c 48 28 05 00 fc ff ff vmovaps -0x400\(%rip\),%zmm0 # .* ++ +[a-f0-9]+: 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%rax,1\),%zmm0 ++ +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0 ++ +[a-f0-9]+: 67 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%eax,1\),%zmm0 ++ +[a-f0-9]+: 67 62 f1 7c 48 28 04 25 40 00 00 00 addr32 vmovaps 0x40,%zmm0 ++ +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0 +diff --git a/gas/testsuite/gas/i386/evex-no-scale-64.s b/gas/testsuite/gas/i386/evex-no-scale-64.s +new file mode 100644 +index 0000000000..bc3749cc0c +--- /dev/null ++++ b/gas/testsuite/gas/i386/evex-no-scale-64.s +@@ -0,0 +1,9 @@ ++ .allow_index_reg ++ .text ++disp: ++ vmovaps -1024(%rip), %zmm0 ++ vmovaps 64(,%rax), %zmm0 ++ vmovaps 64(,%riz), %zmm0 ++ vmovaps 64(,%eax), %zmm0 ++ vmovaps 64(,%eiz), %zmm0 ++ vmovaps 64, %zmm0 +diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp +index 9cc927a962..3987862477 100644 +--- a/gas/testsuite/gas/i386/i386.exp ++++ b/gas/testsuite/gas/i386/i386.exp +@@ -525,6 +525,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] + run_dump_test "nop-5" + run_dump_test "nop-6" + ++ run_dump_test "evex-no-scale-32" ++ + if { [gas_64_check] } then { + run_dump_test "att-regs" + run_dump_test "intel-regs" +@@ -1017,6 +1019,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t + run_dump_test "x86-64-nop-4" + run_dump_test "x86-64-nop-5" + run_dump_test "x86-64-nop-6" ++ ++ run_dump_test "evex-no-scale-64" + } + + set ASFLAGS "$old_ASFLAGS" +diff --git a/gas/testsuite/gas/i386/mixed-mode-reloc32.d b/gas/testsuite/gas/i386/mixed-mode-reloc32.d +index a2ef6a0b85..59234bc9be 100644 +--- a/gas/testsuite/gas/i386/mixed-mode-reloc32.d ++++ b/gas/testsuite/gas/i386/mixed-mode-reloc32.d +@@ -7,7 +7,7 @@ + + RELOCATION RECORDS FOR \[.text\]: + OFFSET[ ]+TYPE[ ]+VALUE[ ]* +-[0-9a-f]+[ ]+R_386_GOT32X[ ]+xtrn[ ]* ++[0-9a-f]+[ ]+R_386_GOT32[ ]+xtrn[ ]* + [0-9a-f]+[ ]+R_386_PLT32[ ]+xtrn[ ]* + [0-9a-f]+[ ]+R_386_GOT32X[ ]+xtrn[ ]* + [0-9a-f]+[ ]+R_386_PLT32[ ]+xtrn[ ]* +diff --git a/gas/testsuite/gas/i386/se1.d b/gas/testsuite/gas/i386/se1.d +index ff2685c781..d7800ab885 100644 +--- a/gas/testsuite/gas/i386/se1.d ++++ b/gas/testsuite/gas/i386/se1.d +@@ -10,4 +10,5 @@ Disassembly of section .text: + 0+ <_start>: + [ ]*[a-f0-9]+: 0f 01 cf encls + [ ]*[a-f0-9]+: 0f 01 d7 enclu ++[ ]*[a-f0-9]+: 0f 01 c0 enclv + #pass +diff --git a/gas/testsuite/gas/i386/se1.s b/gas/testsuite/gas/i386/se1.s +index 1b57ac87fe..92d57952c0 100644 +--- a/gas/testsuite/gas/i386/se1.s ++++ b/gas/testsuite/gas/i386/se1.s +@@ -5,3 +5,4 @@ _start: + + encls + enclu ++ enclv +diff --git a/gas/testsuite/gas/i386/x86-64-se1.d b/gas/testsuite/gas/i386/x86-64-se1.d +index 29494f0090..a515219406 100644 +--- a/gas/testsuite/gas/i386/x86-64-se1.d ++++ b/gas/testsuite/gas/i386/x86-64-se1.d +@@ -10,4 +10,5 @@ Disassembly of section .text: + 0+ <_start>: + [ ]*[a-f0-9]+: 0f 01 cf encls + [ ]*[a-f0-9]+: 0f 01 d7 enclu ++[ ]*[a-f0-9]+: 0f 01 c0 enclv + #pass +diff --git a/gas/testsuite/gas/i386/x86-64-se1.s b/gas/testsuite/gas/i386/x86-64-se1.s +index 1b57ac87fe..92d57952c0 100644 +--- a/gas/testsuite/gas/i386/x86-64-se1.s ++++ b/gas/testsuite/gas/i386/x86-64-se1.s +@@ -5,3 +5,4 @@ _start: + + encls + enclu ++ enclv +diff --git a/gas/testsuite/gas/i386/xmmword.l b/gas/testsuite/gas/i386/xmmword.l +index ce3af8d150..7d25cb3de2 100644 +--- a/gas/testsuite/gas/i386/xmmword.l ++++ b/gas/testsuite/gas/i386/xmmword.l +@@ -99,3 +99,7 @@ + .*:127: Error: .* `vpmovzxwq' + .*:128: Error: .* `vpmovzxwq' + .*:129: Error: .* `vpmovzxwq' ++.*:131: Error: .* `vcvtps2qq' ++.*:132: Error: .* `vcvtps2uqq' ++.*:133: Error: .* `vcvttps2qq' ++.*:134: Error: .* `vcvttps2uqq' +diff --git a/gas/testsuite/gas/i386/xmmword.s b/gas/testsuite/gas/i386/xmmword.s +index 47d2d8d595..ffe7aca3cb 100644 +--- a/gas/testsuite/gas/i386/xmmword.s ++++ b/gas/testsuite/gas/i386/xmmword.s +@@ -127,3 +127,8 @@ xmmword: + vpmovzxwq xmm0{k7}, xmmword ptr [eax] + vpmovzxwq ymm0, xmmword ptr [eax] + vpmovzxwq ymm0{k7}, xmmword ptr [eax] ++ ++ vcvtps2qq xmm0, xmmword ptr [rax] ++ vcvtps2uqq xmm0, xmmword ptr [rax] ++ vcvttps2qq xmm0, xmmword ptr [rax] ++ vcvttps2uqq xmm0, xmmword ptr [rax] +diff --git a/gold/ChangeLog b/gold/ChangeLog +index 18af5e69b1..cf998d901a 100644 +--- a/gold/ChangeLog ++++ b/gold/ChangeLog +@@ -1,3 +1,15 @@ ++2018-08-06 Cary Coutant ++ ++ PR gold/23455 ++ * options.h (General_options): Add --warn-drop-version option. ++ * symtab.cc (Symbol_table::set_dynsym_indexes): Check it. ++ ++2018-08-06 Cary Coutant ++ ++ * target.h (Sized_target::record_gnu_property): Change first two ++ parameters to unsigned int. ++ * x86_64.cc (Target_x86_64::record_gnu_property): Likewise. ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/gold/options.h b/gold/options.h +index 98d6be8009..11054981c9 100644 +--- a/gold/options.h ++++ b/gold/options.h +@@ -1361,6 +1361,10 @@ class General_options + DEFINE_bool_ignore(warn_constructors, options::TWO_DASHES, '\0', + N_("Ignored"), N_("Ignored")); + ++ DEFINE_bool(warn_drop_version, options::TWO_DASHES, '\0', false, ++ N_("Warn when discarding version information"), ++ N_("Do not warn when discarding version information")); ++ + DEFINE_bool(warn_execstack, options::TWO_DASHES, '\0', false, + N_("Warn if the stack is executable"), + N_("Do not warn if the stack is executable")); +diff --git a/gold/symtab.cc b/gold/symtab.cc +index aa7644156f..759e0d0222 100644 +--- a/gold/symtab.cc ++++ b/gold/symtab.cc +@@ -2623,11 +2623,12 @@ Symbol_table::set_dynsym_indexes(unsigned int index, + versions->record_version(this, dynpool, sym); + else + { +- gold_warning(_("discarding version information for " +- "%s@%s, defined in unused shared library %s " +- "(linked with --as-needed)"), +- sym->name(), sym->version(), +- sym->object()->name().c_str()); ++ if (parameters->options().warn_drop_version()) ++ gold_warning(_("discarding version information for " ++ "%s@%s, defined in unused shared library %s " ++ "(linked with --as-needed)"), ++ sym->name(), sym->version(), ++ sym->object()->name().c_str()); + sym->clear_version(); + } + } +diff --git a/gold/target.h b/gold/target.h +index bb312067b5..bbc87396f6 100644 +--- a/gold/target.h ++++ b/gold/target.h +@@ -1147,7 +1147,8 @@ class Sized_target : public Target + // Record a target-specific program property in the .note.gnu.property + // section. + virtual void +- record_gnu_property(int, int, size_t, const unsigned char*, const Object*) ++ record_gnu_property(unsigned int, unsigned int, size_t, ++ const unsigned char*, const Object*) + { } + + // Merge the target-specific program properties from the current object. +diff --git a/gold/x86_64.cc b/gold/x86_64.cc +index 27f273d64b..9d742f6f13 100644 +--- a/gold/x86_64.cc ++++ b/gold/x86_64.cc +@@ -1307,7 +1307,8 @@ class Target_x86_64 : public Sized_target + // Record a target-specific program property in the .note.gnu.property + // section. + void +- record_gnu_property(int, int, size_t, const unsigned char*, const Object*); ++ record_gnu_property(unsigned int, unsigned int, size_t, ++ const unsigned char*, const Object*); + + // Merge the target-specific program properties from the current object. + void +@@ -1579,7 +1580,7 @@ Target_x86_64::rela_irelative_section(Layout* layout) + template + void + Target_x86_64::record_gnu_property( +- int, int pr_type, ++ unsigned int, unsigned int pr_type, + size_t pr_datasz, const unsigned char* pr_data, + const Object* object) + { +diff --git a/include/ChangeLog b/include/ChangeLog +index 7decb4fd7b..e0b82bc338 100644 +--- a/include/ChangeLog ++++ b/include/ChangeLog +@@ -1,3 +1,9 @@ ++2018-11-15 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-08-01 Cupertino Miranda ++ * arc-reloc.def (ARC_TLS_LE_32): Updated reloc formula. ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/include/elf/arc-reloc.def b/include/elf/arc-reloc.def +index a6db724da9..61edd6e67a 100644 +--- a/include/elf/arc-reloc.def ++++ b/include/elf/arc-reloc.def +@@ -468,7 +468,7 @@ ARC_RELOC_HOWTO(ARC_TLS_DTPOFF, 67, \ + 32, \ + replace_word32, \ + dont, \ +- ( ME ( S - SECTSTART ) + A )) ++ ( ME ( S - FINAL_SECTSTART ) + A )) + + ARC_RELOC_HOWTO(ARC_TLS_DTPOFF_S9, 73, \ + 2, \ +@@ -489,7 +489,7 @@ ARC_RELOC_HOWTO(ARC_TLS_LE_32, 75, \ + 32, \ + replace_word32, \ + dont, \ +- ( ME ( ( ( ( S + A ) + TCB_SIZE ) - TLS_REL ) ) )) ++ ( ME ( ( ( ( S + A ) + TLS_TBSS ) - TLS_REL ) ) )) + + ARC_RELOC_HOWTO(ARC_S25W_PCREL_PLT, 76, \ + 2, \ +diff --git a/ld/ChangeLog b/ld/ChangeLog +index c07e442c84..457d53b20f 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,121 @@ ++2018-11-06 H.J. Lu ++ ++ PR gas/23854 ++ * testsuite/ld-i386/i386.exp: Run pr23854. ++ * testsuite/ld-x86-64/x86-64.exp: Likewwise. ++ * testsuite/ld-i386/pr23854.d: New file. ++ * testsuite/ld-i386/pr23854.s: Likewwise. ++ * testsuite/ld-i386/pr23854.d: Likewwise. ++ * testsuite/ld-x86-64/pr23854.d: Likewwise. ++ * testsuite/ld-x86-64/pr23854.s: Likewwise. ++ ++2018-11-06 H.J. Lu ++ ++ PR ld/23818 ++ * testsuite/ld-plugin/lto.exp: Run PR ld/23818 test. ++ * testsuite/ld-plugin/pr23818.d: New file. ++ * testsuite/ld-plugin/pr23818.t: Likewise. ++ * testsuite/ld-plugin/pr23818a.c: Likewise. ++ * testsuite/ld-plugin/pr23818b.c: Likewise. ++ ++2018-08-12 H.J. Lu ++ ++ * testsuite/ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s. ++ ++2018-08-12 H.J. Lu ++ ++ PR ld/23428 ++ * testsuite/ld-elf/dummy.s: New file. ++ * testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property. ++ * testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428. ++ ++2018-08-10 H.J. Lu ++ ++ PR ld/23486 ++ * testsuite/ld-i386/i386.exp: Run PR ld/23486 tests. ++ * testsuite/ld-x86-64/x86-64.exp: Likewise. ++ * testsuite/ld-i386/pr23486a.d: New file. ++ * testsuite/ld-i386/pr23486b.d: Likewise. ++ * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. ++ * testsuite/ld-x86-64/pr23486a.d: Likewise. ++ * testsuite/ld-x86-64/pr23486a.s: Likewise. ++ * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. ++ * testsuite/ld-x86-64/pr23486b.d: Likewise. ++ * testsuite/ld-x86-64/pr23486b.s: Likewise. ++ * testsuite/ld-i386/property-3.r: Remove "x86 ISA used". ++ * testsuite/ld-i386/property-4.r: Likewise. ++ * testsuite/ld-i386/property-5.r: Likewise. ++ * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. ++ * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. ++ * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. ++ * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. ++ * testsuite/ld-x86-64/property-3.r: Likewise. ++ * testsuite/ld-x86-64/property-4.r: Likewise. ++ * testsuite/ld-x86-64/property-5.r: Likewise. ++ * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. ++ * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. ++ * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. ++ * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. ++ * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. ++ * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. ++ * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. ++ * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. ++ ++2018-08-10 H.J. Lu ++ ++ * testsuite/ld-x86-64/property-x86-3.s: Use ".p2align 2" to ++ align .note.gnu.property section if __64_bit__ is undefined. ++ ++2018-08-01 Alan Modra ++ ++ * testsuite/ld-powerpc/powerpc.exp: Run tlsopt5 with hash-style ++ specified. ++ ++2018-08-01 Alan Modra ++ ++ * testsuite/ld-powerpc/powerpc.exp: Run tlsopt5 with plt alignment. ++ * testsuite/ld-powerpc/tlsopt5.s: Add extra call. ++ * testsuite/ld-powerpc/tlsopt5.wf: Adjust expected output. ++ * testsuite/ld-powerpc/tlsopt5.d: Likewise. ++ ++2018-08-07 Nick Clifton ++ ++ * po/bg.po: Updated Bulgarian translation. ++ ++2018-08-01 Roland McGrath ++ ++ * testsuite/ld-aarch64/ifunc-1-local.d: Adjust regexps to match ++ the offsets emitted by aarch64-elf configurations. ++ * testsuite/ld-aarch64/ifunc-1.d: Likewise. ++ * testsuite/ld-aarch64/ifunc-2-local.d: Likewise. ++ * testsuite/ld-aarch64/ifunc-2.d: Likewise. ++ * testsuite/ld-aarch64/ifunc-21.d: Likewise. ++ * testsuite/ld-aarch64/ifunc-3a.d: Likewise. ++ ++2018-07-23 H.J. Lu ++ ++ PR ld/23428 ++ * testsuite/ld-elf/linux-x86.S: New file. ++ * testsuite/ld-elf/linux-x86.exp: Likewise. ++ * testsuite/ld-elf/pr23428.c: Likewise. ++ * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld ++ for Linux/x86 targets. ++ * testsuite/ld-i386/abs-iamcu.d: Likewise. ++ * testsuite/ld-i386/abs.d: Likewise. ++ * testsuite/ld-i386/pr12718.d: Likewise. ++ * testsuite/ld-i386/pr12921.d: Likewise. ++ * testsuite/ld-x86-64/abs-k1om.d: Likewise. ++ * testsuite/ld-x86-64/abs-l1om.d: Likewise. ++ * testsuite/ld-x86-64/abs.d: Likewise. ++ * testsuite/ld-x86-64/pr12718.d: Likewise. ++ * testsuite/ld-x86-64/pr12921.d: Likewise. ++ * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property ++ section. ++ * testsuite/ld-scripts/print-memory-usage.t: Likewise. ++ * testsuite/ld-scripts/size-2.t: Likewise. ++ * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld to ++ create executable if language is "asm". ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/ld/po/bg.po b/ld/po/bg.po +index 5e8e818818..bf6ecd9b61 100644 +--- a/ld/po/bg.po ++++ b/ld/po/bg.po +@@ -13,7 +13,7 @@ msgstr "" + "Project-Id-Version: ld 2.30.90\n" + "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" + "POT-Creation-Date: 2018-06-24 19:43+0100\n" +-"PO-Revision-Date: 2018-06-28 22:58+0300\n" ++"PO-Revision-Date: 2018-07-26 20:34+0300\n" + "Last-Translator: Румен Петров \n" + "Language-Team: Bulgarian \n" + "Language: bg\n" +@@ -33,7 +33,7 @@ msgstr "%X%P: cref_hash_lookup не успя: %E\n" + + #: ldcref.c:186 + msgid "%X%P: cref alloc failed: %E\n" +-msgstr "%X%P: пропадна заделяне(на памет) за cref: %E\n" ++msgstr "%X%P: не успя заделянето на памет в cref: %E\n" + + #: ldcref.c:371 + #, c-format +@@ -62,7 +62,7 @@ msgstr "Без имена\n" + + #: ldcref.c:413 ldcref.c:565 + msgid "%P: symbol `%pT' missing from main hash table\n" +-msgstr "%P: име '%pT' липсва в главната хеш-таблица\n" ++msgstr "%P: в главния речник липсва името '%pT'\n" + + #: ldcref.c:517 ldcref.c:628 ldmain.c:1211 ldmisc.c:335 pe-dll.c:715 + #: pe-dll.c:1296 pe-dll.c:1417 pe-dll.c:1535 earm_wince_pe.c:1430 +@@ -87,7 +87,7 @@ msgstr "%X%P: %C: забранено е кръстосана отпратка о + + #: ldctor.c:83 + msgid "%X%P: different relocs used in set %s\n" +-msgstr "%X%P: различни \"преместванията\" се използват в множеството %s\n" ++msgstr "%X%P: различни \"премествания\" се използват в набора %s\n" + + #: ldctor.c:101 + msgid "%X%P: different object file formats composing set %s\n" +@@ -103,7 +103,7 @@ msgstr "%X%P: раздел %s не поддържа преместване %s з + + #: ldctor.c:321 + msgid "%X%P: unsupported size %d for set %s\n" +-msgstr "%X%P: неподдържан размер %d за множеството %s\n" ++msgstr "%X%P: неподдържан размер %d за набор %s\n" + + #: ldctor.c:344 + msgid "" +@@ -202,7 +202,7 @@ msgstr "%F%P:%pS не може да се върне обратно брояч н + + #: ldexp.c:1167 + msgid "%F%P:%s: hash creation failed\n" +-msgstr "%F%P:%s: пропадна създаването на хеш\n" ++msgstr "%F%P:%s: не успя създаването на хеш\n" + + #: ldexp.c:1519 ldexp.c:1545 ldexp.c:1605 + msgid "%F%P:%pS: nonconstant expression for %s\n" +@@ -210,7 +210,7 @@ msgstr "%F%P:%pS: не е константен изразът за %s\n" + + #: ldexp.c:1631 ldlang.c:1234 ldlang.c:3187 ldlang.c:7174 + msgid "%F%P: can not create hash table: %E\n" +-msgstr "%F%P: не може да се създаде хеш-таблицата: %E\n" ++msgstr "%F%P: не може да се създаде речник: %E\n" + + #: ldfile.c:132 eaarch64cloudabi.c:656 eaarch64cloudabib.c:656 + #: eaarch64elf.c:656 eaarch64elf32.c:656 eaarch64elf32b.c:656 +@@ -286,12 +286,12 @@ msgstr "%F%P: не може да се създаде хеш-таблицата: + #: eshlelf_vxworks.c:370 ev850.c:387 ev850_rh850.c:387 exgateelf.c:341 + #, c-format + msgid "attempt to open %s failed\n" +-msgstr "опита да се отвори %s не успя\n" ++msgstr "опитът да се отвори %s не успя\n" + + #: ldfile.c:134 + #, c-format + msgid "attempt to open %s succeeded\n" +-msgstr "опита да се отвори %s успя\n" ++msgstr "опитът да се отвори %s успя\n" + + #: ldfile.c:140 + msgid "%F%P: invalid BFD target `%s'\n" +@@ -353,7 +353,7 @@ msgstr "%F%P:%pS: грешка: синоним за област памет по + + #: ldlang.c:1372 + msgid "%F%P:%pS: error: redefinition of memory region alias `%s'\n" +-msgstr "%F%P:%pS: грешка: повторен определение на синоним за област памет '%s'\n" ++msgstr "%F%P:%pS: грешка: повторено определение на синоним за област памет '%s'\n" + + #: ldlang.c:1379 + msgid "%F%P:%pS: error: memory region `%s' for alias `%s' does not exist\n" +@@ -361,7 +361,7 @@ msgstr "%F%P:%pS: грешка: област памет '%s' за синоним + + #: ldlang.c:1438 ldlang.c:1477 + msgid "%F%P: failed creating section `%s': %E\n" +-msgstr "%F%P: пропадна създаването на раздел '%s': %E\n" ++msgstr "%F%P: не успя създаването на раздел '%s': %E\n" + + #: ldlang.c:1998 + msgid "" +@@ -439,7 +439,7 @@ msgstr "%F%P: %pB: файлът не е разпознат: %E\n" + + #: ldlang.c:2854 + msgid "%F%P: %pB: member %pB in archive is not an object\n" +-msgstr "%F%P: %pB: членът, на архива %pB, не е обект\n" ++msgstr "%F%P: %pB: членът на архива %pB не е обект\n" + + #: ldlang.c:2869 ldlang.c:2883 eaarch64cloudabi.c:776 eaarch64cloudabib.c:776 + #: eaarch64elf.c:776 eaarch64elf32.c:776 eaarch64elf32b.c:776 +@@ -518,7 +518,7 @@ msgstr "%F%P: %pB: грешка при добавяне на имената: %E\ + + #: ldlang.c:3157 + msgid "%P: warning: could not find any targets that match endianness requirement\n" +-msgstr "%P: предупреждение: не може да се открие резултат, който да отговаря на изискванията за подредба(на байтовете)\n" ++msgstr "%P: предупреждение: не може да се открие резултат, който да отговаря на изискванията за подредба на байтовете\n" + + #: ldlang.c:3171 + msgid "%F%P: target %s not found\n" +@@ -546,7 +546,7 @@ msgstr "%X%P: не е определено задължителното име ' + + #: ldlang.c:3770 + msgid "%F%P: %s not found for insert\n" +-msgstr "%F%P: %s не е намерен(за добавяне)\n" ++msgstr "%F%P: %s не е намерен за добавяне\n" + + #: ldlang.c:4011 + msgid " load address 0x%V" +@@ -598,7 +598,7 @@ msgstr "%X%P: %pB раздел '%s' не се побира в област '%s'\ + + #: ldlang.c:5050 + msgid "%F%P:%pS: non constant or forward reference address expression for section %s\n" +-msgstr "%F%P:%pS: адресния израз не е константен или отпратка за по нататък при раздел %s\n" ++msgstr "%F%P:%pS: адресният израз не е константен или е отпратка за по нататък при раздел %s\n" + + #: ldlang.c:5075 + msgid "%X%P: internal error on COFF shared library section %s\n" +@@ -664,7 +664,7 @@ msgstr "%X%P: %s архитектурата на входен файл '%pB' е + + #: ldlang.c:6332 + msgid "%X%P: failed to merge target specific data of file %pB\n" +-msgstr "%X%P: пропадна сливането, на специфични за резултата данни, от файл %pB\n" ++msgstr "%X%P: не успя сливането на целеви данни от файл %pB\n" + + #: ldlang.c:6403 + msgid "%F%P: could not define common symbol `%pT': %E\n" +@@ -704,7 +704,7 @@ msgstr "%F%P:%pS: грешка: зададено е подравняване с + + #: ldlang.c:7198 + msgid "%F%P: %s: plugin reported error after all symbols read\n" +-msgstr "%F%P: %s: приставката рапортува грешка, след прочитане на всички имена\n" ++msgstr "%F%P: %s: приставката отчете грешка след прочитане на всички имена\n" + + #: ldlang.c:7602 + msgid "%F%P: multiple STARTUP files\n" +@@ -805,11 +805,11 @@ msgstr "%P: грешка при свързване, изтриване на из + + #: ldmain.c:490 + msgid "%F%P: %pB: final close failed: %E\n" +-msgstr "%F%P: %pB: пропадна заключителното затваряне: %E\n" ++msgstr "%F%P: %pB: не успя заключителното затваряне: %E\n" + + #: ldmain.c:517 + msgid "%F%P: unable to open for source of copy `%s'\n" +-msgstr "%F%P: не можа да се отвори източника на копието '%s'\n" ++msgstr "%F%P: не можа да се отвори източникът на копието '%s'\n" + + #: ldmain.c:520 + msgid "%F%P: unable to open for destination of copy `%s'\n" +@@ -1017,7 +1017,7 @@ msgstr "%P: вътрешна грешка: прекратяване на %s:%d\n + + #: ldmisc.c:703 + msgid "%F%P: please report this bug\n" +-msgstr "%F%P: моля, рапортувайте този проблем\n" ++msgstr "%F%P: моля, докладвайте този проблем\n" + + #. Output for noisy == 2 is intended to follow the GNU standards. + #: ldver.c:37 +@@ -1048,7 +1048,7 @@ msgstr " Поддържани подражавания:\n" + + #: ldwrite.c:60 ldwrite.c:206 ldwrite.c:258 ldwrite.c:299 + msgid "%F%P: bfd_new_link_order failed\n" +-msgstr "%F%P: пропадна bfd_new_link_order\n" ++msgstr "%F%P: bfd_new_link_order не успя\n" + + #: ldwrite.c:368 + msgid "%F%P: cannot create split section name for %s\n" +@@ -1056,7 +1056,7 @@ msgstr "%F%P: при разцепване на раздел, не можа да + + #: ldwrite.c:380 + msgid "%F%P: clone section failed: %E\n" +-msgstr "%F%P: пропадна копирането на раздел: %E\n" ++msgstr "%F%P: не успя раздвояването на раздел: %E\n" + + #: ldwrite.c:418 + #, c-format +@@ -1065,7 +1065,7 @@ msgstr "%8x други\n" + + #: ldwrite.c:588 + msgid "%F%P: final link failed: %E\n" +-msgstr "%F%P: пропадна заключителното свързване: %E\n" ++msgstr "%F%P: не успя заключителното свързване: %E\n" + + #: lexsup.c:102 lexsup.c:276 + msgid "KEYWORD" +@@ -1490,7 +1490,7 @@ msgstr "" + + #: lexsup.c:350 + msgid "Set default hash table size close to " +-msgstr "Установява размер по подразбиране на таблицат за хеш близък до <ЧИСЛО>" ++msgstr "Установява размер, по подразбиране, на речника близък до <ЧИСЛО>" + + #: lexsup.c:353 + msgid "Print option help" +@@ -1776,15 +1776,15 @@ msgstr "Предупреждение, ако споделен обект съд + + #: lexsup.c:518 + msgid "Warn if an object has alternate ELF machine code" +-msgstr "Предупреждение ако обекта е с друг ELF ELF код за машина" ++msgstr "Предупреждение, ако обекта е с друг ELF код за машина" + + #: lexsup.c:522 + msgid "Report unresolved symbols as warnings" +-msgstr "Рапортуване като предупреждения, на несвързани имена" ++msgstr "Докладване на несвързани имена като предупреждения" + + #: lexsup.c:525 + msgid "Report unresolved symbols as errors" +-msgstr "Рапортуване, като грешки, на несвързани имена" ++msgstr "Докладване на несвързани имена като грешки" + + #: lexsup.c:527 + msgid "Include all objects from following archives" +@@ -2332,12 +2332,12 @@ msgstr "%X%P: не може да се създаде раздел .reloc: %E\n" + #: pe-dll.c:1100 + #, c-format + msgid "%X%P: error: ordinal used twice: %d (%s vs %s)\n" +-msgstr "%X%P: грешка, номера е използван два пъти: %d (%s с/у %s)\n" ++msgstr "%X%P: грешка, номерът е използван два пъти: %d (%s с/у %s)\n" + + #: pe-dll.c:1136 + #, c-format + msgid "%X%P: error: export ordinal too large: %d\n" +-msgstr "%X%P: грешка: номера е твърде голям: %d\n" ++msgstr "%X%P: грешка: номерът е твърде голям: %d\n" + + #: pe-dll.c:1452 + #, c-format +@@ -2346,7 +2346,7 @@ msgstr "Сведение: разрешаване на %s със свързван + + #: pe-dll.c:1458 + msgid "%P: warning: auto-importing has been activated without --enable-auto-import specified on the command line; this should work unless it involves constant data structures referencing symbols from auto-imported DLLs\n" +-msgstr "%P: предупреждение: автоматично внасяне е задействано без да се зададе --enable-auto-import на командния ред.Това работи, освен ако не е свързано с константни структури за данни, които указват към имена от автоматично внасяни DLL-ли.\n" ++msgstr "%P: предупреждение: автоматично внасяне е задействано без да се зададе --enable-auto-import на командния ред. Това работи, освен ако не е свързано с константни структури за данни, които указват към имена от автоматично внасяни DLL-ли.\n" + + #. Huh? Shouldn't happen, but punt if it does. + #: pe-dll.c:1527 +@@ -2370,7 +2370,7 @@ msgstr "; липсва съдържание\n" + + #: pe-dll.c:2780 + msgid "%X%P: %C: variable '%pT' can't be auto-imported; please read the documentation for ld's --enable-auto-import for details\n" +-msgstr "%X%P: %C: променливата '%pT' не може да се внесе автоматично. Да се прочете в документацията на свързващата програма за повече сведения относно --enable-auto-import.\n" ++msgstr "%X%P: %C: променливата '%pT' не може да се внесе автоматично. Да се провери в документацията на свързващата програма за повече сведения относно --enable-auto-import.\n" + + #: pe-dll.c:2807 + #, c-format +@@ -2469,7 +2469,7 @@ msgstr "%F%P: приставката не можа да задели памет + + #: plugin.c:1138 + msgid "%F%P: %s: plugin reported error claiming file\n" +-msgstr "%F%P: %s: приставката рапортува грешка, при твърденията за файла\n" ++msgstr "%F%P: %s: приставката отчете грешка при твърденията за файла\n" + + #: plugin.c:1248 + msgid "%P: %s: error in plugin cleanup: %d (ignored)\n" +@@ -2547,7 +2547,7 @@ msgstr "%P: %s: грешка при почистване на приставка + #: eshlelf_nto.c:81 eshlelf_vxworks.c:81 ev850.c:81 ev850_rh850.c:81 + #: exgateelf.c:81 + msgid "%F%P: map sections to segments failed: %E\n" +-msgstr "%F%P: пропадна свързването на раздел към част: %E\n" ++msgstr "%F%P: не успя свързването на раздел към част: %E\n" + + #: eaarch64cloudabi.c:101 eaarch64cloudabib.c:101 eaarch64elf.c:101 + #: eaarch64elf32.c:101 eaarch64elf32b.c:101 eaarch64elfb.c:101 +@@ -5051,31 +5051,31 @@ msgstr "%F%P: не се чете %s\n" + + #: eaix5ppc.c:390 eaix5rs6.c:390 eaixppc.c:390 eaixrs6.c:390 eppcmacos.c:390 + msgid "%P: warning: ignoring invalid -D number %s\n" +-msgstr "%P: предупреждение: изоставяне на неправилно число за -D %s\n" ++msgstr "%P: предупреждение: пропускане на неправилно число за -D %s\n" + + #: eaix5ppc.c:398 eaix5rs6.c:398 eaixppc.c:398 eaixrs6.c:398 eppcmacos.c:398 + msgid "%P: warning: ignoring invalid -H number %s\n" +-msgstr "%P: предупреждение: изоставяне на неправилно число за -H %s\n" ++msgstr "%P: предупреждение: пропускане на неправилно число за -H %s\n" + + #: eaix5ppc.c:510 eaix5rs6.c:510 eaixppc.c:510 eaixrs6.c:510 eppcmacos.c:510 + msgid "%P: warning: ignoring invalid -bmaxdata number %s\n" +-msgstr "%P: предупреждение: изоставяне на неправилно число за -bmaxdata %s\n" ++msgstr "%P: предупреждение: пропускане на неправилно число за -bmaxdata %s\n" + + #: eaix5ppc.c:519 eaix5rs6.c:519 eaixppc.c:519 eaixrs6.c:519 eppcmacos.c:519 + msgid "%P: warning: ignoring invalid -bmaxstack number %s\n" +-msgstr "%P: предупреждение: изоставяне на неправилно число за -bmaxstack %s\n" ++msgstr "%P: предупреждение: пропускане на неправилно число за -bmaxstack %s\n" + + #: eaix5ppc.c:532 eaix5rs6.c:532 eaixppc.c:532 eaixrs6.c:532 eppcmacos.c:532 + msgid "%P: warning: ignoring invalid module type %s\n" +-msgstr "%P: предупреждение: изоставяне на неправиен тип на модул %s\n" ++msgstr "%P: предупреждение: пропускане на неправиен тип на модул %s\n" + + #: eaix5ppc.c:562 eaix5rs6.c:562 eaixppc.c:562 eaixrs6.c:562 eppcmacos.c:562 + msgid "%P: warning: ignoring invalid -pD number %s\n" +-msgstr "%P: предупреждение: изоставяне на неправилно число за -pD %s\n" ++msgstr "%P: предупреждение: пропускане на неправилно число за -pD %s\n" + + #: eaix5ppc.c:585 eaix5rs6.c:585 eaixppc.c:585 eaixrs6.c:585 eppcmacos.c:585 + msgid "%P: warning: ignoring invalid -pT number %s\n" +-msgstr "%P: предупреждение: изоставяне на неправилно число за -pT %s\n" ++msgstr "%P: предупреждение: пропускане на неправилно число за -pT %s\n" + + #: eaix5ppc.c:714 eaix5rs6.c:714 eaixppc.c:714 eaixrs6.c:714 eppcmacos.c:714 + msgid "%F%P: bfd_xcoff_link_record_set failed: %E\n" +@@ -5252,7 +5252,7 @@ msgstr " --[no-]leading-underscore Изрично установява + #: emcorepe.c:392 eppcpe.c:392 eshpe.c:392 + #, c-format + msgid " --thumb-entry= Set the entry point to be Thumb \n" +-msgstr " --thumb-entry=<знак> Установяване на входяща точка да е отбелязания <знак>\n" ++msgstr " --thumb-entry=<знак> Установяване на входяща точка на отбелязания <знак>\n" + + #: earm_wince_pe.c:393 earmpe.c:393 ei386pe.c:393 ei386pe_posix.c:393 + #: emcorepe.c:393 eppcpe.c:393 eshpe.c:393 +@@ -5264,7 +5264,7 @@ msgstr " --[no-]insert-timestamp Използва истинска + #: ei386pep.c:375 emcorepe.c:394 eppcpe.c:394 eshpe.c:394 + #, c-format + msgid " This makes binaries non-deterministic\n" +-msgstr " Това прави двоичните файлове неопределяеми\n" ++msgstr " Това прави двоичните файлове несравними\n" + + #: earm_wince_pe.c:396 earmpe.c:396 ei386pe.c:396 ei386pe_posix.c:396 + #: ei386pep.c:377 emcorepe.c:396 eppcpe.c:396 eshpe.c:396 +@@ -5440,7 +5440,7 @@ msgid "" + " greater than 2 gigabytes\n" + msgstr "" + " --large-address-aware Програмата поддържа виртуални адреси\n" +-" по-голями от 2 гигабайта\n" ++" по-големи от 2 гигабайта\n" + + #: earm_wince_pe.c:420 earmpe.c:420 ei386pe.c:420 ei386pe_posix.c:420 + #: emcorepe.c:420 eppcpe.c:420 eshpe.c:420 +@@ -5450,7 +5450,7 @@ msgid "" + " addresses greater than 2 gigabytes\n" + msgstr "" + " --disable-large-address-aware Програмата не поддържа виртуални\n" +-" адреси по-голями от 2 гигабайта\n" ++" адреси по-големи от 2 гигабайта\n" + + #: earm_wince_pe.c:421 earmpe.c:421 ei386pe.c:421 ei386pe_posix.c:421 + #: ei386pep.c:399 emcorepe.c:421 eppcpe.c:421 eshpe.c:421 +@@ -5479,7 +5479,7 @@ msgid "" + " --dynamicbase Image base address may be relocated using\n" + " address space layout randomization (ASLR)\n" + msgstr "" +-" --dynamicbase Основния адрес на образа може да бъде преместен\n" ++" --dynamicbase Основният адрес на образа може да бъде преместен\n" + " като се използва случаен адрес\n" + + #: earm_wince_pe.c:424 earmpe.c:424 ei386pe.c:424 ei386pe_posix.c:424 +@@ -5492,13 +5492,13 @@ msgstr " --forceinteg Налагане на проверка за + #: ei386pep.c:404 emcorepe.c:425 eppcpe.c:425 eshpe.c:425 + #, c-format + msgid " --nxcompat Image is compatible with data execution prevention\n" +-msgstr " --nxcompat Образа е съвместим с предотвратяване на изпълнение на данни\n" ++msgstr " --nxcompat Образът е съвместим с предотвратяване на изпълнение на данни\n" + + #: earm_wince_pe.c:426 earmpe.c:426 ei386pe.c:426 ei386pe_posix.c:426 + #: ei386pep.c:405 emcorepe.c:426 eppcpe.c:426 eshpe.c:426 + #, c-format + msgid " --no-isolation Image understands isolation but do not isolate the image\n" +-msgstr " --no-isolation Образа поддържа изолиране, но да не се изолира\n" ++msgstr " --no-isolation Образът поддържа изолиране, но да не се изолира\n" + + #: earm_wince_pe.c:427 earmpe.c:427 ei386pe.c:427 ei386pe_posix.c:427 + #: emcorepe.c:427 eppcpe.c:427 eshpe.c:427 +@@ -5507,7 +5507,7 @@ msgid "" + " --no-seh Image does not use SEH. No SE handler may\n" + " be called in this image\n" + msgstr "" +-" --no-seh Образа не използва SEH. В този образ не\n" ++" --no-seh Образът не използва SEH. В този образ не\n" + " може да се извиква SE подръжка\n" + + #: earm_wince_pe.c:428 earmpe.c:428 ei386pe.c:428 ei386pe_posix.c:428 +@@ -5526,7 +5526,7 @@ msgstr " --wdmdriver Използване на WDM модел з + #: ei386pep.c:409 emcorepe.c:430 eppcpe.c:430 eshpe.c:430 + #, c-format + msgid " --tsaware Image is Terminal Server aware\n" +-msgstr " --tsaware Образа поддържа \"Terminal Server\"\n" ++msgstr " --tsaware Образът поддържа \"Terminal Server\"\n" + + #: earm_wince_pe.c:431 earmpe.c:431 ei386pe.c:431 ei386pe_posix.c:431 + #: ei386pep.c:410 emcorepe.c:431 eppcpe.c:431 eshpe.c:431 +@@ -5603,7 +5603,7 @@ msgstr "" + #: earm_wince_pe.c:1302 earmpe.c:1302 ei386pe.c:1302 ei386pe_posix.c:1302 + #: ei386pep.c:1305 emcorepe.c:1302 eppcpe.c:1302 eshpe.c:1302 + msgid "%F%P: cannot perform PE operations on non PE output file '%pB'\n" +-msgstr "%F%P: не може да се извърши \"PE\"-операции на изходен файл '%pB', който не е \"PE\"\n" ++msgstr "%F%P: не може да се извършат \"PE\"-операции на изходен файл '%pB', който не е \"PE\"\n" + + #: earm_wince_pe.c:1442 earmpe.c:1442 ei386pe.c:1442 ei386pe_posix.c:1442 + #: ei386pep.c:1426 emcorepe.c:1442 eppcpe.c:1442 eshpe.c:1442 +@@ -5649,7 +5649,7 @@ msgstr "%P: предупреждение: '--thumb-entry %s' прегазва '- + #: earmnto.c:577 earmpe.c:1876 earmsymbian.c:577 ei386pe.c:1876 + #: ei386pe_posix.c:1876 emcorepe.c:1876 eppcpe.c:1876 eshpe.c:1876 + msgid "%P: warning: cannot find thumb start symbol %s\n" +-msgstr "%P: предупреждение: не е намерен, като начален, отбелязания знак %s\n" ++msgstr "%P: предупреждение: не е намерен, като начален, отбелязаният знак %s\n" + + #: earmelf.c:603 earmelf_fbsd.c:603 earmelf_fuchsia.c:603 earmelf_linux.c:603 + #: earmelf_linux_eabi.c:603 earmelf_linux_fdpiceabi.c:603 earmelf_nacl.c:603 +@@ -5700,7 +5700,7 @@ msgstr "%P: неразпознат вид STM32L4XX поправка '%s'\n" + #: earmelfb_nacl.c:2851 earmelfb_nbsd.c:2851 earmnto.c:2826 earmsymbian.c:2851 + #, c-format + msgid " --thumb-entry= Set the entry point to be Thumb symbol \n" +-msgstr " --thumb-entry=<знак> Установява входяща точка да е отбелязания <знак>\n" ++msgstr " --thumb-entry=<знак> Установява входяща точка на отбелязания <знак>\n" + + #: earmelf.c:2852 earmelf_fbsd.c:2859 earmelf_fuchsia.c:2852 + #: earmelf_linux.c:2852 earmelf_linux_eabi.c:2852 +@@ -6667,7 +6667,7 @@ msgstr "" + + #: eelf32xtensa.c:561 + msgid "%F%P: failed to create .xtensa.info section\n" +-msgstr "%F%P: пропадна създаването на раздел .xtensa.info\n" ++msgstr "%F%P: не успя създаването на раздел .xtensa.info\n" + + #: eelf32xtensa.c:4073 + #, c-format +@@ -6945,7 +6945,7 @@ msgid "" + " --no-seh Image does not use SEH; no SE handler may\n" + " be called in this image\n" + msgstr "" +-" --no-seh Образа не използва SEH. В този образ не може\n" ++" --no-seh Образът не използва SEH. В този образ не може\n" + " да се извиква SE подръжка\n" + + #: ei386pep.c:908 +diff --git a/ld/testsuite/ld-aarch64/ifunc-1-local.d b/ld/testsuite/ld-aarch64/ifunc-1-local.d +index bcba0aa025..1783637865 100644 +--- a/ld/testsuite/ld-aarch64/ifunc-1-local.d ++++ b/ld/testsuite/ld-aarch64/ifunc-1-local.d +@@ -3,7 +3,7 @@ + #target: aarch64*-*-* + + #... +-0+(110|180) <__GI_foo>: ++0+(110|180|1a0) <(__GI_)?foo>: + #... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x110|0x180)@plt> ++[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x110|0x180|0x1a0)@plt> + #pass +diff --git a/ld/testsuite/ld-aarch64/ifunc-1.d b/ld/testsuite/ld-aarch64/ifunc-1.d +index f408bfff78..0274ac0094 100644 +--- a/ld/testsuite/ld-aarch64/ifunc-1.d ++++ b/ld/testsuite/ld-aarch64/ifunc-1.d +@@ -3,7 +3,7 @@ + #target: aarch64*-*-* + + #... +-0+(130|1a0) : ++0+(130|1a0|1c8) : + #... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0)@plt> ++[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8)@plt> + #pass +diff --git a/ld/testsuite/ld-aarch64/ifunc-2-local.d b/ld/testsuite/ld-aarch64/ifunc-2-local.d +index fb1bb40e38..a3d9e15f8b 100644 +--- a/ld/testsuite/ld-aarch64/ifunc-2-local.d ++++ b/ld/testsuite/ld-aarch64/ifunc-2-local.d +@@ -3,9 +3,9 @@ + #target: aarch64*-*-* + + #... +-0+(110|180) <__GI_foo>: ++0+(110|180|1a0) <__GI_foo>: + #... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(110|180)@plt> ++[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(110|180|1a0)@plt> + [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> +-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(100|170) ++[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(100|170|190) + #pass +diff --git a/ld/testsuite/ld-aarch64/ifunc-2.d b/ld/testsuite/ld-aarch64/ifunc-2.d +index 16c75ead40..eb6fa0ccf0 100644 +--- a/ld/testsuite/ld-aarch64/ifunc-2.d ++++ b/ld/testsuite/ld-aarch64/ifunc-2.d +@@ -3,9 +3,9 @@ + #target: aarch64*-*-* + + #... +-0+(130|1a0) : ++0+(130|1a0|1c8) : + #... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0)@plt> ++[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8)@plt> + [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> +-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(120|190) ++[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(120|190|1b8) + #pass +diff --git a/ld/testsuite/ld-aarch64/ifunc-21.d b/ld/testsuite/ld-aarch64/ifunc-21.d +index b501bd6712..a16186b587 100644 +--- a/ld/testsuite/ld-aarch64/ifunc-21.d ++++ b/ld/testsuite/ld-aarch64/ifunc-21.d +@@ -11,7 +11,7 @@ Contents of section .text: + [0-9a-f]+ .* + Contents of section .got.plt: + [0-9a-f]+ 0+ 0+ 0+ 0+ .* +- 10298 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* ++ (10298|102b8) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* + + Disassembly of section .text: + +@@ -20,7 +20,7 @@ Disassembly of section .text: + + .* : + .*: 90000080 adrp x0, 10000 <.*> +- .*: .* ldr x0, \[x0, #672\] ++ .*: .* ldr x0, \[x0, #(672|704)\] + .*: d65f03c0 ret + + #pass +diff --git a/ld/testsuite/ld-aarch64/ifunc-3a.d b/ld/testsuite/ld-aarch64/ifunc-3a.d +index a01a75c904..4919d96892 100644 +--- a/ld/testsuite/ld-aarch64/ifunc-3a.d ++++ b/ld/testsuite/ld-aarch64/ifunc-3a.d +@@ -4,7 +4,7 @@ + #target: aarch64*-*-* + + #... +-0+(150|1d0) <__GI_foo>: ++0+(150|1d0|1e8) <__GI_foo>: + #... +-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(150|1d0)@plt> ++[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(150|1d0|1e8)@plt> + #pass +diff --git a/ld/testsuite/ld-aarch64/ifunc-9.d b/ld/testsuite/ld-aarch64/ifunc-9.d +index 3b4e995254..e921591275 100644 +--- a/ld/testsuite/ld-aarch64/ifunc-9.d ++++ b/ld/testsuite/ld-aarch64/ifunc-9.d +@@ -1,3 +1,4 @@ + #ld: --export-dynamic +-#error: .*dynamic STT_GNU_IFUNC symbol `foo' with pointer equality in `.*.o' can not be used when making an executable; recompile with -fPIE and relink with -pie ++#objdump: -dr + #target: aarch64*-*-* ++#... +diff --git a/ld/testsuite/ld-elf/dummy.s b/ld/testsuite/ld-elf/dummy.s +new file mode 100644 +index 0000000000..403f98000d +--- /dev/null ++++ b/ld/testsuite/ld-elf/dummy.s +@@ -0,0 +1 @@ ++# Dummy +diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S +new file mode 100644 +index 0000000000..d94abc1106 +--- /dev/null ++++ b/ld/testsuite/ld-elf/linux-x86.S +@@ -0,0 +1,91 @@ ++ .text ++ .globl _start ++ .type _start,@function ++ .p2align 4 ++_start: ++ xorl %ebp, %ebp ++#ifdef __LP64__ ++ popq %rdi ++ movq %rsp, %rsi ++ andq $~15, %rsp ++#elif defined __x86_64__ ++ mov (%rsp),%edi ++ addl $4,%esp ++ movl %esp, %esi ++ andl $~15, %esp ++#else ++ popl %esi ++ movl %esp, %ecx ++ andl $~15, %esp ++ ++ subl $8,%esp ++ pushl %ecx ++ pushl %esi ++#endif ++ ++ call main ++ ++ hlt ++ ++ .type syscall, @function ++ .globl syscall ++ .p2align 4 ++syscall: ++#ifdef __x86_64__ ++ movq %rdi, %rax /* Syscall number -> rax. */ ++ movq %rsi, %rdi /* shift arg1 - arg5. */ ++ movq %rdx, %rsi ++ movq %rcx, %rdx ++ movq %r8, %r10 ++ movq %r9, %r8 ++ movq 8(%rsp),%r9 /* arg6 is on the stack. */ ++ syscall /* Do the system call. */ ++#else ++ push %ebp ++ push %edi ++ push %esi ++ push %ebx ++ mov 0x2c(%esp),%ebp ++ mov 0x28(%esp),%edi ++ mov 0x24(%esp),%esi ++ mov 0x20(%esp),%edx ++ mov 0x1c(%esp),%ecx ++ mov 0x18(%esp),%ebx ++ mov 0x14(%esp),%eax ++ int $0x80 ++ pop %ebx ++ pop %esi ++ pop %edi ++ pop %ebp ++#endif ++ ret /* Return to caller. */ ++ .size syscall, .-syscall ++ .section .note.GNU-stack,"",@progbits ++ ++ .section ".note.gnu.property", "a" ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++ .long 1f - 0f /* name length */ ++ .long 5f - 2f /* data length */ ++ .long 5 /* note type */ ++0: .asciz "GNU" /* vendor name */ ++1: ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++2: .long 0xc0000002 /* pr_type. */ ++ .long 4f - 3f /* pr_datasz. */ ++3: ++ .long 0x2 ++4: ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++5: +diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp +new file mode 100644 +index 0000000000..f6f5a80853 +--- /dev/null ++++ b/ld/testsuite/ld-elf/linux-x86.exp +@@ -0,0 +1,46 @@ ++# Expect script for simple native Linux/x86 tests. ++# Copyright (C) 2018 Free Software Foundation, Inc. ++# ++# This file is part of the GNU Binutils. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++# MA 02110-1301, USA. ++# ++ ++# Test very simple native Linux/x86 programs with linux-x86.S. ++if { ![isnative] || [which $CC] == 0 \ ++ || (![istarget "i?86-*-linux*"] \ ++ && ![istarget "x86_64-*-linux*"] \ ++ && ![istarget "amd64-*-linux*"]) } { ++ return ++} ++ ++# Add $PLT_CFLAGS if PLT is expected. ++global PLT_CFLAGS ++# Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if non-PIE is required. ++global NOPIE_CFLAGS NOPIE_LDFLAGS ++ ++run_ld_link_exec_tests [list \ ++ [list \ ++ "Run PR ld/23428 test" \ ++ "--no-dynamic-linker -z separate-code" \ ++ "" \ ++ { linux-x86.S pr23428.c dummy.s } \ ++ "pr23428" \ ++ "pass.out" \ ++ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \ ++ "asm" \ ++ ] \ ++] +diff --git a/ld/testsuite/ld-elf/pr23428.c b/ld/testsuite/ld-elf/pr23428.c +new file mode 100644 +index 0000000000..3631ed7926 +--- /dev/null ++++ b/ld/testsuite/ld-elf/pr23428.c +@@ -0,0 +1,43 @@ ++#include ++#include ++#include ++ ++#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1) ++ ++int ++main (int argc, char **argv) ++{ ++ char **ev = &argv[argc + 1]; ++ char **evp = ev; ++ ElfW(auxv_t) *av; ++ const ElfW(Phdr) *phdr = NULL; ++ size_t phnum = 0; ++ size_t loadnum = 0; ++ int fd = STDOUT_FILENO; ++ size_t i; ++ ++ while (*evp++ != NULL) ++ ; ++ ++ av = (ElfW(auxv_t) *) evp; ++ ++ for (; av->a_type != AT_NULL; ++av) ++ switch (av->a_type) ++ { ++ case AT_PHDR: ++ phdr = (const void *) av->a_un.a_val; ++ break; ++ case AT_PHNUM: ++ phnum = av->a_un.a_val; ++ break; ++ } ++ ++ for (i = 0; i < phnum; i++, phdr++) ++ if (phdr->p_type == PT_LOAD) ++ loadnum++; ++ ++ syscall (SYS_write, fd, STRING_COMMA_LEN ("PASS\n")); ++ ++ syscall (SYS_exit, !loadnum); ++ return 0; ++} +diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp +index b58139e9dd..3909c0eaa1 100644 +--- a/ld/testsuite/ld-elf/sec64k.exp ++++ b/ld/testsuite/ld-elf/sec64k.exp +@@ -177,6 +177,8 @@ if { ![istarget "d10v-*-*"] + foreach sfile $sfiles { puts $ofd "#source: $sfile" } + if { [istarget spu*-*-*] } { + puts $ofd "#ld: --local-store 0:0" ++ } elseif { [istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"] } { ++ puts $ofd "#ld: -z noseparate-code" + } else { + puts $ofd "#ld:" + } +diff --git a/ld/testsuite/ld-i386/abs-iamcu.d b/ld/testsuite/ld-i386/abs-iamcu.d +index ac9beff2e5..aba7d6b03f 100644 +--- a/ld/testsuite/ld-i386/abs-iamcu.d ++++ b/ld/testsuite/ld-i386/abs-iamcu.d +@@ -2,7 +2,7 @@ + #source: abs.s + #source: zero.s + #as: --32 -march=iamcu +-#ld: -m elf_iamcu ++#ld: -m elf_iamcu -z noseparate-code + #objdump: -rs -j .text + + .*: file format .* +diff --git a/ld/testsuite/ld-i386/abs.d b/ld/testsuite/ld-i386/abs.d +index e660aca524..191ee4456a 100644 +--- a/ld/testsuite/ld-i386/abs.d ++++ b/ld/testsuite/ld-i386/abs.d +@@ -2,7 +2,7 @@ + #as: --32 + #source: abs.s + #source: zero.s +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #objdump: -rs + + .*: file format .* +diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp +index 6d794fe653..56c95367e1 100644 +--- a/ld/testsuite/ld-i386/i386.exp ++++ b/ld/testsuite/ld-i386/i386.exp +@@ -462,6 +462,9 @@ run_dump_test "pr23189" + run_dump_test "pr23194" + run_dump_test "pr23372a" + run_dump_test "pr23372b" ++run_dump_test "pr23486a" ++run_dump_test "pr23486b" ++run_dump_test "pr23854" + + if { !([istarget "i?86-*-linux*"] + || [istarget "i?86-*-gnu*"] +diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d +index ec51540a42..7eba52d95e 100644 +--- a/ld/testsuite/ld-i386/pr12718.d ++++ b/ld/testsuite/ld-i386/pr12718.d +@@ -1,6 +1,6 @@ + #name: PR ld/12718 + #as: --32 +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #readelf: -S + + There are 5 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d +index e49079b3c8..ea2da3eb51 100644 +--- a/ld/testsuite/ld-i386/pr12921.d ++++ b/ld/testsuite/ld-i386/pr12921.d +@@ -1,6 +1,6 @@ + #name: PR ld/12921 + #as: --32 +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #readelf: -S --wide + + There are 7 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-i386/pr23486a.d b/ld/testsuite/ld-i386/pr23486a.d +new file mode 100644 +index 0000000000..41a6dcf7d5 +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23486a.d +@@ -0,0 +1,10 @@ ++#source: ../ld-x86-64/pr23486a.s ++#source: ../ld-x86-64/pr23486b.s ++#as: --32 ++#ld: -r -m elf_i386 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-i386/pr23486b.d b/ld/testsuite/ld-i386/pr23486b.d +new file mode 100644 +index 0000000000..08019b7274 +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23486b.d +@@ -0,0 +1,10 @@ ++#source: ../ld-x86-64/pr23486b.s ++#source: ../ld-x86-64/pr23486a.s ++#as: --32 ++#ld: -r -m elf_i386 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-i386/pr23854.d b/ld/testsuite/ld-i386/pr23854.d +new file mode 100644 +index 0000000000..3ed9c206e5 +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23854.d +@@ -0,0 +1,28 @@ ++#as: --32 -mrelax-relocations=yes ++#ld: -melf_i386 ++#objdump: -dw ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++[a-f0-9]+ <_start>: ++ +[a-f0-9]+: 66 13 81 f8 ff ff ff adc -0x8\(%ecx\),%ax ++ +[a-f0-9]+: 66 03 99 f8 ff ff ff add -0x8\(%ecx\),%bx ++ +[a-f0-9]+: 66 23 89 f8 ff ff ff and -0x8\(%ecx\),%cx ++ +[a-f0-9]+: 66 3b 91 f8 ff ff ff cmp -0x8\(%ecx\),%dx ++ +[a-f0-9]+: 66 0b b9 f8 ff ff ff or -0x8\(%ecx\),%di ++ +[a-f0-9]+: 66 1b b1 f8 ff ff ff sbb -0x8\(%ecx\),%si ++ +[a-f0-9]+: 66 2b a9 f8 ff ff ff sub -0x8\(%ecx\),%bp ++ +[a-f0-9]+: 66 33 a1 f8 ff ff ff xor -0x8\(%ecx\),%sp ++ +[a-f0-9]+: 66 85 89 f8 ff ff ff test %cx,-0x8\(%ecx\) ++ +[a-f0-9]+: 66 13 81 fc ff ff ff adc -0x4\(%ecx\),%ax ++ +[a-f0-9]+: 66 03 99 fc ff ff ff add -0x4\(%ecx\),%bx ++ +[a-f0-9]+: 66 23 89 fc ff ff ff and -0x4\(%ecx\),%cx ++ +[a-f0-9]+: 66 3b 91 fc ff ff ff cmp -0x4\(%ecx\),%dx ++ +[a-f0-9]+: 66 0b b9 fc ff ff ff or -0x4\(%ecx\),%di ++ +[a-f0-9]+: 66 1b b1 fc ff ff ff sbb -0x4\(%ecx\),%si ++ +[a-f0-9]+: 66 2b a9 fc ff ff ff sub -0x4\(%ecx\),%bp ++ +[a-f0-9]+: 66 33 a1 fc ff ff ff xor -0x4\(%ecx\),%sp ++ +[a-f0-9]+: 66 85 89 fc ff ff ff test %cx,-0x4\(%ecx\) ++#pass +diff --git a/ld/testsuite/ld-i386/pr23854.s b/ld/testsuite/ld-i386/pr23854.s +new file mode 100644 +index 0000000000..565e747be0 +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23854.s +@@ -0,0 +1,33 @@ ++ .data ++ .type bar, @object ++bar: ++ .byte 1 ++ .size bar, .-bar ++ .globl foo ++ .type foo, @object ++foo: ++ .byte 1 ++ .size foo, .-foo ++ .text ++ .globl _start ++ .type _start, @function ++_start: ++ adcw bar@GOT(%ecx), %ax ++ addw bar@GOT(%ecx), %bx ++ andw bar@GOT(%ecx), %cx ++ cmpw bar@GOT(%ecx), %dx ++ orw bar@GOT(%ecx), %di ++ sbbw bar@GOT(%ecx), %si ++ subw bar@GOT(%ecx), %bp ++ xorw bar@GOT(%ecx), %sp ++ testw %cx, bar@GOT(%ecx) ++ adcw foo@GOT(%ecx), %ax ++ addw foo@GOT(%ecx), %bx ++ andw foo@GOT(%ecx), %cx ++ cmpw foo@GOT(%ecx), %dx ++ orw foo@GOT(%ecx), %di ++ sbbw foo@GOT(%ecx), %si ++ subw foo@GOT(%ecx), %bp ++ xorw foo@GOT(%ecx), %sp ++ testw %cx, foo@GOT(%ecx) ++ .size _start, .-_start +diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r +index 0ed91f5922..d03203c1e5 100644 +--- a/ld/testsuite/ld-i386/property-3.r ++++ b/ld/testsuite/ld-i386/property-3.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: 586, SSE + x86 ISA needed: i486, 586 + #pass +diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r +index cb2bc15d9a..da295eb6c7 100644 +--- a/ld/testsuite/ld-i386/property-4.r ++++ b/ld/testsuite/ld-i386/property-4.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r +index 552965058c..e4141594b3 100644 +--- a/ld/testsuite/ld-i386/property-5.r ++++ b/ld/testsuite/ld-i386/property-5.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x900000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d +index 4bb35b00fb..0aedea1614 100644 +--- a/ld/testsuite/ld-i386/property-x86-ibt3a.d ++++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d +index 418d58a8f7..bd69ac6478 100644 +--- a/ld/testsuite/ld-i386/property-x86-ibt3b.d ++++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d +index e261038f60..76d2a39f2c 100644 +--- a/ld/testsuite/ld-i386/property-x86-shstk3a.d ++++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d +index 25f3d2361e..e770ecffa5 100644 +--- a/ld/testsuite/ld-i386/property-x86-shstk3b.d ++++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp +index 612d91402f..86892b96b5 100644 +--- a/ld/testsuite/ld-ifunc/ifunc.exp ++++ b/ld/testsuite/ld-ifunc/ifunc.exp +@@ -713,7 +713,7 @@ run_ld_link_exec_tests [list \ + # That does not happen for the pr23169 testcase where the resolver is + # in the executable (which is relocated last by ld.so). + if { [isnative] +- && ![istarget "powerpc-*-*"] } { ++ && !([istarget "powerpc-*-*"] || [istarget "aarch64*-*-*"]) } { + run_ld_link_exec_tests [list \ + [list \ + "Run pr23169a" \ +diff --git a/ld/testsuite/ld-linkonce/zeroeh.ld b/ld/testsuite/ld-linkonce/zeroeh.ld +index b22eaa12c9..f89855a08f 100644 +--- a/ld/testsuite/ld-linkonce/zeroeh.ld ++++ b/ld/testsuite/ld-linkonce/zeroeh.ld +@@ -2,4 +2,5 @@ SECTIONS { + .text 0xa00 : { *(.text); *(.gnu.linkonce.t.*) } + .gcc_except_table 0x2000 : { *(.gcc_except_table) } + .eh_frame 0x4000 : { *(.eh_frame) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp +index 7c50b0f102..4ce74f2587 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -219,6 +219,12 @@ set lto_link_tests [list \ + [list "Build pr22751.a" \ + "$plug_opt" "-flto $lto_no_fat $INT128_CFLAGS" \ + {pr22751.c} {} "pr22751.a"] \ ++ [list "Build libpr23818.so" \ ++ "-shared -flto -g -Wl,-version-script,pr23818.t" \ ++ "-g -flto $lto_fat" \ ++ {pr23818a.c pr23818b.c} \ ++ {{"readelf" {-s --wide} "pr23818.d"}} \ ++ "libpr23818.so"] \ + ] + + if { [at_least_gcc_version 4 7] } { +diff --git a/ld/testsuite/ld-plugin/pr23818.d b/ld/testsuite/ld-plugin/pr23818.d +new file mode 100644 +index 0000000000..5753cd64fd +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr23818.d +@@ -0,0 +1,4 @@ ++#failif ++#... ++.*0+ +[A-Z]+ +GLOBAL +DEFAULT +ABS foo ++#... +diff --git a/ld/testsuite/ld-plugin/pr23818.t b/ld/testsuite/ld-plugin/pr23818.t +new file mode 100644 +index 0000000000..45bca5580e +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr23818.t +@@ -0,0 +1,4 @@ ++{ ++ global: bar; ++ local: *; ++}; +diff --git a/ld/testsuite/ld-plugin/pr23818a.c b/ld/testsuite/ld-plugin/pr23818a.c +new file mode 100644 +index 0000000000..5b5ccbf7cb +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr23818a.c +@@ -0,0 +1,4 @@ ++void ++foo () ++{ ++} +diff --git a/ld/testsuite/ld-plugin/pr23818b.c b/ld/testsuite/ld-plugin/pr23818b.c +new file mode 100644 +index 0000000000..d4be333a39 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr23818b.c +@@ -0,0 +1,7 @@ ++void foo (void); ++ ++void ++bar (void) ++{ ++ foo (); ++} +diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp +index 0359ba28cb..de762966e5 100644 +--- a/ld/testsuite/ld-powerpc/powerpc.exp ++++ b/ld/testsuite/ld-powerpc/powerpc.exp +@@ -221,7 +221,7 @@ set ppc64elftests { + "tlsopt4"} + {"TLS DLL" "-shared -melf64ppc --version-script tlsdll.ver" "" "-a64" {tlsdll.s} + {} "tlsdll.so"} +- {"TLS opt 5" "-melf64ppc --no-plt-align -shared --gc-sections --no-plt-localentry tmpdir/tlsdll.so" "" "-a64" {tlsopt5.s} ++ {"TLS opt 5" "-melf64ppc -shared --hash-style=both --gc-sections --no-plt-localentry tmpdir/tlsdll.so" "" "-a64" {tlsopt5.s} + {{objdump -dr tlsopt5.d} {readelf -wf tlsopt5.wf}} + "tlsopt5"} + {"sym@tocbase" "-shared -melf64ppc" "" "-a64" {symtocbase-1.s symtocbase-2.s} +diff --git a/ld/testsuite/ld-powerpc/tlsopt5.d b/ld/testsuite/ld-powerpc/tlsopt5.d +index 4521a9b427..4caf1832ea 100644 +--- a/ld/testsuite/ld-powerpc/tlsopt5.d ++++ b/ld/testsuite/ld-powerpc/tlsopt5.d +@@ -8,6 +8,13 @@ + + Disassembly of section \.text: + ++.* <.*\.plt_call\.foo>: ++.*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) ++.*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\) ++.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 ++.*: (20 04 80 4e|4e 80 04 20) bctr ++ \.\.\. ++ + .* <.*\.plt_call\.__tls_get_addr_opt@@GLIBC_2\.22>: + .*: (00 00 63 e9|e9 63 00 00) ld r11,0\(r3\) + .*: (08 00 83 e9|e9 83 00 08) ld r12,8\(r3\) +@@ -19,17 +26,21 @@ Disassembly of section \.text: + .*: (a6 02 68 7d|7d 68 02 a6) mflr r11 + .*: (08 00 61 f9|f9 61 00 08) std r11,8\(r1\) + .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) +-.*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\) ++.*: (30 80 82 e9|e9 82 80 30) ld r12,-32720\(r2\) + .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 + .*: (21 04 80 4e|4e 80 04 21) bctrl + .*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\) + .*: (08 00 61 e9|e9 61 00 08) ld r11,8\(r1\) + .*: (a6 03 68 7d|7d 68 03 a6) mtlr r11 + .*: (20 00 80 4e|4e 80 00 20) blr ++ \.\.\. + + .* <_start>: + .*: (08 80 62 38|38 62 80 08) addi r3,r2,-32760 +-.*: (b9 ff ff 4b|4b ff ff b9) bl .* ++.*: (9d ff ff 4b|4b ff ff 9d) bl .* <.*\.plt_call\.__tls_get_addr_opt@@GLIBC_2\.22> ++.*: (00 00 00 60|60 00 00 00) nop ++.*: (75 ff ff 4b|4b ff ff 75) bl .* <.*\.plt_call\.foo> ++.*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\) + .*: (00 00 00 60|60 00 00 00) nop + .* + .* +@@ -50,5 +61,8 @@ Disassembly of section \.text: + .*: (08 00 6b e9|e9 6b 00 08) ld r11,8\(r11\) + .*: (20 04 80 4e|4e 80 04 20) bctr + ++.* : ++.* (c8 ff ff 4b|4b ff ff c8) b .* ++ + .* <__tls_get_addr_opt@plt>: +-.*: (c8 ff ff 4b|4b ff ff c8) b .* ++.*: (c4 ff ff 4b|4b ff ff c4) b .* +diff --git a/ld/testsuite/ld-powerpc/tlsopt5.s b/ld/testsuite/ld-powerpc/tlsopt5.s +index 70902ef96a..7cb82db1f6 100644 +--- a/ld/testsuite/ld-powerpc/tlsopt5.s ++++ b/ld/testsuite/ld-powerpc/tlsopt5.s +@@ -1,7 +1,10 @@ + .globl _start ++ .weak foo + _start: + .cfi_startproc + addi 3,2,gd@got@tlsgd + bl __tls_get_addr(gd@tlsgd) + nop ++ bl foo ++ nop + .cfi_endproc +diff --git a/ld/testsuite/ld-powerpc/tlsopt5.wf b/ld/testsuite/ld-powerpc/tlsopt5.wf +index af8cb76d1c..f0453610e0 100644 +--- a/ld/testsuite/ld-powerpc/tlsopt5.wf ++++ b/ld/testsuite/ld-powerpc/tlsopt5.wf +@@ -7,11 +7,10 @@ Contents of the \.eh_frame section: + Data alignment factor: -8 + Return address column: 65 + Augmentation data: 1b +- + DW_CFA_def_cfa: r1 ofs 0 + + 0+14 0+14 0+18 FDE cie=0+ pc=.* +- DW_CFA_advance_loc: 48 to .* ++ DW_CFA_advance_loc: 80 to .* + DW_CFA_offset_extended_sf: r65 at cfa\+8 + DW_CFA_advance_loc: 16 to .* + DW_CFA_restore_extended: r65 +diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t +index 5ff057a5e3..6eda1d2dc4 100644 +--- a/ld/testsuite/ld-scripts/print-memory-usage.t ++++ b/ld/testsuite/ld-scripts/print-memory-usage.t +@@ -11,4 +11,6 @@ SECTIONS + *(.data) + *(.rw) + } ++ ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t +index 723863995e..c3c4eddab4 100644 +--- a/ld/testsuite/ld-scripts/size-2.t ++++ b/ld/testsuite/ld-scripts/size-2.t +@@ -18,4 +18,5 @@ SECTIONS + LONG (SIZEOF (.tdata)) + LONG (SIZEOF (.tbss)) + } :image ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-x86-64/abs-k1om.d b/ld/testsuite/ld-x86-64/abs-k1om.d +index 2c26639fc0..6b0fde0eed 100644 +--- a/ld/testsuite/ld-x86-64/abs-k1om.d ++++ b/ld/testsuite/ld-x86-64/abs-k1om.d +@@ -2,7 +2,7 @@ + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s + #as: --64 -march=k1om +-#ld: -m elf_k1om ++#ld: -m elf_k1om -z noseparate-code + #objdump: -rs -j .text + + .*: file format .* +diff --git a/ld/testsuite/ld-x86-64/abs-l1om.d b/ld/testsuite/ld-x86-64/abs-l1om.d +index 1fb96d44b7..f87869f9d0 100644 +--- a/ld/testsuite/ld-x86-64/abs-l1om.d ++++ b/ld/testsuite/ld-x86-64/abs-l1om.d +@@ -2,7 +2,7 @@ + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s + #as: --64 -march=l1om +-#ld: -m elf_l1om ++#ld: -m elf_l1om -z noseparate-code + #objdump: -rs -j .text + #target: x86_64-*-linux* + +diff --git a/ld/testsuite/ld-x86-64/abs.d b/ld/testsuite/ld-x86-64/abs.d +index b24b018639..d99ab4685d 100644 +--- a/ld/testsuite/ld-x86-64/abs.d ++++ b/ld/testsuite/ld-x86-64/abs.d +@@ -1,7 +1,7 @@ + #name: Absolute non-overflowing relocs + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s +-#ld: ++#ld: -z noseparate-code + #objdump: -rs + + .*: file format .* +diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d +index 07d17325d0..2c503ffbaa 100644 +--- a/ld/testsuite/ld-x86-64/pr12718.d ++++ b/ld/testsuite/ld-x86-64/pr12718.d +@@ -1,6 +1,6 @@ + #name: PR ld/12718 + #as: --64 +-#ld: -melf_x86_64 ++#ld: -melf_x86_64 -z noseparate-code + #readelf: -S --wide + + There are 5 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d +index 6fe6abee09..1162d55818 100644 +--- a/ld/testsuite/ld-x86-64/pr12921.d ++++ b/ld/testsuite/ld-x86-64/pr12921.d +@@ -1,6 +1,6 @@ + #name: PR ld/12921 + #as: --64 +-#ld: -melf_x86_64 ++#ld: -melf_x86_64 -z noseparate-code + #readelf: -S --wide + + There are 7 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-x86-64/pr23486a-x32.d b/ld/testsuite/ld-x86-64/pr23486a-x32.d +new file mode 100644 +index 0000000000..6d9fa68cdb +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a-x32.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --x32 ++#ld: -r -m elf32_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486a.d b/ld/testsuite/ld-x86-64/pr23486a.d +new file mode 100644 +index 0000000000..dc2b7bf760 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --64 -defsym __64_bit__=1 ++#ld: -r -m elf_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486a.s b/ld/testsuite/ld-x86-64/pr23486a.s +new file mode 100644 +index 0000000000..a07d0c7ced +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a.s +@@ -0,0 +1,30 @@ ++ .section ".note.gnu.property", "a" ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ .long 1f - 0f /* name length. */ ++ .long 4f - 1f /* data length. */ ++ /* NT_GNU_PROPERTY_TYPE_0 */ ++ .long 5 /* note type. */ ++0: ++ .asciz "GNU" /* vendor name. */ ++1: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ /* GNU_PROPERTY_X86_ISA_1_USED */ ++ .long 0xc0000000 /* pr_type. */ ++ .long 3f - 2f /* pr_datasz. */ ++2: ++ .long 0xa ++3: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++4: +diff --git a/ld/testsuite/ld-x86-64/pr23486b-x32.d b/ld/testsuite/ld-x86-64/pr23486b-x32.d +new file mode 100644 +index 0000000000..0445e69d82 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b-x32.d +@@ -0,0 +1,10 @@ ++#source: pr23486b.s ++#source: pr23486a.s ++#as: --x32 ++#ld: -r -m elf32_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486b.d b/ld/testsuite/ld-x86-64/pr23486b.d +new file mode 100644 +index 0000000000..dd0fe88143 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b.d +@@ -0,0 +1,10 @@ ++#source: pr23486b.s ++#source: pr23486a.s ++#as: --64 -defsym __64_bit__=1 ++#ld: -r -m elf_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486b.s b/ld/testsuite/ld-x86-64/pr23486b.s +new file mode 100644 +index 0000000000..c5167eeb65 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b.s +@@ -0,0 +1,30 @@ ++ .section ".note.gnu.property", "a" ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ .long 1f - 0f /* name length. */ ++ .long 4f - 1f /* data length. */ ++ /* NT_GNU_PROPERTY_TYPE_0 */ ++ .long 5 /* note type. */ ++0: ++ .asciz "GNU" /* vendor name. */ ++1: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ /* GNU_PROPERTY_X86_ISA_1_NEEDED */ ++ .long 0xc0000001 /* pr_type. */ ++ .long 3f - 2f /* pr_datasz. */ ++2: ++ .long 0x3 ++3: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++4: +diff --git a/ld/testsuite/ld-x86-64/pr23854.d b/ld/testsuite/ld-x86-64/pr23854.d +new file mode 100644 +index 0000000000..95770d3cef +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23854.d +@@ -0,0 +1,28 @@ ++#as: --64 -mrelax-relocations=yes ++#ld: -melf_x86_64 ++#objdump: -dw ++ ++.*: +file format .* ++ ++Disassembly of section .text: ++ ++[a-f0-9]+ <_start>: ++ +[a-f0-9]+: 66 13 05 ([0-9a-f]{2} ){4} * adc 0x[a-f0-9]+\(%rip\),%ax # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 03 1d ([0-9a-f]{2} ){4} * add 0x[a-f0-9]+\(%rip\),%bx # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 23 0d ([0-9a-f]{2} ){4} * and 0x[a-f0-9]+\(%rip\),%cx # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 3b 15 ([0-9a-f]{2} ){4} * cmp 0x[a-f0-9]+\(%rip\),%dx # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 0b 3d ([0-9a-f]{2} ){4} * or 0x[a-f0-9]+\(%rip\),%di # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 1b 35 ([0-9a-f]{2} ){4} * sbb 0x[a-f0-9]+\(%rip\),%si # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 2b 2d ([0-9a-f]{2} ){4} * sub 0x[a-f0-9]+\(%rip\),%bp # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 44 33 05 ([0-9a-f]{2} ){4} * xor 0x[a-f0-9]+\(%rip\),%r8w # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 85 0d ([0-9a-f]{2} ){4} * test %cx,0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <.got> ++ +[a-f0-9]+: 66 13 05 ([0-9a-f]{2} ){4} * adc 0x[a-f0-9]+\(%rip\),%ax # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 03 1d ([0-9a-f]{2} ){4} * add 0x[a-f0-9]+\(%rip\),%bx # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 23 0d ([0-9a-f]{2} ){4} * and 0x[a-f0-9]+\(%rip\),%cx # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 3b 15 ([0-9a-f]{2} ){4} * cmp 0x[a-f0-9]+\(%rip\),%dx # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 0b 3d ([0-9a-f]{2} ){4} * or 0x[a-f0-9]+\(%rip\),%di # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 1b 35 ([0-9a-f]{2} ){4} * sbb 0x[a-f0-9]+\(%rip\),%si # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 2b 2d ([0-9a-f]{2} ){4} * sub 0x[a-f0-9]+\(%rip\),%bp # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 44 33 05 ([0-9a-f]{2} ){4} * xor 0x[a-f0-9]+\(%rip\),%r8w # [a-f0-9]+ <.got\+0x8> ++ +[a-f0-9]+: 66 85 0d ([0-9a-f]{2} ){4} * test %cx,0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <.got\+0x8> ++#pass +diff --git a/ld/testsuite/ld-x86-64/pr23854.s b/ld/testsuite/ld-x86-64/pr23854.s +new file mode 100644 +index 0000000000..b720154fb2 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23854.s +@@ -0,0 +1,33 @@ ++ .data ++ .type bar, @object ++bar: ++ .byte 1 ++ .size bar, .-bar ++ .globl foo ++ .type foo, @object ++foo: ++ .byte 1 ++ .size foo, .-foo ++ .text ++ .globl _start ++ .type _start, @function ++_start: ++ adcw bar@GOTPCREL(%rip), %ax ++ addw bar@GOTPCREL(%rip), %bx ++ andw bar@GOTPCREL(%rip), %cx ++ cmpw bar@GOTPCREL(%rip), %dx ++ orw bar@GOTPCREL(%rip), %di ++ sbbw bar@GOTPCREL(%rip), %si ++ subw bar@GOTPCREL(%rip), %bp ++ xorw bar@GOTPCREL(%rip), %r8w ++ testw %cx, bar@GOTPCREL(%rip) ++ adcw foo@GOTPCREL(%rip), %ax ++ addw foo@GOTPCREL(%rip), %bx ++ andw foo@GOTPCREL(%rip), %cx ++ cmpw foo@GOTPCREL(%rip), %dx ++ orw foo@GOTPCREL(%rip), %di ++ sbbw foo@GOTPCREL(%rip), %si ++ subw foo@GOTPCREL(%rip), %bp ++ xorw foo@GOTPCREL(%rip), %r8w ++ testw %cx, foo@GOTPCREL(%rip) ++ .size _start, .-_start +diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r +index 0ed91f5922..d03203c1e5 100644 +--- a/ld/testsuite/ld-x86-64/property-3.r ++++ b/ld/testsuite/ld-x86-64/property-3.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: 586, SSE + x86 ISA needed: i486, 586 + #pass +diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r +index cb2bc15d9a..da295eb6c7 100644 +--- a/ld/testsuite/ld-x86-64/property-4.r ++++ b/ld/testsuite/ld-x86-64/property-4.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r +index 552965058c..e4141594b3 100644 +--- a/ld/testsuite/ld-x86-64/property-5.r ++++ b/ld/testsuite/ld-x86-64/property-5.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x900000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-x86-64/property-x86-3.s b/ld/testsuite/ld-x86-64/property-x86-3.s +index be8cc9efb1..239cf622ff 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-3.s ++++ b/ld/testsuite/ld-x86-64/property-x86-3.s +@@ -41,7 +41,11 @@ + 3: + + .section ".note.gnu.property", "a" ++.ifdef __64_bit__ + .p2align 3 ++.else ++ .p2align 2 ++.endif + .long 1f - 0f /* name length. */ + .long 3f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d +index 011426f5a4..4cec728dc7 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d +index 1b4229a037..a8df49a351 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d +index 290ed6abf1..c112626711 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d +index 1142e03272..f10dffdc2c 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d +index 819542d181..0147a3c7b6 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d +index 4c5d0e0a18..1f8c2dc929 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d +index ba181e0bc5..7ca2539ca5 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d +index 5216f385dd..f66a40e449 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp +index 6edb9e86f4..9abafd2765 100644 +--- a/ld/testsuite/ld-x86-64/x86-64.exp ++++ b/ld/testsuite/ld-x86-64/x86-64.exp +@@ -403,6 +403,11 @@ run_dump_test "pr23372a" + run_dump_test "pr23372a-x32" + run_dump_test "pr23372b" + run_dump_test "pr23372b-x32" ++run_dump_test "pr23486a" ++run_dump_test "pr23486a-x32" ++run_dump_test "pr23486b" ++run_dump_test "pr23486b-x32" ++run_dump_test "pr23854" + + if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { + return +diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp +index cfbefe9028..1095091882 100644 +--- a/ld/testsuite/lib/ld-lib.exp ++++ b/ld/testsuite/lib/ld-lib.exp +@@ -1482,7 +1482,10 @@ proc run_ld_link_exec_tests { ldtests args } { + continue + } + +- if { [ string match "c++" $lang ] } { ++ if { [ string match "asm" $lang ] } { ++ set link_proc ld_link ++ set link_cmd $ld ++ } elseif { [ string match "c++" $lang ] } { + set link_proc ld_link + set link_cmd $CXX + } else { +diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog +index d04963a9fa..8f89565935 100644 +--- a/opcodes/ChangeLog ++++ b/opcodes/ChangeLog +@@ -1,3 +1,36 @@ ++2018-10-19 Tamar Christina ++ ++ * arm-dis.c (UNKNOWN_INSTRUCTION_32BIT): Format specifier for arm mode. ++ (UNKNOWN_INSTRUCTION_16BIT): Format specifier for thumb mode. ++ (print_insn_arm, print_insn_thumb16, print_insn_thumb32): Use them. ++ ++2018-10-16 Matthew Malcomson ++ ++ * aarch64-opc.c (struct operand_qualifier_data): Change qualifier data ++ corresponding to AARCH64_OPND_QLF_S_4B qualifier. ++ ++2018-10-05 H.J. Lu ++ ++ * i386-dis.c (rm_table): Add enclv. ++ * i386-opc.tbl: Add enclv. ++ * i386-tbl.h: Regenerated. ++ ++2018-07-18 H.J. Lu ++ ++ PR gas/23418 ++ * i386-opc.h (Byte): Update comments. ++ (Word): Likewise. ++ (Dword): Likewise. ++ (Fword): Likewise. ++ (Qword): Likewise. ++ (Tbyte): Likewise. ++ (Xmmword): Likewise. ++ (Ymmword): Likewise. ++ (Zmmword): Likewise. ++ * i386-opc.tbl: Split vcvtps2qq, vcvtps2uqq, vcvttps2qq and ++ vcvttps2uqq. ++ * i386-tbl.h: Regenerated. ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c +index ba2af7bfc2..e59240c98d 100644 +--- a/opcodes/aarch64-opc.c ++++ b/opcodes/aarch64-opc.c +@@ -698,7 +698,7 @@ struct operand_qualifier_data aarch64_opnd_qualifiers[] = + {4, 1, 0x2, "s", OQK_OPD_VARIANT}, + {8, 1, 0x3, "d", OQK_OPD_VARIANT}, + {16, 1, 0x4, "q", OQK_OPD_VARIANT}, +- {1, 4, 0x0, "4b", OQK_OPD_VARIANT}, ++ {4, 1, 0x0, "4b", OQK_OPD_VARIANT}, + + {1, 4, 0x0, "4b", OQK_OPD_VARIANT}, + {1, 8, 0x0, "8b", OQK_OPD_VARIANT}, +@@ -2501,6 +2501,7 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx, + else + num = 16; + num = num / aarch64_get_qualifier_esize (qualifier) - 1; ++ assert (aarch64_get_qualifier_nelem (qualifier) == 1); + + /* Index out-of-range. */ + if (!value_in_range_p (opnd->reglane.index, 0, num)) +diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c +index b6cccc5233..bc97bc2617 100644 +--- a/opcodes/arm-dis.c ++++ b/opcodes/arm-dis.c +@@ -141,6 +141,8 @@ enum opcode_sentinel_enum + } opcode_sentinels; + + #define UNDEFINED_INSTRUCTION "\t\t; instruction: %0-31x" ++#define UNKNOWN_INSTRUCTION_32BIT "\t\t; instruction: %08x" ++#define UNKNOWN_INSTRUCTION_16BIT "\t\t; instruction: %04x" + #define UNPREDICTABLE_INSTRUCTION "\t; " + + /* Common coprocessor opcodes shared between Arm and Thumb-2. */ +@@ -5188,7 +5190,8 @@ print_insn_arm (bfd_vma pc, struct disassemble_info *info, long given) + return; + } + } +- abort (); ++ func (stream, UNKNOWN_INSTRUCTION_32BIT, (unsigned)given); ++ return; + } + + /* Print one 16-bit Thumb instruction from PC on INFO->STREAM. */ +@@ -5459,7 +5462,8 @@ print_insn_thumb16 (bfd_vma pc, struct disassemble_info *info, long given) + } + + /* No match. */ +- abort (); ++ func (stream, UNKNOWN_INSTRUCTION_16BIT, (unsigned)given); ++ return; + } + + /* Return the name of an V7M special register. */ +@@ -6083,7 +6087,8 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given) + } + + /* No match. */ +- abort (); ++ func (stream, UNKNOWN_INSTRUCTION_32BIT, (unsigned)given); ++ return; + } + + /* Print data bytes on INFO->STREAM. */ +diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c +index 42d219cb11..78436879fb 100644 +--- a/opcodes/i386-dis.c ++++ b/opcodes/i386-dis.c +@@ -12321,7 +12321,7 @@ static const struct dis386 rm_table[][8] = { + }, + { + /* RM_0F01_REG_0 */ +- { Bad_Opcode }, ++ { "enclv", { Skip_MODRM }, 0 }, + { "vmcall", { Skip_MODRM }, 0 }, + { "vmlaunch", { Skip_MODRM }, 0 }, + { "vmresume", { Skip_MODRM }, 0 }, +diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h +index 9a22b3c95f..f43b5e11eb 100644 +--- a/opcodes/i386-opc.h ++++ b/opcodes/i386-opc.h +@@ -736,23 +736,23 @@ enum + RegMem, + /* Memory. */ + Mem, +- /* BYTE memory. */ ++ /* BYTE size. */ + Byte, +- /* WORD memory. 2 byte */ ++ /* WORD size. 2 byte */ + Word, +- /* DWORD memory. 4 byte */ ++ /* DWORD size. 4 byte */ + Dword, +- /* FWORD memory. 6 byte */ ++ /* FWORD size. 6 byte */ + Fword, +- /* QWORD memory. 8 byte */ ++ /* QWORD size. 8 byte */ + Qword, +- /* TBYTE memory. 10 byte */ ++ /* TBYTE size. 10 byte */ + Tbyte, +- /* XMMWORD memory. */ ++ /* XMMWORD size. */ + Xmmword, +- /* YMMWORD memory. */ ++ /* YMMWORD size. */ + Ymmword, +- /* ZMMWORD memory. */ ++ /* ZMMWORD size. */ + Zmmword, + /* Unspecified memory size. */ + Unspecified, +diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl +index fad588ae3f..99f4d6635a 100644 +--- a/opcodes/i386-opc.tbl ++++ b/opcodes/i386-opc.tbl +@@ -4100,6 +4100,7 @@ xsavec64, 1, 0xfc7, 0x4, 2, CpuXSAVEC|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No + + encls, 0, 0xf01cf, None, 3, CpuSE1, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 } + enclu, 0, 0xf01d7, None, 3, CpuSE1, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 } ++enclv, 0, 0xf01c0, None, 3, CpuSE1, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 } + + // SGX instructions end. + +@@ -5408,11 +5409,13 @@ vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3| + vcvtpd2uqq, 3, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM } + + vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM } +-vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM } ++vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex, RegXMM } + vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM } + vcvtps2qq, 3, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegYMM, RegZMM } + vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM } +-vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM } ++vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex, RegXMM } + vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM } + vcvtps2uqq, 3, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegYMM, RegZMM } + +@@ -5442,11 +5445,13 @@ vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3 + vcvttpd2uqq, 3, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM } + + vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM } +-vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM } ++vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex, RegXMM } + vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM } + vcvttps2qq, 3, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM } + vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM } +-vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } ++vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM } ++vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex, RegXMM } + vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex, RegYMM } + vcvttps2uqq, 3, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM } + +diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h +index d513275deb..42ac313eca 100644 +--- a/opcodes/i386-tbl.h ++++ b/opcodes/i386-tbl.h +@@ -83658,6 +83658,20 @@ const insn_template i386_optab[] = + { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0 } } } }, ++ { "enclv", 0, 0xf01c0, None, 3, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0 } }, ++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, ++ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0 }, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0 } } } }, + { "vcvtpd2udqx", 2, 0x79, None, 1, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, +@@ -87881,6 +87895,23 @@ const insn_template i386_optab[] = + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0 } } } }, ++ { "vcvtps2qq", 2, 0x667B, None, 1, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0 } }, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, ++ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0 }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } } } }, + { "vcvtps2qq", 2, 0x667B, None, 1, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, +@@ -87892,8 +87923,8 @@ const insn_template i386_optab[] = + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, + 0, 0 }, +- { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0 } }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +@@ -87952,6 +87983,23 @@ const insn_template i386_optab[] = + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0 } } } }, ++ { "vcvtps2uqq", 2, 0x6679, None, 1, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0 } }, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, ++ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0 }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } } } }, + { "vcvtps2uqq", 2, 0x6679, None, 1, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, +@@ -87963,8 +88011,8 @@ const insn_template i386_optab[] = + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, + 0, 0 }, +- { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0 } }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +@@ -88412,6 +88460,23 @@ const insn_template i386_optab[] = + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0 } } } }, ++ { "vcvttps2qq", 2, 0x667A, None, 1, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0 } }, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, ++ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0 }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } } } }, + { "vcvttps2qq", 2, 0x667A, None, 1, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, +@@ -88423,8 +88488,8 @@ const insn_template i386_optab[] = + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, + 0, 0 }, +- { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0 } }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +@@ -88483,6 +88548,23 @@ const insn_template i386_optab[] = + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0 } } } }, ++ { "vcvttps2uqq", 2, 0x6678, None, 1, ++ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0 } }, ++ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, ++ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0 }, ++ { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } }, ++ { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, ++ 0, 0, 0 } } } }, + { "vcvttps2uqq", 2, 0x6678, None, 1, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, +@@ -88494,8 +88576,8 @@ const insn_template i386_optab[] = + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, + 0, 0 }, +- { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, +- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, ++ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, ++ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, + 0, 0, 0 } }, + { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt +index ef75e38e7e..d8a9cce1e2 100644 +--- a/opcodes/s390-opc.txt ++++ b/opcodes/s390-opc.txt +@@ -1126,7 +1126,7 @@ e561 tbeginc SIL_RDU "constrained transaction begin" zEC12 zarch htm + b2f8 tend S_00 "transaction end" zEC12 zarch htm + c7 bpp SMI_U0RDP "branch prediction preload" zEC12 zarch + c5 bprp MII_UPP "branch prediction relative preload" zEC12 zarch +-b2e8 ppa RRF_U0RR "perform processor assist" zEC12 zarch ++b2e8 ppa RRF_U0RR "perform processor assist" zEC12 zarch htm + b2fa niai IE_UU "next instruction access intent" zEC12 zarch + b98f crdte RRF_RURR2 "compare and replace DAT table entry" zEC12 zarch optparm + e3000000009f lat RXY_RRRD "load and trap 32 bit" zEC12 zarch diff --git a/patches/branch-version.diff b/patches/branch-version.diff new file mode 100644 index 000000000..0e898b88e --- /dev/null +++ b/patches/branch-version.diff @@ -0,0 +1,652 @@ +# DP: Don't bump the version when doing distro builds + +git diff e43d51b14d0039506ec42941001f3ca56387a80e 8db5daf9efe8a6174d3b10ac7bba8c178836e9ce + +Index: b/bfd/ChangeLog +=================================================================== +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -80,15 +80,6 @@ + + 2018-01-27 Nick Clifton + +- Back to development. +- +- * version.m4 (BFD_VERSION): Set to 2.30.0 +- * development.sh: Set to true. +- * configure: Regenerate. +- * po/bfd.pot: Regenerate. +- +-2018-01-27 Nick Clifton +- + This is the 2.30 release: + + * version.m4 (BFD_VERSION): Set to 2.30 +Index: b/bfd/configure +=================================================================== +--- 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.30.0. ++# Generated by GNU Autoconf 2.64 for bfd 2.30. + # + # 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.30.0' +-PACKAGE_STRING='bfd 2.30.0' ++PACKAGE_VERSION='2.30' ++PACKAGE_STRING='bfd 2.30' + 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.30.0 to adapt to many kinds of systems. ++\`configure' configures bfd 2.30 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.30.0:";; ++ short | recursive ) echo "Configuration of bfd 2.30:";; + 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.30.0 ++bfd configure 2.30 + 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.30.0, which was ++It was created by bfd $as_me 2.30, 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.30.0' ++ VERSION='2.30' + + + cat >>confdefs.h <<_ACEOF +@@ -16666,7 +16666,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri + # 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.30.0, which was ++This file was extended by bfd $as_me 2.30, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -16730,7 +16730,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-bfd config.status 2.30.0 ++bfd config.status 2.30 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Index: b/bfd/development.sh +=================================================================== +--- 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=true ++development=false +Index: b/bfd/po/bfd.pot +=================================================================== +--- a/bfd/po/bfd.pot ++++ b/bfd/po/bfd.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" +-"POT-Creation-Date: 2018-01-27 15:36+0000\n" ++"POT-Creation-Date: 2018-01-27 14:58+0000\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +Index: b/bfd/version.m4 +=================================================================== +--- a/bfd/version.m4 ++++ b/bfd/version.m4 +@@ -1 +1 @@ +-m4_define([BFD_VERSION], [2.30.0]) ++m4_define([BFD_VERSION], [2.30]) +Index: b/binutils/ChangeLog +=================================================================== +--- a/binutils/ChangeLog ++++ b/binutils/ChangeLog +@@ -6,12 +6,6 @@ + + 2018-01-27 Nick Clifton + +- Back to development. +- +- * configure: Regenerate. +- +-2018-01-27 Nick Clifton +- + This is the 2.30 release: + + * configure: Regenerate. +Index: b/binutils/configure +=================================================================== +--- 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.30.0. ++# Generated by GNU Autoconf 2.64 for binutils 2.30. + # + # 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.30.0' +-PACKAGE_STRING='binutils 2.30.0' ++PACKAGE_VERSION='2.30' ++PACKAGE_STRING='binutils 2.30' + 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.30.0 to adapt to many kinds of systems. ++\`configure' configures binutils 2.30 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.30.0:";; ++ short | recursive ) echo "Configuration of binutils 2.30:";; + 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.30.0 ++binutils configure 2.30 + 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.30.0, which was ++It was created by binutils $as_me 2.30, 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.30.0' ++ VERSION='2.30' + + + cat >>confdefs.h <<_ACEOF +@@ -15233,7 +15233,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri + # 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.30.0, which was ++This file was extended by binutils $as_me 2.30, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -15297,7 +15297,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-binutils config.status 2.30.0 ++binutils config.status 2.30 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Index: b/gas/ChangeLog +=================================================================== +--- a/gas/ChangeLog ++++ b/gas/ChangeLog +@@ -50,12 +50,6 @@ + + 2018-01-27 Nick Clifton + +- Back to development. +- +- * configure: Regenerate. +- +-2018-01-27 Nick Clifton +- + This is the 2.30 release: + + * configure: Regenerate. +Index: b/gas/configure +=================================================================== +--- 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.30.0. ++# Generated by GNU Autoconf 2.64 for gas 2.30. + # + # 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.30.0' +-PACKAGE_STRING='gas 2.30.0' ++PACKAGE_VERSION='2.30' ++PACKAGE_STRING='gas 2.30' + 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.30.0 to adapt to many kinds of systems. ++\`configure' configures gas 2.30 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.30.0:";; ++ short | recursive ) echo "Configuration of gas 2.30:";; + 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.30.0 ++gas configure 2.30 + 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.30.0, which was ++It was created by gas $as_me 2.30, 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.30.0' ++ VERSION='2.30' + + + cat >>confdefs.h <<_ACEOF +@@ -15224,7 +15224,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri + # 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.30.0, which was ++This file was extended by gas $as_me 2.30, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -15288,7 +15288,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-gas config.status 2.30.0 ++gas config.status 2.30 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Index: b/gprof/configure +=================================================================== +--- 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.30.0. ++# Generated by GNU Autoconf 2.64 for gprof 2.30. + # + # 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.30.0' +-PACKAGE_STRING='gprof 2.30.0' ++PACKAGE_VERSION='2.30' ++PACKAGE_STRING='gprof 2.30' + 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.30.0 to adapt to many kinds of systems. ++\`configure' configures gprof 2.30 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.30.0:";; ++ short | recursive ) echo "Configuration of gprof 2.30:";; + 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.30.0 ++gprof configure 2.30 + 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.30.0, which was ++It was created by gprof $as_me 2.30, 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.30.0' ++ VERSION='2.30' + + + cat >>confdefs.h <<_ACEOF +@@ -12787,7 +12787,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri + # 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.30.0, which was ++This file was extended by gprof $as_me 2.30, 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.30.0 ++gprof config.status 2.30 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Index: b/ld/ChangeLog +=================================================================== +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -41,12 +41,6 @@ + + 2018-01-27 Nick Clifton + +- Back to development. +- +- * configure: Regenerate. +- +-2018-01-27 Nick Clifton +- + This is the 2.30 release: + + * configure: Regenerate. +Index: b/ld/configure +=================================================================== +--- 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.30.0. ++# Generated by GNU Autoconf 2.64 for ld 2.30. + # + # 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.30.0' +-PACKAGE_STRING='ld 2.30.0' ++PACKAGE_VERSION='2.30' ++PACKAGE_STRING='ld 2.30' + PACKAGE_BUGREPORT='' + PACKAGE_URL='' + +@@ -1352,7 +1352,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.30.0 to adapt to many kinds of systems. ++\`configure' configures ld 2.30 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1423,7 +1423,7 @@ fi + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of ld 2.30.0:";; ++ short | recursive ) echo "Configuration of ld 2.30:";; + esac + cat <<\_ACEOF + +@@ -1551,7 +1551,7 @@ fi + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-ld configure 2.30.0 ++ld configure 2.30 + generated by GNU Autoconf 2.64 + + Copyright (C) 2009 Free Software Foundation, Inc. +@@ -2260,7 +2260,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.30.0, which was ++It was created by ld $as_me 2.30, which was + generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ +@@ -4070,7 +4070,7 @@ fi + + # Define the identity of the package. + PACKAGE='ld' +- VERSION='2.30.0' ++ VERSION='2.30' + + + cat >>confdefs.h <<_ACEOF +@@ -17870,7 +17870,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri + # 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.30.0, which was ++This file was extended by ld $as_me 2.30, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -17934,7 +17934,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-ld config.status 2.30.0 ++ld config.status 2.30 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Index: b/opcodes/ChangeLog +=================================================================== +--- a/opcodes/ChangeLog ++++ b/opcodes/ChangeLog +@@ -4,13 +4,6 @@ + + 2018-01-27 Nick Clifton + +- Back to development. +- +- * configure: Regenerate. +- * po/opcodes.pot: Regenerate. +- +-2018-01-27 Nick Clifton +- + This is the 2.30 release: + + * configure: Regenerate. +Index: b/opcodes/configure +=================================================================== +--- 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.30.0. ++# Generated by GNU Autoconf 2.64 for opcodes 2.30. + # + # 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.30.0' +-PACKAGE_STRING='opcodes 2.30.0' ++PACKAGE_VERSION='2.30' ++PACKAGE_STRING='opcodes 2.30' + 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.30.0 to adapt to many kinds of systems. ++\`configure' configures opcodes 2.30 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.30.0:";; ++ short | recursive ) echo "Configuration of opcodes 2.30:";; + 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.30.0 ++opcodes configure 2.30 + 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.30.0, which was ++It was created by opcodes $as_me 2.30, 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.30.0' ++ VERSION='2.30' + + + cat >>confdefs.h <<_ACEOF +@@ -13307,7 +13307,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri + # 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.30.0, which was ++This file was extended by opcodes $as_me 2.30, which was + generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -13371,7 +13371,7 @@ Report bugs to the package provider." + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_version="\\ +-opcodes config.status 2.30.0 ++opcodes config.status 2.30 + configured by $0, generated by GNU Autoconf 2.64, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Index: b/opcodes/po/opcodes.pot +=================================================================== +--- a/opcodes/po/opcodes.pot ++++ b/opcodes/po/opcodes.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" +-"POT-Creation-Date: 2018-01-27 15:37+0000\n" ++"POT-Creation-Date: 2018-01-27 14:59+0000\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" diff --git a/patches/gold-mips.diff b/patches/gold-mips.diff new file mode 100644 index 000000000..291a2aae6 --- /dev/null +++ b/patches/gold-mips.diff @@ -0,0 +1,39 @@ +# DP: Fix gold on mips64 targets. + +gold/ + +2016-08-09 Aurelien Jarno + + * configure.tgt: Add mips64el*-*-*|mips64le*-*-* and mips64*-*-*. + + +--- a/gold/configure.tgt ++++ b/gold/configure.tgt +@@ -153,6 +153,13 @@ aarch64*-*) + targ_big_endian=false + targ_extra_big_endian=true + ;; ++mips*64*el*-*-*|mips*64*le*-*-*) ++ targ_obj=mips ++ targ_machine=EM_MIPS_RS3_LE ++ targ_size=64 ++ targ_big_endian=false ++ targ_extra_big_endian=true ++ ;; + mips*el*-*-*|mips*le*-*-*) + targ_obj=mips + targ_machine=EM_MIPS_RS3_LE +@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*) + targ_big_endian=false + targ_extra_big_endian=true + ;; ++mips*64*-*-*) ++ targ_obj=mips ++ targ_machine=EM_MIPS ++ targ_size=64 ++ targ_big_endian=true ++ targ_extra_big_endian=false ++ ;; + mips*-*-*) + targ_obj=mips + targ_machine=EM_MIPS diff --git a/patches/gold-no-keep-files-mapped.diff b/patches/gold-no-keep-files-mapped.diff new file mode 100644 index 000000000..cdf1bf647 --- /dev/null +++ b/patches/gold-no-keep-files-mapped.diff @@ -0,0 +1,16 @@ +# DP: gold on 32bit archs: Release mapped files after each pass. + +Index: b/gold/options.h +=================================================================== +--- a/gold/options.h ++++ b/gold/options.h +@@ -999,7 +999,8 @@ class General_options + + // k + +- DEFINE_bool(keep_files_mapped, options::TWO_DASHES, '\0', true, ++ DEFINE_bool(keep_files_mapped, options::TWO_DASHES, '\0', ++ sizeof(void*) >= 8, + N_("Keep files mapped across passes"), + N_("Release mapped files after each pass")); + diff --git a/patches/gprof-build.diff b/patches/gprof-build.diff new file mode 100644 index 000000000..82377ee3c --- /dev/null +++ b/patches/gprof-build.diff @@ -0,0 +1,16 @@ +# DP: Fix gprof build error. + +Index: b/gprof/gconfig.in +=================================================================== +--- a/gprof/gconfig.in ++++ b/gprof/gconfig.in +@@ -96,9 +96,6 @@ + #endif + + +-/* Version number of package */ +-#undef VERSION +- + /* Enable large inode numbers on Mac OS X 10.5. */ + #ifndef _DARWIN_USE_64_BIT_INODE + # define _DARWIN_USE_64_BIT_INODE 1 diff --git a/patches/i18n-fr.diff b/patches/i18n-fr.diff new file mode 100644 index 000000000..ac53b3876 --- /dev/null +++ b/patches/i18n-fr.diff @@ -0,0 +1,13 @@ +Index: b/bfd/po/fr.po +=================================================================== +--- a/bfd/po/fr.po ++++ b/bfd/po/fr.po +@@ -4613,7 +4613,7 @@ msgstr "symbole " + + #: elf64-x86-64.c:1383 elf64-x86-64.c:1393 + msgid "; recompile with -fPIC" +-msgstr "; recompilé avec -fPIC" ++msgstr "; recompilez avec -fPIC" + + #: elf64-x86-64.c:1388 + msgid "undefined " diff --git a/patches/infinity-notes.diff b/patches/infinity-notes.diff new file mode 100644 index 000000000..2f3e34f97 --- /dev/null +++ b/patches/infinity-notes.diff @@ -0,0 +1,187 @@ +# git clone https://gitlab.com/gbenson/binutils-gdb.git gdb/src +# git diff 1f1c02597cc199227226251a2ea51fe5f44b4d6d ec7642f5d7ba9bdbc35f08f3ffa3c360bd4618d0 + +Index: b/include/elf/common.h +=================================================================== +--- a/include/elf/common.h ++++ b/include/elf/common.h +@@ -709,6 +709,7 @@ + #define NT_GNU_BUILD_ID 3 /* Generated by ld --build-id. */ + #define NT_GNU_GOLD_VERSION 4 /* Generated by gold. */ + #define NT_GNU_PROPERTY_TYPE_0 5 /* Generated by gcc. */ ++#define NT_GNU_INFINITY 8995 /* Generated by i8c. */ + + #define NT_GNU_BUILD_ATTRIBUTE_OPEN 0x100 + #define NT_GNU_BUILD_ATTRIBUTE_FUNC 0x101 +Index: b/binutils/readelf.c +=================================================================== +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -16788,6 +16788,8 @@ get_gnu_elf_note_type (unsigned e_type) + return _("NT_GNU_BUILD_ATTRIBUTE_OPEN"); + case NT_GNU_BUILD_ATTRIBUTE_FUNC: + return _("NT_GNU_BUILD_ATTRIBUTE_FUNC"); ++ case NT_GNU_INFINITY: ++ return _("NT_GNU_INFINITY (Infinity function)"); + default: + { + static char buff[64]; +@@ -16997,6 +16999,133 @@ next: + printf ("\n"); + } + ++#define I8_CHUNK_SIGNATURE 1 ++#define I8_CHUNK_STRINGS 4 ++ ++typedef enum ++{ ++ I8_NOTE_OK, ++ I8_NOTE_CORRUPT, ++ I8_NOTE_UNHANDLED, ++} ++i8_err_e; ++ ++static i8_err_e ++infinity_get_string (const char **result, ++ unsigned char **ptr, unsigned char *limit, ++ unsigned char *table_start, ++ unsigned char *table_limit) ++{ ++ dwarf_vma offset; ++ unsigned int length; ++ const char *c; ++ ++ /* Read the offset. */ ++ if (*ptr > limit) ++ return I8_NOTE_CORRUPT; ++ ++ offset = read_uleb128 (*ptr, &length, limit); ++ *ptr += length; ++ if (*ptr > limit) ++ return I8_NOTE_CORRUPT; ++ ++ /* Get the string. */ ++ *result = (const char *) (table_start + offset); ++ ++ /* Check the result. */ ++ for (c = *result; c < (const char *) table_limit; c++) ++ { ++ if (*c == '\0') ++ return I8_NOTE_OK; ++ ++ if (*c < ' ' || *c > '~') ++ return I8_NOTE_UNHANDLED; ++ } ++ ++ return I8_NOTE_CORRUPT; ++} ++ ++static i8_err_e ++print_infinity_note (Elf_Internal_Note *pnote) ++{ ++ unsigned char *ptr = (unsigned char *) pnote->descdata; ++ unsigned char *limit = ptr + pnote->descsz; ++ unsigned char *sig_start = NULL; ++ unsigned char *str_start = NULL; ++ unsigned char *sig_limit, *str_limit; ++ const char *provider, *name, *ptypes, *rtypes; ++ i8_err_e status; ++ ++ /* Locate the info and string table chunks. */ ++ while (ptr < limit) ++ { ++ dwarf_vma type_id, version, size; ++ unsigned int length; ++ ++ type_id = read_uleb128 (ptr, &length, limit); ++ ptr += length; ++ if (ptr >= limit) ++ return I8_NOTE_CORRUPT; ++ ++ version = read_uleb128 (ptr, &length, limit); ++ ptr += length; ++ if (ptr >= limit) ++ return I8_NOTE_CORRUPT; ++ ++ size = read_uleb128 (ptr, &length, limit); ++ ptr += length; ++ if (ptr + size > limit) ++ return I8_NOTE_CORRUPT; ++ ++ switch (type_id) ++ { ++ case I8_CHUNK_SIGNATURE: ++ if (sig_start != NULL || (version != 1 && version != 2)) ++ return I8_NOTE_UNHANDLED; ++ ++ sig_start = ptr; ++ sig_limit = ptr + size; ++ break; ++ ++ case I8_CHUNK_STRINGS: ++ if (str_start != NULL || version != 1) ++ return I8_NOTE_UNHANDLED; ++ ++ str_start = ptr; ++ str_limit = ptr + size; ++ break; ++ } ++ ++ ptr += size; ++ } ++ if (sig_start == NULL || str_start == NULL) ++ return I8_NOTE_UNHANDLED; ++ ++ ptr = sig_start; ++ status = infinity_get_string (&provider, ++ &ptr, sig_limit, ++ str_start, str_limit); ++ if (status != I8_NOTE_OK) ++ return status; ++ status = infinity_get_string (&name, &ptr, sig_limit, ++ str_start, str_limit); ++ if (status != I8_NOTE_OK) ++ return status; ++ status = infinity_get_string (&ptypes, &ptr, sig_limit, ++ str_start, str_limit); ++ if (status != I8_NOTE_OK) ++ return status; ++ status = infinity_get_string (&rtypes, &ptr, sig_limit, ++ str_start, str_limit); ++ if (status != I8_NOTE_OK) ++ return status; ++ ++ printf (_(" Signature: %s::%s(%s)%s\n"), ++ provider, name, ptypes, rtypes); ++ ++ return I8_NOTE_OK; ++} ++ + static bfd_boolean + print_gnu_note (Filedata * filedata, Elf_Internal_Note *pnote) + { +@@ -17114,6 +17243,24 @@ print_gnu_note (Filedata * filedata, Elf + printf ("\n"); + } + break; ++ ++ case NT_GNU_INFINITY: ++ { ++ switch (print_infinity_note (pnote)) ++ { ++ case I8_NOTE_OK: ++ break; ++ ++ case I8_NOTE_CORRUPT: ++ printf (_(" \n")); ++ break; ++ ++ case I8_NOTE_UNHANDLED: ++ printf (_(" \n")); ++ break; ++ } ++ break; ++ } + } + + return TRUE; diff --git a/patches/mips64-default-n64.diff b/patches/mips64-default-n64.diff new file mode 100644 index 000000000..a6bdc7f64 --- /dev/null +++ b/patches/mips64-default-n64.diff @@ -0,0 +1,79 @@ +Index: b/bfd/config.bfd +=================================================================== +--- a/bfd/config.bfd ++++ b/bfd/config.bfd +@@ -912,11 +912,21 @@ case "${targ}" in + targ_defvec=mips_elf32_be_vec + targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" + ;; +- mips64*el-*-linux*) ++ mips*64*el-*-linux*-gnuabi64) ++ targ_defvec=mips_elf64_trad_le_vec ++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec" ++ want64=true ++ ;; ++ mips*64*-*-linux*-gnuabi64) ++ targ_defvec=mips_elf64_trad_be_vec ++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" ++ want64=true ++ ;; ++ mips*64*el-*-linux*) + targ_defvec=mips_elf32_ntrad_le_vec + targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" + ;; +- mips64*-*-linux*) ++ mips*64*-*-linux*) + targ_defvec=mips_elf32_ntrad_be_vec + targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" + ;; +Index: b/gas/configure.ac +=================================================================== +--- a/gas/configure.ac ++++ b/gas/configure.ac +@@ -344,6 +344,9 @@ changequote([,])dnl + esac + # Decide which ABI to target by default. + case ${target} in ++ mips*64*-linux-gnuabi64) ++ mips_default_abi=N64_ABI ++ ;; + mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \ + | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*) + mips_default_abi=N32_ABI +Index: b/ld/configure.tgt +=================================================================== +--- a/ld/configure.tgt ++++ b/ld/configure.tgt +@@ -464,10 +464,16 @@ mips*el-*-vxworks*) targ_emul=elf32elmip + mips*-*-vxworks*) targ_emul=elf32ebmipvxworks + targ_extra_emuls="elf32elmipvxworks" ;; + mips*-*-windiss) targ_emul=elf32mipswindiss ;; +-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 ++mips*64*el-*-linux-gnuabi64) targ_emul=elf64ltsmip ++ targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf32ltsmipn32 elf64btsmip" ++ targ_extra_libpath=$targ_extra_emuls ;; ++mips*64*-*-linux-gnuabi64) targ_emul=elf64btsmip ++ targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf32btsmipn32 elf64ltsmip" ++ targ_extra_libpath=$targ_extra_emuls ;; ++mips*64*el-*-linux-*) targ_emul=elf32ltsmipn32 + targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" + targ_extra_libpath=$targ_extra_emuls ;; +-mips64*-*-linux-*) targ_emul=elf32btsmipn32 ++mips*64*-*-linux-*) targ_emul=elf32btsmipn32 + targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" + targ_extra_libpath=$targ_extra_emuls ;; + mips*el-*-linux-*) targ_emul=elf32ltsmip +Index: b/gas/configure +=================================================================== +--- a/gas/configure ++++ b/gas/configure +@@ -12725,6 +12725,9 @@ _ACEOF + esac + # Decide which ABI to target by default. + case ${target} in ++ mips*64*-linux-gnuabi64) ++ mips_default_abi=N64_ABI ++ ;; + mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \ + | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*) + mips_default_abi=N32_ABI diff --git a/patches/pr-ld-16428.diff b/patches/pr-ld-16428.diff new file mode 100644 index 000000000..85f21dd79 --- /dev/null +++ b/patches/pr-ld-16428.diff @@ -0,0 +1,158 @@ +# DP: Proposed patch for PR ld/16428, disallow -shared/-pie, -shared/-static, -pie/-static. + +2014-01-10 H.J. Lu + + PR ld/16428 + * ld.texinfo: Updated for -static/-non_shared change. + * ldlex.h (option_values): Add OPTION_STATIC. + * lexsup.c (ld_options): Use OPTION_STATIC for -static/-non_shared. + (parse_args): Handle OPTION_STATIC. Disallow -shared and -pie, + -shared and -static, -pie and -static. + +2014-01-10 H.J. Lu + + PR ld/16428 + * ld-elf/pr16428a.d: New file. + * ld-elf/pr16428b.d: Likewise. + * ld-elf/pr16428c.d: Likewise. + * ld-elf/pr16428d.d: Likewise. + +diff --git a/ld/ld.texinfo b/ld/ld.texinfo +index ae3d568..bddfdfe 100644 +--- a/ld/ld.texinfo ++++ b/ld/ld.texinfo +@@ -1204,11 +1204,11 @@ platforms for which shared libraries are supported. The different + variants of this option are for compatibility with various systems. You + may use this option multiple times on the command line: it affects + library searching for @option{-l} options which follow it. This +-option also implies @option{--unresolved-symbols=report-all}. This +-option can be used with @option{-shared}. Doing so means that a +-shared library is being created but that all of the library's external +-references must be resolved by pulling in entries from static +-libraries. ++option also implies @option{--unresolved-symbols=report-all}. ++@option{-Bstatic} and @option{-dn} can be used with @option{-shared}. ++Doing so means that a shared library is being created but that all of ++the library's external references must be resolved by pulling in entries ++from static libraries. + + @kindex -Bsymbolic + @item -Bsymbolic +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 99f4282..6f237dc 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -49,6 +49,7 @@ enum option_values + OPTION_NO_WARN_SEARCH_MISMATCH, + OPTION_NOINHIBIT_EXEC, + OPTION_NON_SHARED, ++ OPTION_STATIC, + OPTION_NO_WHOLE_ARCHIVE, + OPTION_OFORMAT, + OPTION_RELAX, +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 2f71750..a366613 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -269,9 +269,9 @@ static const struct ld_option ld_options[] = + '\0', NULL, N_("Do not link against shared libraries"), ONE_DASH }, + { {"dn", no_argument, NULL, OPTION_NON_SHARED}, + '\0', NULL, NULL, ONE_DASH }, +- { {"non_shared", no_argument, NULL, OPTION_NON_SHARED}, ++ { {"non_shared", no_argument, NULL, OPTION_STATIC}, + '\0', NULL, NULL, ONE_DASH }, +- { {"static", no_argument, NULL, OPTION_NON_SHARED}, ++ { {"static", no_argument, NULL, OPTION_STATIC}, + '\0', NULL, NULL, ONE_DASH }, + { {"Bsymbolic", no_argument, NULL, OPTION_SYMBOLIC}, + '\0', NULL, N_("Bind global references locally"), ONE_DASH }, +@@ -523,6 +523,7 @@ parse_args (unsigned argc, char **argv) + struct option *really_longopts; + int last_optind; + enum report_method how_to_report_unresolved_symbols = RM_GENERATE_ERROR; ++ bfd_boolean seen_pie = FALSE, seen_shared = FALSE, seen_static = FALSE; + + shortopts = (char *) xmalloc (OPTION_COUNT * 3 + 2); + longopts = (struct option *) +@@ -707,6 +708,8 @@ parse_args (unsigned argc, char **argv) + case OPTION_CALL_SHARED: + input_flags.dynamic = TRUE; + break; ++ case OPTION_STATIC: ++ seen_static = TRUE; + case OPTION_NON_SHARED: + input_flags.dynamic = FALSE; + break; +@@ -1087,6 +1090,7 @@ parse_args (unsigned argc, char **argv) + case OPTION_SHARED: + if (config.has_shared) + { ++ seen_shared = TRUE; + link_info.shared = TRUE; + /* When creating a shared library, the default + behaviour is to ignore any unresolved references. */ +@@ -1101,6 +1105,7 @@ parse_args (unsigned argc, char **argv) + case OPTION_PIE: + if (config.has_shared) + { ++ seen_pie = TRUE; + link_info.shared = TRUE; + link_info.pie = TRUE; + } +@@ -1445,6 +1450,16 @@ parse_args (unsigned argc, char **argv) + } + } + ++ if (seen_shared) ++ { ++ if (seen_pie) ++ einfo (_("%P%F: -shared and -pie are incompatible\n")); ++ if (seen_static) ++ einfo (_("%P%F: -shared and -static are incompatible\n")); ++ } ++ if (seen_pie && seen_static) ++ einfo (_("%P%F: -pie and -static are incompatible\n")); ++ + while (ingroup) + { + lang_leave_group (); +diff --git a/ld/testsuite/ld-elf/pr16428a.d b/ld/testsuite/ld-elf/pr16428a.d +new file mode 100644 +index 0000000..8f5e833 +--- /dev/null ++++ b/ld/testsuite/ld-elf/pr16428a.d +@@ -0,0 +1,4 @@ ++#source: start.s ++#ld: -shared -static ++#target: *-*-linux* *-*-gnu* *-*-nacl* ++#error: -shared and -static are incompatible +diff --git a/ld/testsuite/ld-elf/pr16428b.d b/ld/testsuite/ld-elf/pr16428b.d +new file mode 100644 +index 0000000..f4ccba0 +--- /dev/null ++++ b/ld/testsuite/ld-elf/pr16428b.d +@@ -0,0 +1,4 @@ ++#source: start.s ++#ld: -shared -non_shared ++#target: *-*-linux* *-*-gnu* *-*-nacl* ++#error: -shared and -static are incompatible +diff --git a/ld/testsuite/ld-elf/pr16428c.d b/ld/testsuite/ld-elf/pr16428c.d +new file mode 100644 +index 0000000..747e8da +--- /dev/null ++++ b/ld/testsuite/ld-elf/pr16428c.d +@@ -0,0 +1,4 @@ ++#source: start.s ++#ld: -shared -pie ++#target: *-*-linux* *-*-gnu* *-*-nacl* ++#error: -shared and -pie are incompatible +diff --git a/ld/testsuite/ld-elf/pr16428d.d b/ld/testsuite/ld-elf/pr16428d.d +new file mode 100644 +index 0000000..6e7a915 +--- /dev/null ++++ b/ld/testsuite/ld-elf/pr16428d.d +@@ -0,0 +1,4 @@ ++#source: start.s ++#ld: -pie -static ++#target: *-*-linux* *-*-gnu* *-*-nacl* ++#error: -pie and -static are incompatible diff --git a/patches/series b/patches/series new file mode 100644 index 000000000..2624281df --- /dev/null +++ b/patches/series @@ -0,0 +1,36 @@ +branch-updates.diff +#branch-version.diff +branch-no-development.diff +001_ld_makefile_patch.patch +002_gprof_profile_arcs.patch +003_gprof_see_also_monitor.patch +006_better_file_error.patch +012_check_ldrunpath_length.patch +013_bash_in_ld_testsuite.patch +#014_hash_style-both.patch +128_ppc64_powerpc_biarch.patch +129_multiarch_libpath.patch +130_gold_disable_testsuite_build.patch +131_ld_bootstrap_testsuite.patch +135_bfd_version.patch +136_bfd_pic.patch +157_ar_scripts_with_tilde.patch +#158_ld_system_root.patch +161_gold_dummy_zoption.diff + +# only applied for GFDL builds +164_ld_doc_remove_xref.diff + +gprof-build.diff +aarch64-libpath.diff +#pr-ld-16428.diff +mips64-default-n64.diff +gold-mips.diff +i18n-fr.diff +gold-no-keep-files-mapped.diff + +# trunk backports + +# experimental ... +infinity-notes.diff +#binutils-no-development.diff diff --git a/rules b/rules new file mode 100755 index 000000000..1a4ad3555 --- /dev/null +++ b/rules @@ -0,0 +1,1832 @@ +#!/usr/bin/make -f +# debian/rules file - for binutils (2.29) +# Based on sample debian/rules file - for GNU Hello (1.3). +# Copyright 1994,1995 by Ian Jackson. +# Copyright 1998-2007 James Troup. +# Portions Copyright 2008-2017 Canonical Ltd. +# Portions Copyright 2008-2017 Matthias Klose. +# I hereby give you perpetual unlimited permission to copy, +# modify and relicense this file, provided that you do not remove +# my name from the file itself. (I assert my moral right of +# paternity under the Copyright, Designs and Patents Act 1988.) +# This file may have to be extensively modified + +############################################################################### + +vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1))) +DPKG_VARS := $(shell dpkg-architecture) +DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH) +DEB_HOST_GNU_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_CPU) +DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE) +DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH) + +ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy jessie)) + ifeq ($(DEB_HOST_GNU_TYPE),i586-linux-gnu) + DEB_BUILD_GNU_TYPE = i686-linux-gnu + DEB_HOST_GNU_CPU = i686 + DEB_HOST_GNU_TYPE = i686-linux-gnu + TRIPLET_SYMLINK = i586-linux-gnu + else ifeq ($(DEB_HOST_GNU_TYPE),i586-kfreebsd-gnu) + DEB_BUILD_GNU_TYPE = i686-kfreebsd-gnu + DEB_HOST_GNU_CPU = i686 + DEB_HOST_GNU_TYPE = i686-kfreebsd-gnu + TRIPLET_SYMLINK = i586-kfreebsd-gnu + else ifeq ($(DEB_HOST_GNU_TYPE),i586-gnu) + DEB_BUILD_GNU_TYPE = i686-gnu + DEB_HOST_GNU_CPU = i686 + DEB_HOST_GNU_TYPE = i686-gnu + TRIPLET_SYMLINK = i586-gnu + endif +endif + +p_bin = binutils +p_com = $(p_bin)-common +p_lib = lib$(p_bin) +p_nat = $(p_bin)-$(subst _,-,$(DEB_HOST_GNU_TYPE)) +p_dev = $(p_bin)-dev +p_mul = $(p_bin)-multiarch +p_mdev = $(p_mul)-dev +p_doc = $(p_bin)-doc +p_hppa64 = $(p_bin)-hppa64-linux-gnu +p_src = $(p_bin)-source + +p_hst = $(p_bin)-for-host +p_bld = $(p_bin)-for-build + +p_cross = $(p_bin)-$(subst _,-,$(TARGET)) + +# version used for p_bld/p_hst dependencies +min_ver = 2.30-2 + +distribution := $(shell lsb_release -is) +distrelease := $(shell lsb_release -cs) +ifeq ($(distrelease),n/a) + distrelease := sid +endif + +# BACKPORT is used for cross builds for a -source package not conflicting +# with the source package of the native package. +ifeq ($(BACKPORT),true) + p_src = $(p_bin)-$(VERSION)-source +else + p_src = $(p_bin)-source +endif + +pwd := $(shell pwd) +d = debian/tmp +d_bin = $(d) +d_com = debian/$(p_com) +d_lib = debian/$(p_lib) +d_nat = debian/$(p_nat) +d_dev = debian/$(p_dev) +d_mul = debian/$(p_mul) +d_mdev = debian/$(p_mdev) +d_doc = debian/$(p_doc) +d_hppa64 = debian/$(p_hppa64) +d_src = debian/$(p_src) + +d_hst = debian/$(p_hst) +d_bld = debian/$(p_bld) + +d_cross = debian/$(p_cross) + +install_dir = install -d -m 755 +install_file = install -m 644 +install_script = install -m 755 +install_binary = install -m 755 -s --strip-program="$(STRIP)" + +NATIVE_ARCHS ?= amd64 i386 arm64 armhf armel mips mipsel mips64el \ + ppc64el s390x +NATIVE_ARCHS += alpha hppa ia64 m68k mips64 powerpc powerpcspe ppc64 \ + riscv64 sh4 sparc64 x32 +NATIVE_ARCHS += hurd-i386 kfreebsd-amd64 kfreebsd-i386 +NATIVE_ARCHS += mipsn32 mipsn32el +NATIVE_ARCHS += mipsn32r6 mipsn32r6el mipsr6 mipsr6el mips64r6 mips64r6el +#NATIVE_ARCHS += nios2 or1k s390 sparc + +src_name := $(shell dpkg-parsechangelog -S Source) +ifeq ($(src_name),binutils) + with_native = yes + with_cross = yes + same_source = yes + ifeq (,$(CROSS_ARCHS)) + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32)) + CROSS_ARCHS = s390x ppc64el arm64 armhf armel + CROSS_ARCHS += mips mipsel mips64el + CROSS_ARCHS += alpha hppa m68k + CROSS_ARCHS += mips64 mipsn32 mipsn32el + CROSS_ARCHS += powerpc powerpcspe ppc64 sh4 sparc64 + CROSS_ARCHS += mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el + CROSS_ARCHS += ia64 riscv64 + CROSS_ARCHS += kfreebsd-amd64 kfreebsd-i386 hurd-i386 + ifneq (,$(filter $(DEB_HOST_ARCH), i386 x32)) + CROSS_ARCHS += amd64 + endif + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 x32)) + CROSS_ARCHS += i386 + endif + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386)) + CROSS_ARCHS += x32 + endif + else ifeq ($(DEB_HOST_ARCH),arm64) + CROSS_ARCHS = armel armhf amd64 i386 x32 + else ifeq ($(DEB_HOST_ARCH),ppc64) + CROSS_ARCHS = ppc64el + else ifeq ($(DEB_HOST_ARCH),ppc64el) + CROSS_ARCHS = powerpc ppc64 amd64 i386 x32 arm64 armel armhf + else + CROSS_ARCHS = + endif + else + # c-t-b passes this one ... + CROSS_ARCHS := $(filter-out $(DEB_HOST_ARCH),$(CROSS_ARCHS)) + endif +else + # binutils-ports ... + with_cross = yes + ifeq (,$(CROSS_ARCHS)) + CROSS_ARCHS ?= m68k sh4 mips64 mips64el + endif +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 x32 hppa)) + with_hppa64 = yes +endif + +with_multiarch := yes + +# disabled: no build-needed restriction used in the autopkg test +ifeq (0,1) +# only build the basic package when running the autopkg tests +ifneq (,$(ADT_TEST_TRIGGERS)) + # c-t-b sets CROSS_ARCHS which has to be respected, can't unset it here + #CROSS_ARCHS := + with_hppa64 := + with_multiarch := +endif +endif + +HOST_ARCHS_armhf = amd64 i386 x32 arm64 ppc64el +HOST_ARCHS_armel = amd64 i386 x32 arm64 ppc64el +HOST_ARCHS_arm64 = amd64 i386 x32 ppc64el +HOST_ARCHS_mips = amd64 i386 x32 +HOST_ARCHS_mipsel = amd64 i386 x32 +HOST_ARCHS_powerpc = amd64 i386 x32 ppc64el +HOST_ARCHS_ppc64el = amd64 i386 x32 ppc64 +HOST_ARCHS_s390x = amd64 i386 x32 +HOST_ARCHS_amd64 = arm64 i386 ppc64el x32 +HOST_ARCHS_i386 = amd64 arm64 ppc64el x32 +HOST_ARCHS_ia64 = amd64 i386 x32 +HOST_ARCHS_riscv64 = amd64 i386 x32 + +HOST_ARCHS_alpha = amd64 i386 x32 +HOST_ARCHS_hppa = amd64 i386 x32 +HOST_ARCHS_m68k = amd64 i386 x32 +HOST_ARCHS_mips64 = amd64 i386 x32 +HOST_ARCHS_mips64el = amd64 i386 x32 +HOST_ARCHS_powerpcspe = amd64 i386 x32 +HOST_ARCHS_ppc64 = amd64 i386 x32 ppc64el +HOST_ARCHS_sh4 = amd64 i386 x32 +HOST_ARCHS_sparc64 = amd64 i386 x32 +HOST_ARCHS_x32 = amd64 arm64 i386 ppc64el + +HOST_ARCHS_mipsn32 = amd64 i386 x32 +HOST_ARCHS_mipsn32el = amd64 i386 x32 + +HOST_ARCHS_mipsr6 = amd64 i386 x32 +HOST_ARCHS_mipsr6el = amd64 i386 x32 +HOST_ARCHS_mipsn32r6 = amd64 i386 x32 +HOST_ARCHS_mipsn32r6el = amd64 i386 x32 +HOST_ARCHS_mips64r6 = amd64 i386 x32 +HOST_ARCHS_mips64r6el = amd64 i386 x32 + +HOST_ARCHS_kfreebsd-amd64 = amd64 i386 x32 +HOST_ARCHS_kfreebsd-i386 = amd64 i386 x32 +HOST_ARCHS_hurd-i386 = amd64 i386 x32 + +CROSS_ARCH = $(subst .,,$(suffix $@)) +_gnu_type = $(shell dpkg-architecture -a$(1) -qDEB_HOST_GNU_TYPE -f 2>/dev/null) +_multiarch = $(shell dpkg-architecture -a$(1) -qDEB_HOST_MULTIARCH -f 2>/dev/null) +CROSS_GNU_TYPE = $(subst i586,i686,$(call _gnu_type,$(CROSS_ARCH))) +P_CROSS = binutils-$(subst _,-,$(CROSS_GNU_TYPE)) +D_CROSS = debian/binutils-$(subst _,-,$(CROSS_GNU_TYPE)) + +# If $(TARGET) is not set, try reading debian/target +ifeq (,$(TARGET)) + ifneq (,$(wildcard debian/target)) + TARGET := $(shell cat debian/target 2>/dev/null) + endif +endif + +ifneq (,$(TARGET)) + with_native = + with_cross = + same_source = + # Support TARGET both as Debian architecture specification (e.g. arm), + # and as the target name (e.g. arm-linux-gnu). + try_convert := $(shell dpkg-architecture -f -a$(TARGET) -qDEB_HOST_GNU_TYPE 2>/dev/null) + ifneq ($(try_convert),) + override TARGET := $(try_convert) + endif + DPKG_TARGET_VARS := $(shell dpkg-architecture -f -t$(TARGET)) + DEB_TARGET_MULTIARCH = $(call vafilt,$(DPKG_TARGET_VARS),DEB_HOST_MULTIARCH) + DEB_TARGET_ARCH = $(call vafilt,$(DPKG_TARGET_VARS),DEB_HOST_ARCH) + for_target = dpkg-architecture -f -t$(TARGET) -c +else + DEB_TARGET_MULTIARCH = $(DEB_HOST_MULTIARCH) + DEB_TARGET_ARCH = $(DEB_HOST_ARCH) + for_target = +endif + +ifneq (,$(TARGET)) + APPEND_TOOLLIBDIR=yes + export APPEND_TOOLLIBDIR +endif + +ifeq (,$(DEB_HOST_MULTIARCH)) + ifeq ($(DEB_HOST_ARCH),i386) + DEB_HOST_MULTIARCH = i386-linux-gnu + else + DEB_HOST_MULTIARCH = $(DEB_HOST_GNU_TYPE) + endif +endif + +SHELL = /bin/bash + +gold_targets = \ + amd64 arm64 armel armhf i386 \ + mips mipsel mipsn32 mipsn32el mips64 mips64el \ + mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el \ + powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x \ + x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386 + +ifneq (,$(filter $(DEB_HOST_ARCH), $(gold_targets))) + with_gold = yes + gold_provides = -Vgold:Provides=binutils-gold +endif + +CFLAGS = -g -O2 +CXXFLAGS = -g -O2 +LDFLAGS = +CROSS := $(DEB_HOST_GNU_TYPE)- +CC = $(CROSS)gcc +CXX = $(CROSS)g++ +STRIP = $(CROSS)strip --remove-section=.comment --remove-section=.note + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS = -g -O0 +endif + +# this outputs 0 or 1 depending on whether a macro appears in the *default* cpp +# -dM -P output; this is used to test the toolchain *default* configuration +check_cpp = $(shell $(CROSS)cpp -dM -P /dev/null | grep -q '^\#define $(1)' && echo 1 || echo 0) + +# testsuite doesn't expect to be built with -mthumb +# TODO if the testsuite is only broken with Thumb-2 (and not with "Thumb-1"), +# we should test for __thumb2__ instead +ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf)) + ifeq ($(call check_cpp,__thumb__),1) + CFLAGS += -marm + endif +endif + +SPACE = $(EMPTY) $(EMPTY) +COMMA = , +CHANGELOG_VARS := $(shell dpkg-parsechangelog | \ + sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p') + +DEB_VERSION := $(call vafilt,$(CHANGELOG_VARS),Version) +DEB_SVERSION := $(shell echo $(DEB_VERSION) | sed 's/+b[0-9][0-9]*$$//') +DEB_UPSTREAM := $(firstword $(subst -,$(SPACE),$(DEB_VERSION))) + +VERSION := $(shell sed -n 's/^ *VERSION=\(.*\)/\1/p' bfd/configure | head -1 | tr -d \') +#DATE := $(shell sed -n 's/.* \([0-9]*\)$$/\1/p' bfd/version.h) +ifneq (,$(DATE)) + DATE_EXT := .$(DATE) +endif +BUILD_DATE := $(shell dpkg-parsechangelog | sed -n -e 's/^Date: //p') +BUILD_DAY := $(shell date -Idate -u -d "$(BUILD_DATE)") + +is_rc = yes +is_rc = + +ifneq ($(DEB_UPSTREAM),$(VERSION)$(DATE_EXT)) + $(error upstream ($(VERSION)$(DATE_EXT)) and debian ($(DEB_UPSTREAM)) version mismatch) +endif + +SINGLE_VERSION= $(VERSION)-system +MULTI_VERSION = $(VERSION)-multiarch +HPPA64_VERSION= $(VERSION)-hppa64 + +ifeq (,$(filter $(distrelease),squeeze wheezy precise trusty)) + DPKG_DEV = dpkg-dev (>= 1.17.11), +endif +ifeq (,$(filter $(distrelease),squeeze wheezy stretch precise trusty xenial zesty artful)) + DPKG_DEV = dpkg-dev (>= 1.19.0.5), +endif + +NJOBS = +# Support parallel= in DEB_BUILD_OPTIONS (see #209008) +ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +endif +ifneq (,$(findstring nogold,$(DEB_BUILD_OPTIONS))) + with_gold = disabled in DEB_BUILD_OPTIONS +endif +ifneq (,$(findstring nomult,$(DEB_BUILD_OPTIONS))) + with_multiarch = disabled in DEB_BUILD_OPTIONS +endif +ifneq (,$(findstring nocross,$(DEB_BUILD_OPTIONS))) + with_cross = disabled in DEB_BUILD_OPTIONS +endif +ifneq (,$(findstring nohppa,$(DEB_BUILD_OPTIONS))) + with_hppa64 = disabled in DEB_BUILD_OPTIONS +endif + +# PF is the installation prefix for the package without the leading slash. +# It's "usr" for gcc releases, so use this if not explicitly set +ifeq ($(PF),) + PF = usr +endif + +# Don't include docs with GFDL invariant sections +GFDL_INVARIANT_FREE := yes +ifeq ($(distribution),Ubuntu) + GFDL_INVARIANT_FREE := no +endif + +gfdl_toplevel_texinfo_files = \ + bfd/doc/bfd.texinfo \ + bfd/doc/bfdint.texi \ + ld/ldint.texinfo + +gfdl_generated_files = \ + bfd/doc/bfd.info + +programs = addr2line ar as c++filt elfedit gprof ld ld.bfd +programs += nm objcopy objdump ranlib readelf size strings strip +ifeq ($(with_gold),yes) +programs += gold ld.gold dwp +endif + +######################################## + +CONFARGS = \ + --enable-shared \ + --enable-plugins \ + --enable-threads \ + --with-system-zlib \ + --prefix=/$(PF) \ + --enable-deterministic-archives \ + --disable-compressed-debug-sections \ + --enable-new-dtags \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ + --with-pkgversion="GNU Binutils for $(distribution)" + +# not yet ready for GCC 4.9 +CONFARGS += --disable-werror + +DEB_TARGET_MULTIARCH32_amd64 = i386-linux-gnu +DEB_TARGET_MULTIARCHX32_amd64 = x86_64-linux-gnux32 + +DEB_TARGET_MULTIARCH32_x32 = i386-linux-gnu +DEB_TARGET_MULTIARCH64_x32 = x86_64-linux-gnu + +DEB_TARGET_MULTIARCH32_powerpc = powerpc-linux-gnu + +DEB_TARGET_MULTIARCH32_s390x = s390-linux-gnu + +DEB_TARGET_MULTIARCH32_sparc64 = sparc-linux-gnu + +DEB_TARGET_MULTIARCH32_kfreebsd-amd64 = i386-kfreebsd-gnu + +DEB_TARGET_MULTIARCH64_i386 = x86_64-linux-gnu +DEB_TARGET_MULTIARCHX32_i386 = x86_64-linux-gnux32 + +DEB_TARGET_MULTIARCH64_powerpc = powerpc64-linux-gnu + +DEB_TARGET_MULTIARCH64_sparc = sparc64-linux-gnu + +DEB_TARGET_MULTIARCH64_s390 = s390x-linux-gnu + +DEB_TARGET_MULTIARCH64_kfreebsd-i386 = x86_64-kfreebsd-gnu + +DEB_TARGET_MULTIARCH64_mips = mips64-linux-gnuabi64 +DEB_TARGET_MULTIARCHN32_mips = mips64-linux-gnuabin32 + +DEB_TARGET_MULTIARCH64_mipsel = mips64el-linux-gnuabi64 +DEB_TARGET_MULTIARCHN32_mipsel = mips64el-linux-gnuabin32 + +DEB_TARGET_MULTIARCH64_mipsn32 = mips64-linux-gnuabi64 +DEB_TARGET_MULTIARCH32_mipsn32 = mips-linux-gnu + +DEB_TARGET_MULTIARCH64_mipsn32el = mips64el-linux-gnuabi64 +DEB_TARGET_MULTIARCH32_mipsn32el = mipsel-linux-gnu + +DEB_TARGET_MULTIARCH32_mips64 = mips-linux-gnu +DEB_TARGET_MULTIARCHN32_mips64 = mips64-linux-gnuabin32 + +DEB_TARGET_MULTIARCH32_mips64el = mipsel-linux-gnu +DEB_TARGET_MULTIARCHN32_mips64el = mips64el-linux-gnuabin32 + +DEB_TARGET_MULTIARCH64_mipsr6 = mipsisa64r6-linux-gnuabi64 +DEB_TARGET_MULTIARCHN32_mipsr6 = mipsisa64r6-linux-gnuabin32 + +DEB_TARGET_MULTIARCH64_mipsr6el = mipsisa64r6el-linux-gnuabi64 +DEB_TARGET_MULTIARCHN32_mipsr6el = mipsisa64r6el-linux-gnuabin32 + +DEB_TARGET_MULTIARCH64_mipsn32r6 = mipsisa64r6-linux-gnuabi64 +DEB_TARGET_MULTIARCH32_mipsn32r6 = mipsisa32r6-linux-gnu + +DEB_TARGET_MULTIARCH64_mipsn32r6el = mipsisa64r6el-linux-gnuabi64 +DEB_TARGET_MULTIARCH32_mipsn32r6el = mipsisa32r6el-linux-gnu + +DEB_TARGET_MULTIARCH32_mips64r6 = mipsisa32r6-linux-gnu +DEB_TARGET_MULTIARCHN32_mips64r6 = mipsisa64r6-linux-gnuabin32 + +DEB_TARGET_MULTIARCH32_mips64r6el = mipsisa32r6el-linux-gnu +DEB_TARGET_MULTIARCHN32_mips64r6el = mipsisa64r6el-linux-gnuabin32 + +DEB_TARGET_MULTIARCH32_arm64 = aarch64_ilp32-linux-gnu + +SET_MULTIARCH_ENV = \ + DEB_TARGET_MULTIARCH=$(call _multiarch,$1) \ + $(if $(DEB_TARGET_MULTIARCH32_$1) ,DEB_TARGET_MULTIARCH32=$(DEB_TARGET_MULTIARCH32_$1)) \ + $(if $(DEB_TARGET_MULTIARCH64_$1) ,DEB_TARGET_MULTIARCH64=$(DEB_TARGET_MULTIARCH64_$1)) \ + $(if $(DEB_TARGET_MULTIARCHX32_$1),DEB_TARGET_MULTIARCHX32=$(DEB_TARGET_MULTIARCHX32_$1)) \ + $(if $(DEB_TARGET_MULTIARCHN32_$1),DEB_TARGET_MULTIARCHN32=$(DEB_TARGET_MULTIARCHN32_$1)) + +CONFARGS_TARGET_sparc = --enable-targets=sparc64-linux-gnu +CONFLICTS_TARGET_sparc = -VextraConflicts="libc6-dev-sparc64 (<< 2.2.5-7)" + +CONFARGS_TARGET_sparc64 = --enable-targets=sparc-linux-gnu +CONFLICTS_TARGET_sparc64 = -VextraConflicts="libc6-dev-sparc64 (<< 2.2.5-7)" + +CONFARGS_TARGET_powerpc = --enable-targets=powerpc64-linux-gnu + +CONFARGS_TARGET_ppc64 = --enable-targets=powerpc-linux-gnu + +CONFARGS_TARGET_ppc64el = --enable-targets=powerpc-linux-gnu + +CONFARGS_TARGET_s390 = --enable-targets=s390x-linux-gnu + +CONFARGS_TARGET_s390x = --enable-targets=s390-linux-gnu + +CONFARGS_TARGET_amd64 = --enable-targets=x86_64-linux-gnux32,x86_64-pep + +CONFARGS_TARGET_i386 = --enable-targets=x86_64-linux-gnu,x86_64-linux-gnux32,x86_64-pep + +CONFARGS_TARGET_x32 = --enable-targets=x86_64-linux-gnu,x86_64-pep + +CONFLICTS_TARGET_amd64 = -VextraConflicts="binutils-mingw-w64-i686 (<< 2.23.52.20130612-1+3), binutils-mingw-w64-x86-64 (<< 2.23.52.20130612-1+3)" +CONFLICTS_TARGET_i386 = $(CONFLICTS_TARGET_amd64) +CONFLICTS_TARGET_x32 = $(CONFLICTS_TARGET_amd64) + +CONFARGS_TARGET_kfreebsd-i386 = --enable-targets=x86_64-kfreebsd-gnu + +CONFARGS_TARGET_mips = --enable-targets=mips64-linux-gnuabi64,mips64-linux-gnuabin32 + +CONFARGS_TARGET_mipsel = --enable-targets=mips64el-linux-gnuabi64,mips64el-linux-gnuabin32 + +CONFARGS_TARGET_mipsn32 = --enable-targets=mips64-linux-gnuabi64,mips-linux-gnu + +CONFARGS_TARGET_mipsn32el = --enable-targets=mips64el-linux-gnuabi64,mipsel-linux-gnu + +CONFARGS_TARGET_mips64 = --enable-targets=mips64-linux-gnuabin32,mips-linux-gnu + +CONFARGS_TARGET_mips64el = --enable-targets=mips64el-linux-gnuabin32,mipsel-linux-gnu + +CONFARGS_TARGET_mipsr6 = --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa64r6-linux-gnuabin32 + +CONFARGS_TARGET_mipsr6el = --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa64r6el-linux-gnuabin32 + +CONFARGS_TARGET_mipsn32r6 = --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa32r6-linux-gnu + +CONFARGS_TARGET_mipsn32r6el = --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa32r6el-linux-gnu + +CONFARGS_TARGET_mips64r6 = --enable-targets=mipsisa64r6-linux-gnuabin32,mipsisa32r6-linux-gnu + +CONFARGS_TARGET_mips64r6el = --enable-targets=mipsisa64r6el-linux-gnuabin32,mipsisa32r6el-linux-gnu + +CONFARGS_TARGET_aarch64 = --enable-targets=aarch64_be-linux-gnu + +with_check := yes +ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + # override buildd admins to run the testsuite anyway ... + ifeq (,$(filter $(DEB_HOST_ARCH), m68k powerpcspe sh4)) + with_check := disabled through DEB_BUILD_OPTIONS + endif +endif +#with_check := disabled for this upload +ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf mips mipsel sparc)) + ignore_regressions := regressions ignored on architecture $(DEB_HOST_ARCH) +endif +ignore_regressions := regressions ignored on architecture $(DEB_HOST_ARCH) + +with_strip := yes +ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + with_strip := disabled through DEB_BUILD_OPTIONS +endif + +source_files = $(addprefix $(shell basename $(pwd))/, \ + $(filter-out stamps .pc CVS debian builddir-% test-summary%, $(wildcard *))) + +############################################################################### + +update-patches: + export QUILT_PATCHES=$(CURDIR)/debian/patches; \ + export QUILT_REFRESH_ARGS="--no-timestamps --no-index -pab"; \ + export QUILT_DIFF_ARGS="--no-timestamps --no-index -pab"; \ + while quilt push; do quilt refresh; done + +############################################################################### + +################ +# clean target # +################ + +clean: + $(checkdir) + rm -rf stamps + rm -rf builddir-* + rm -rf stamps + find . -name \*.gmo -o -name \*~ -o -name \*.info ! -name sysroff.info | xargs -r rm -f + rm -f test-summary* + rm -rf $(d_bin) $(d_com) $(d_lib) $(d_lib)-dbg $(d_nat) $(d_nat)-dbg \ + $(d_hst) $(d_dev) $(d_mul) $(d_mul)-dbg $(d_mdev) $(d_doc) \ + $(d_hppa64) $(d_hppa64)-dbg $(d_src) $(d_bld) + $(foreach ca,$(CROSS_ARCHS), rm -rf debian/binutils-$(shell echo $(call _gnu_type,$(ca)) | sed 's/_/-/g;s/i586/i686/'){,-dbg}; ) + rm -rf debian/tmp debian/files* debian/substvars + rm -f debian/*.orig debian/*.rej + rm -rf $(d_cross) debian/files debian/substvars +ifneq (,$(TARGET)) + rm -rf builddir-$(TARGET) +endif + for i in debian/*.in; do \ + case "$$i" in debian/control*.in) continue; esac; \ + rm -f $${i%*.in}; \ + done + + rm -f *-stamp + +############################################################################### + +stamps/control: debian/control.in $(if $(TARGET),debian/control.cross.in) $(if $(filter yes, $(with_cross)),debian/control.cross.in) +ifneq (,$(TARGET)) + sed -n -e 's/@dpkg_dev@/$(DPKG_DEV)/;/^Package: binutils-for-build$$/q;p' \ + < debian/control.in > debian/control + sed -e "s/@target@/$$(echo -n $(TARGET) | sed s/_/-/g)/" \ + -e "s/@host_archs@/any/" \ + -e 's/@binutils_alt_triplet@//' \ + < debian/control.cross.in >> debian/control +else + sed -e 's/@dpkg_dev@/$(DPKG_DEV)/' \ + debian/control.in > debian/control + $(foreach ca,$(NATIVE_ARCHS), \ + sed \ + -e 's/@host_archs@/$(ca)$(if $(and $(filter yes,$(with_cross)),$(filter $(ca),$(DEB_HOST_ARCH) $(CROSS_ARCHS))), $(HOST_ARCHS_$(ca)))/g' \ + -e 's/@target@/$(shell dpkg-architecture -a$(ca) -qDEB_HOST_GNU_TYPE 2>/dev/null | sed 's/_/-/g;s/i586/i686/')/g' \ + -e 's/@binutils_alt_triplet@/$(if $(findstring i386,$(ca)),binutils-$(shell dpkg-architecture -a$(ca) -qDEB_HOST_GNU_TYPE 2>/dev/null | sed 's/i686/i586/g'))/g' \ + debian/control.cross.in \ + | $(if $(filter yes,$(same_source)), grep -v '^Built-Using', cat) \ + >> debian/control; \ + ) +endif + @mkdir -p stamps + touch $@ + +####################### +# single-arch targets # +####################### + +SINGLE_CONFARGS = $(CONFARGS) $(CONFARGS_TARGET_$(DEB_HOST_ARCH)) +ifeq ($(with_gold),yes) + SINGLE_CONFARGS += --enable-ld=default --enable-gold +endif + +stamps/configure-single: + $(checkdir) + env + @echo BEGIN $@ +ifeq ($(with_check),yes) + @if echo "spawn true" | /usr/bin/expect -f - >/dev/null; then \ + : ; \ + else \ + echo "expect is failing on your system with the above error, which means the"; \ + echo "testsuite will fail. Please resolve the above issues and retry the build."; \ + echo "-----------------------------------------------------------------------------"; \ + exit 1; \ + fi +endif + + rm -rf stamps/configure-single builddir-single + mkdir builddir-single + cd builddir-single && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" \ + $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \ + ../configure --with-sysroot=/ \ + --libdir=/$(PF)/lib/$(DEB_HOST_MULTIARCH) \ + $(SINGLE_CONFARGS) + $(MAKE) -C builddir-single configure-host + @mkdir -p stamps + touch $@ + +stamps/build-single: stamps/configure-single + $(checkdir) + @echo BEGIN $@ + env MAKE="$(MAKE) VERSION=$(SINGLE_VERSION)" \ + $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \ + $(MAKE) -C builddir-single/bfd headers \ + LDFLAGS="-Wl,-z,relro" + env MAKE="$(MAKE) VERSION=$(SINGLE_VERSION)" \ + $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \ + $(MAKE) $(NJOBS) -C builddir-single \ + LDFLAGS="-Wl,-z,relro" +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +ifeq ($(with_check),yes) + -env MAKE="$(MAKE) VERSION=$(SINGLE_VERSION)" \ + $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \ + $(MAKE) -C builddir-single -k check + cat builddir-single/binutils/binutils.sum \ + builddir-single/gas/testsuite/gas.sum \ + builddir-single/ld/ld.sum >> $(pwd)/test-summary + set -e; \ + tsi=test-summary-installed; \ + rm -f $$tsi; \ + if [ -f /usr/share/doc/binutils/test-summary-$(DEB_HOST_ARCH).gz ]; then \ + zcat /usr/share/doc/binutils/test-summary-$(DEB_HOST_ARCH).gz > $$tsi; \ + elif [ -f /usr/share/doc/binutils/test-summary.gz ]; then \ + zcat /usr/share/doc/binutils/test-summary.gz > $$tsi; \ + elif [ -f /usr/share/doc/binutils/test-summary ]; then \ + cat /usr/share/doc/binutils/test-summary > $$tsi; \ + fi; \ + if [ ! -f $$tsi ]; then \ + echo "No test results available for the installed binutils version"; \ + elif [ -x /usr/bin/python3 ]; then \ + echo "Test results, compared with installed binutils:"; \ + if python3 debian/test-suite-compare.py $$tsi test-summary; then \ + : ; \ + elif [ -n "$(ignore_regressions)" ]; then \ + echo "$(ignore_regressions)"; \ + else \ + false; \ + fi; \ + else \ + echo "python3 not installed, not comparing test results."; \ + fi +endif +endif + touch $@ + + +############################################################################### + +##################### +# multiarch targets # +##################### + +multiarch_targets = \ + aarch64-linux-gnu \ + aarch64_be-linux-gnu \ + alpha-linux-gnu \ + arm-linux-gnueabi \ + hppa-linux-gnu \ + i686-linux-gnu \ + ia64-linux-gnu \ + m32r-linux-gnu \ + m68k-linux-gnu \ + m68k-rtems \ + mips-linux-gnu \ + mipsel-linux-gnu \ + mips64-linux-gnuabin32 \ + mips64el-linux-gnuabin32 \ + mips64-linux-gnu \ + mips64el-linux-gnu \ + mipsisa32r6-linux-gnu \ + mipsisa32r6el-linux-gnu \ + mipsisa64r6-linux-gnuabin32 \ + mipsisa64r6el-linux-gnuabin32 \ + mipsisa64r6-linux-gnuabi64 \ + mipsisa64r6el-linux-gnuabi64 \ + powerpc-linux-gnu \ + powerpc64-linux-gnu \ + powerpc64le-linux-gnu \ + riscv64-linux-gnu \ + s390-linux-gnu \ + s390x-linux-gnu \ + sh-linux-gnu \ + sparc-linux-gnu \ + sparc64-linux-gnu \ + x86_64-linux-gnu \ + x86_64-linux-gnux32 \ + m32r-linux-gnu \ + x86_64-pep + +# try to work around #758830 +ifeq ($(DEB_HOST_ARCH),sh4) + multiarch_targets := $(filter-out hppa-linux-gnu, $(multiarch_targets)) +endif + +stamps/configure-multi: + $(checkdir) + @echo BEGIN $@ + rm -rf stamps/configure-multi \ + builddir-multi + mkdir builddir-multi + cd builddir-multi \ + && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" \ + $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \ + ../configure $(CONFARGS) \ + --with-sysroot=/ \ + --libdir=/$(PF)/lib/$(DEB_HOST_MULTIARCH) \ + --enable-targets=$(subst $(SPACE),$(COMMA),$(multiarch_targets)) + $(MAKE) -C builddir-multi configure-host + @mkdir -p stamps + touch $@ + +stamps/build-multi: stamps/configure-multi + $(checkdir) + @echo BEGIN $@ + $(MAKE) -C builddir-multi/bfd headers + env MAKE="$(MAKE) VERSION=$(MULTI_VERSION)" \ + $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \ + $(MAKE) $(NJOBS) -C builddir-multi \ + LDFLAGS="-Wl,-z,relro" + touch $@ + +############################################################################### + +################# +# cross targets # +################# + +CROSS_CONFARGS = $(CONFARGS) --enable-initfini-array +ifeq ($(with_gold),yes) + CROSS_CONFARGS += --enable-ld=default --enable-gold +endif + +stamps/configure.%: + $(checkdir) + @echo BEGIN $@ + rm -rf $@ builddir-$* + mkdir builddir-$* + cd builddir-$* \ + && env CC="$(CC)" CXX="$(CXX)" \ + $(call SET_MULTIARCH_ENV,$*) \ + ../configure \ + $(CROSS_CONFARGS) \ + $(CONFARGS_TARGET_$(*)) \ + --with-sysroot=/ \ + --libdir=/$(PF)/lib/$(call _multiarch,$*) \ + $(if $(filter $*, $(gold_targets)),--enable-ld=default --enable-gold,--disable-gold) \ + --target=$(CROSS_GNU_TYPE) + @mkdir -p stamps + touch $@ + +stamps/build.%: stamps/configure.% + $(checkdir) + @echo BEGIN $@ + env MAKE="$(MAKE) VERSION=$(VERSION)-$*" \ + $(call SET_MULTIARCH_ENV,$*) \ + $(MAKE) -C builddir-$* $(NJOBS) \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CXXFLAGS)" \ + LDFLAGS="$(LDFLAGS) -Wl,-z,relro" +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +ifeq ($(with_check),yes) + -env MAKE="$(MAKE) VERSION=$(VERSION)-$*" \ + $(call SET_MULTIARCH_ENV,$*) \ + $(MAKE) -C builddir-$* -k check + cat builddir-$*/binutils/binutils.sum \ + builddir-$*/gas/testsuite/gas.sum \ + builddir-$*/ld/ld.sum >> test-summary-$* + set -e; \ + tsi=test-summary-$*-installed; \ + rm -f $$tsi; \ + if [ -f /usr/share/doc/$(P_CROSS)/test-summary.gz ]; then \ + zcat /usr/share/doc/$(P_CROSS)/test-summary.gz > $$tsi; \ + elif [ -f /usr/share/doc/binutils/test-summary-$*.gz ]; then \ + zcat /usr/share/doc/binutils/test-summary-$*.gz > $$tsi; \ + fi; \ + if [ ! -f $$tsi ]; then \ + echo "No test results available for the installed $(P_CROSS) version"; \ + elif [ -x /usr/bin/python3 ]; then \ + echo "Test results, compared with installed binutils:"; \ + if python3 debian/test-suite-compare.py $$tsi test-summary-$*; then \ + : ; \ + elif [ -n "$(ignore_regressions)" ]; then \ + echo "$(ignore_regressions)"; \ + else \ + false; \ + fi; \ + else \ + echo "python3 not installed, not comparing test results."; \ + fi +endif +endif + touch $@ + +stamps/install.%: stamps/build.% + $(checkdir) + @echo BEGIN $@ + rm -rf $(D_CROSS) + env MAKE="$(MAKE) VERSION=$(VERSION)-$*" \ + $(MAKE) -C builddir-$* DESTDIR=$(CURDIR)/$(D_CROSS) install + + rm -rf \ + $(D_CROSS)/$(PF)/share/info \ + $(D_CROSS)/$(PF)/share/locale + + mkdir -p $(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH) + set -e; \ + d_src=$(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(CROSS_GNU_TYPE)/lib; \ + d_dst=$(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH); \ + for lib in libbfd libopcodes; do \ + so=$$(basename $$(echo $$d_src/$$lib*$**.so)); \ + mv $$d_src/$$so $$d_dst/.; \ + ln -sf ../../../lib/$(DEB_HOST_MULTIARCH)/$$so $$d_src/$$lib.so; \ + mv $$d_src/$$lib.a $$d_dst/$${lib}-$(VERSION)-$*.a; \ + ln -sf ../../../lib/$(DEB_HOST_MULTIARCH)/$$lib-$(VERSION)-$*.a $$d_src/$$lib.a; \ + done + + : # replace hard links with soft links + for i in $(D_CROSS)/usr/$(CROSS_GNU_TYPE)/bin/*; do \ + ln -sf ../../bin/$(CROSS_GNU_TYPE)-$$(basename $$i) $$i; \ + done + ln -sf $(CROSS_GNU_TYPE)-ld.bfd $(D_CROSS)/usr/bin/$(CROSS_GNU_TYPE)-ld + + $(call strip_package, $(P_CROSS),$(D_CROSS),.) + chmod ugo-x $(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so + + : # Get rid of .la files since libtool obviously has no idea about transient paths + rm -f $(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(CROSS_GNU_TYPE)/lib/*.la + + if which strip-nondeterminism >/dev/null 2>&1; then \ + find $(D_CROSS) -name '*.a' -print0 \ + | xargs -0r strip-nondeterminism --type ar; \ + fi + + : # no spu toolchain + rm -f $(D_CROSS)/$(PF)/bin/*embedspu + + : # Remove windows related manpages + rm -f $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-{dlltool,nlmconv,windmc,windres}.1 + + : # symlink man pages + mv $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.1 \ + $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.bfd.1 + gzip -9n $(D_CROSS)/$(PF)/share/man/man1/* + for i in $(D_CROSS)/$(PF)/share/man/man1/*; do \ + b=$$(basename $$i | sed 's/$(CROSS_GNU_TYPE)-//'); \ + ln -sf $$b $$i; \ + done + ln -sf $(CROSS_GNU_TYPE)-ld.bfd.1.gz \ + $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.1.gz + + : # gold man pages + $(if $(filter $*, $(gold_targets)), \ + ln -sf ld.gold.1.gz $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.gold.1.gz; \ + ln -sf dwp.1.gz $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-dwp.1.gz; \ + ) + + : # Don't want /usr/-linux to exist in any package, don't ship development files + rm -rf $(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE) + + rm -f $(D_CROSS)/$(PF)/lib/*.a $(D_CROSS)/$(PF)/lib/*/*.a + rm -f $(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(CROSS_GNU_TYPE)/lib/*.a + + : # remove RPATH + chrpath -k -d $$(file $(D_CROSS)/usr/bin/*|awk -F: '/ ELF/ {print $$1}') + +ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy jessie stretch)) + : # temporary i586-* symlinks for stretch + compat=$$(echo $(CROSS_GNU_TYPE) | sed 's/i686/i586/'); \ + case "$(CROSS_GNU_TYPE)" in i686-*) \ + for i in $(programs); do \ + ln -sf $(CROSS_GNU_TYPE)-$$i $(D_CROSS)/$(PF)/bin/$$compat-$$i; \ + ln -sf $(CROSS_GNU_TYPE)-$$i.1.gz $(D_CROSS)/$(PF)/share/man/man1/$$compat-$$i.1.gz; \ + done; \ + esac +endif + touch $@ + +############################################################################### + +################# +# hppa64 target # +################# + +stamps/configure-hppa64: + $(checkdir) + @echo BEGIN $@ + rm -rf stamps/configure-hppa64 \ + builddir-hppa64 + mkdir builddir-hppa64 + cd builddir-hppa64 \ + && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ../configure \ + $(filter-out --enable-targets=%, $(CONFARGS)) \ + --libdir=/$(PF)/lib/hppa64-linux-gnu \ + --target=hppa64-linux-gnu + $(MAKE) -C builddir-hppa64 configure-host + @mkdir -p stamps + touch $@ + +stamps/build-hppa64: stamps/configure-hppa64 + $(checkdir) + @echo BEGIN $@ + $(MAKE) -C builddir-hppa64/bfd headers + env MAKE="$(MAKE) VERSION=$(HPPA64_VERSION)" \ + $(MAKE) $(NJOBS) -C builddir-hppa64 \ + LDFLAGS="-Wl,-z,relro" + touch $@ + +############################################################################### + +pre-build: +#ifneq (,$(filter $(DEB_HOST_ARCH), armel powerpc)) +# @echo Build it ... +#else +# @echo Explicitely fail the build for architecture $(DEB_HOST_ARCH) +# false +#endif + +build_stamps = stamps/build-single +ifeq ($(with_multiarch),yes) + build_stamps += stamps/build-multi +endif +ifeq ($(with_hppa64),yes) + build_stamps += stamps/build-hppa64 +endif +ifeq ($(with_cross),yes) + build_stamps += $(foreach ca,$(CROSS_ARCHS), stamps/build.$(ca)) +endif +ifneq (,$(TARGET)) + ifeq ($(TARGET),hppa64-linux-gnu) + build_stamps = stamps/build-hppa64 + else + build_stamps = stamps/build.$(DEB_TARGET_ARCH) + endif +endif +ifeq ($(BACKPORT),true) + build_stamps := + with_check := no +endif + +build: pre-build stamps/build +build-arch: pre-build stamps/build +build-indep: pre-build stamps/build +stamps/build: $(build_stamps) + touch $@ + +############################################################################### + +################## +# install target # +################## + +install_stamps = +ifeq ($(with_hppa64),yes) + install_stamps += stamps/install-hppa64 +endif +ifeq ($(with_cross),yes) + install_stamps += $(foreach ca,$(CROSS_ARCHS), stamps/install.$(ca)) +endif + +ifneq (,$(TARGET)) + ifeq ($(TARGET),hppa64-linux-gnu) + install_stamp = stamps/install-hppa64 + else + install_stamp = stamps/install.$(DEB_TARGET_ARCH) + endif +else + install_stamp = stamps/install +endif +ifeq ($(BACKPORT),true) + install_stamps := +endif +install: $(install_stamp) +stamps/install: checkroot stamps/build $(install_stamps) + $(checkdir) + + rm -fr $(d_bin) $(d_com) $(d_lib) $(d_nat) $(d_dev) $(d_mul) $(d_mdev) $(d_doc) $(d_src) $(d_bld) + $(install_dir) $(d_bin) $(d_com) $(d_lib) $(d_nat) $(d_dev) $(d_mul) $(d_mdev) $(d_doc) $(d_src) $(d_bld) + + : # install binutils and -dev stuff + env MAKE="$(MAKE) VERSION=$(SINGLE_VERSION)" \ + $(MAKE) -C builddir-single \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CXXFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + DESTDIR=$(CURDIR)/$(d_bin) install + + $(install_dir) $(d_com)/$(PF)/share + mv $(d_bin)/$(PF)/share/locale $(d_com)/$(PF)/share/locale + + $(install_dir) $(d_doc)/$(PF)/share + mv $(d_bin)/$(PF)/share/info $(d_doc)/$(PF)/share/info + + $(install_dir) $(d_nat)/$(PF)/lib/$(DEB_HOST_MULTIARCH) + mv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts \ + $(d_nat)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/. + + $(install_dir) $(d_com)/$(PF)/share/man + mv $(d_bin)/$(PF)/share/man/man1 $(d_com)/$(PF)/share/man/. + for f in $(d_com)/$(PF)/share/man/man1/*.1; do \ + sed -i -e '/^\.TH /s/[0-9]*-[0-9]*-[0-9]*/$(BUILD_DAY)/' $$f; \ + done + +ifeq ($(with_multiarch),yes) + : # now install binutils-multiarch stuff + env MAKE="$(MAKE) VERSION=$(MULTI_VERSION)" \ + $(MAKE) -C builddir-multi \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CXXFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + DESTDIR=$(CURDIR)/$(d_mul) install +endif + + : # fix bfd.h, removing the safety inclusion guard + awk '/PR 14072/,/^#endif/ {next} {print}' $(d_bin)/$(PF)/include/bfd.h \ + > $(d_bin)/$(PF)/include/bfd.h.new + mv $(d_bin)/$(PF)/include/bfd.h.new $(d_bin)/$(PF)/include/bfd.h + + : # fix multilib conflicts of generated values by __WORDSIZE-based expressions + sed -i -e '/^#include "ansidecl.h"/{p;s~^.*$$~#include ~;}' \ + -e 's/^#define BFD_DEFAULT_TARGET_SIZE \(32\|64\) *$$/#define BFD_DEFAULT_TARGET_SIZE __WORDSIZE/' \ + -e 's/^#define BFD_HOST_64BIT_LONG [01] *$$/#define BFD_HOST_64BIT_LONG (__WORDSIZE == 64)/' \ + -e 's/^#define BFD_HOST_64_BIT \(long \)\?long *$$/#if __WORDSIZE == 32\ +#define BFD_HOST_64_BIT long long\ +#else\ +#define BFD_HOST_64_BIT long\ +#endif/' \ + -e 's/^#define BFD_HOST_U_64_BIT unsigned \(long \)\?long *$$/#define BFD_HOST_U_64_BIT unsigned BFD_HOST_64_BIT/' \ + $(d_bin)/$(PF)/include/bfd.h + + : # copy plugin-api.h ... + cp -f include/plugin-api.h $(d_bin)/$(PF)/include + + : # We don't need to distribute everything in binutils and -dev + rm -rf $(d_bin)/$(PF)/include/obstack.h + rm -f $(d_doc)/$(PF)/share/info/configure.* $(d_doc)/$(PF)/share/info/standards.* + +ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe ppc64 ppc64el)) + rm -f $(d_bin)/$(PF)/bin/embedspu +endif + +ifeq ($(with_multiarch),yes) + : # Now get rid of just about everything in binutils-multiarch + rm -rf $(d_mul)/$(PF)/man $(d_mul)/$(PF)/info $(d_mul)/$(PF)/include + rm -rf $(d_mul)/$(PF)/share/man $(d_mul)/$(PF)/share/info $(d_mul)/$(PF)/share/locale + + : # elfedit (even with its --input-mach option) + : # is the same for all targets. + rm -f $(d_mul)/$(PF)/bin/elfedit + + : # c++filt does not link to libbfd for anything more than + : # the help message, and its behavior does not vary + : # between arches aside from the --version message. + rm -f $(d_mul)/$(PF)/bin/c++filt + + : # As gas/README points out (search for --enable-targets), + : # multi-arch gas is not ready yet. + rm -f $(d_mul)/$(PF)/bin/as + rm -f $(d_mul)/$(PF)/bin/ld + rm -f $(d_mul)/$(PF)/bin/ld.bfd + rm -f $(d_mul)/$(PF)/bin/ld.gold + + ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe ppc64 ppc64el)) + rm -f $(d_mul)/$(PF)/bin/embedspu + endif + rm -rf $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts +endif + +# rm -rf debian/binutils-*-*-*/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts \ +# debian/binutils-*-gnu/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts + + $(install_dir) $(d_dev)/$(PF)/include + mv $(d_bin)/$(PF)/include/* $(d_dev)/$(PF)/include/ + + $(install_dir) $(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH) $(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH) + mv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.a \ + $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd.so \ + $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes.so \ + $(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH) + mv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so \ + $(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH) + +ifeq ($(with_multiarch),yes) + $(install_dir) $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH) $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH) + mv $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd.so \ + $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd-multiarch.so + mv $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes.so \ + $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes-multiarch.so + rm -f $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.la \ + $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.a + rm -f $(d_mul)/$(PF)/lib*/$(DEB_HOST_MULTIARCH)/libiberty* +endif + + : # Get rid of .la files since libtool obviously has no idea about transient paths + rm -f $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.la + + chmod ugo-x $(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so + $(call strip_package, $(p_lib), $(d_lib)) +ifeq ($(with_multiarch),yes) + chmod ugo-x $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so + $(call strip_package, $(p_mul), $(d_mul)) +endif + + if which strip-nondeterminism >/dev/null 2>&1; then \ + find $(d_dev) -name '*.a' -print0 \ + | xargs -0r strip-nondeterminism --type ar; \ + fi + + : # Don't want /usr/-linux to exist in any package + rm -rf $(d_bin)/$(PF)/$(DEB_HOST_GNU_TYPE) + + : # Remove windows related manpages + rm -f $(d_com)/$(PF)/share/man/man1/{dlltool,nlmconv,windmc,windres}.1 + +ifeq ($(with_multiarch),yes) + rm -rf $(d_mul)/$(PF)/$(DEB_HOST_GNU_TYPE) + rm -f $(d_mul)/$(PF)/share/man/man1/{dlltool,nlmconv,windmc,windres}.1 +endif + + rm -f $(d_bin)/$(PF)/bin/ld.bfd + mv $(d_bin)/$(PF)/bin/ld $(d_bin)/$(PF)/bin/ld.bfd + mv $(d_com)/$(PF)/share/man/man1/ld.1 \ + $(d_com)/$(PF)/share/man/man1/ld.bfd.1 + ln -sf $(DEB_HOST_GNU_TYPE)-ld.bfd $(d_bin)/$(PF)/bin/ld + $(install_dir) $(d_com)/$(PF)/share/man/man1 + ln -sf ld.bfd.1.gz $(d_com)/$(PF)/share/man/man1/ld.1.gz +ifeq ($(with_gold),yes) + ln -s ld.gold $(d_bin)/$(PF)/bin/gold + ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + find debian -name '*gold' -o -name '*dwp' + if which help2man >/dev/null 2>&1; then \ + help2man -N -n 'The GNU ELF linker' \ + $(d_bin)/$(PF)/bin/ld.gold \ + | sed -e 's,debian/.*-ld.gold,ld.gold,g' \ + -e 's/$(DEB_HOST_GNU_TYPE)-//g' \ + > debian/ld.gold.1; \ + help2man -N -n 'The DWARF packaging utility' \ + $(d_bin)/$(PF)/bin/dwp \ + | sed -e 's,debian/.*-dwp,dwp,g' \ + -e 's/$(DEB_HOST_GNU_TYPE)-//g' \ + > debian/dwp.1; \ + fi + endif + cp debian/dwp.1 $(d_com)/$(PF)/share/man/man1/ + cp debian/ld.gold.1 $(d_com)/$(PF)/share/man/man1/ + ln -s ld.gold.1.gz $(d_com)/$(PF)/share/man/man1/gold.1.gz + + : # install a symlink for the gold linker + $(install_dir) $(d_bin)/$(PF)/lib/gold-ld + ln -s ../../bin/ld.gold $(d_bin)/$(PF)/lib/gold-ld/ld +endif + : # install a symlink for the bfd linker + $(install_dir) $(d_bin)/$(PF)/lib/compat-ld + ln -s ../../bin/ld.bfd $(d_bin)/$(PF)/lib/compat-ld/ld + + : # Remove empty directory + rmdir $(d_bin)/$(PF)/include/ + + : # Rename non-prefixed binaries to $(DEB_HOST_GNU_TYPE)- prefixed binaries + : # and provide symlinks to the prefixed binaries. + $(install_dir) $(d_nat)/$(PF)/bin $(d_nat)/$(PF)/share/man/man1 + for i in $(programs); do \ + mv $(d_bin)/$(PF)/bin/$$i $(d_nat)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-$$i; \ + ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_bin)/$(PF)/bin/$$i; \ + done + ln -sf $(DEB_HOST_GNU_TYPE)-ld.gold $(d_nat)/usr/bin/$(DEB_HOST_GNU_TYPE)-gold + for i in $(programs); do \ + ln -sf $$i.1.gz $(d_nat)/$(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-$$i.1.gz; \ + done + $(call strip_package, $(p_nat), $(d_nat)) +ifeq ($(with_multiarch),yes) + for i in \ + addr2line ar gprof \ + nm objcopy objdump ranlib readelf size strings strip; \ + do \ + mv $(d_mul)/$(PF)/bin/$$i $(d_mul)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-$$i; \ + done + rm -f $(d_mul)/$(PF)/bin/embedspu +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),i386 kfreebsd-i386 hurd-i386)) +# temporary i586-* symlinks for stretch/sid + ifneq (,$(TRIPLET_SYMLINK)) + for i in $(programs); do \ + ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_nat)/$(PF)/bin/$(TRIPLET_SYMLINK)-$$i; \ + ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_nat)/$(PF)/share/man/man1/$(TRIPLET_SYMLINK)-$$i.1.gz; \ + done + endif +# temporary i486-* symlinks for jessie/sid + ifeq ($(DEB_HOST_GNU_CPU),i586) + gnutype=$(subst i586,i486,$(DEB_HOST_GNU_TYPE)); \ + for i in $(programs); do \ + ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_nat)/$(PF)/bin/$$gnutype-$$i; \ + ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_nat)/$(PF)/share/man/man1/$$gnutype-$$i.1.gz; \ + done + endif +# for backports to wheezy and squeeze + ifeq ($(DEB_HOST_GNU_CPU),i486) + gnutype=$(subst i486,i586,$(DEB_HOST_GNU_TYPE)); \ + for i in $(programs); do \ + ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_nat)/$(PF)/bin/$$gnutype-$$i; \ + ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_nat)/$(PF)/share/man/man1/$$gnutype-$$i.1.gz; \ + done + endif +endif + touch $@ + +stamps/install-hppa64: checkroot stamps/build-hppa64 + $(checkdir) + + rm -fr $(d_hppa64) + $(install_dir) $(d_hppa64) + $(install_dir) $(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH) + + : # install binutils-hppa64 stuff + env MAKE="$(MAKE) VERSION=$(HPPA64_VERSION)" \ + $(MAKE) -C builddir-hppa64 \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CXXFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + DESTDIR=$(CURDIR)/$(d_hppa64) install + + : # move shared libs to the standard path + mv $(d_hppa64)/$(PF)/$(DEB_HOST_GNU_TYPE)/hppa64-linux-gnu/lib/lib*-*.so \ + $(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/. + + : # Now get rid of just about everything in binutils-hppa64 + rm -rf $(d_hppa64)/$(PF)/man + rm -rf $(d_hppa64)/$(PF)/info + rm -rf $(d_hppa64)/$(PF)/include + rm -rf $(d_hppa64)/$(PF)/share + rm -rf $(d_hppa64)/$(PF)/hppa-linux-gnu + rm -rf $(d_hppa64)/$(PF)/lib/libiberty.a + + : # replace hard links with soft links + for i in $(d_hppa64)/usr/hppa64-linux-gnu/bin/*; do \ + ln -sf ../../bin/hppa64-linux-gnu-$$(basename $$i) $$i; \ + done + ln -sf hppa64-linux-gnu-ld.bfd $(d_hppa64)/usr/bin/hppa64-linux-gnu-ld + + $(call strip_package, $(p_hppa64), $(d_hppa64)) + chmod ugo-x $(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so + + : # remove RPATH + chrpath -k -d $$(file $(d_hppa64)/usr/bin/*|awk -F: '/ ELF/ {print $$1}') + + : # Don't want /usr/-linux to exist in any package + rm -rf $(d_hppa64)/$(PF)/$(DEB_HOST_GNU_TYPE) + + touch $@ + +############################################################################### + +####################### +# binary-indep target # +####################### + +binary-indep: checkroot build install + $(checkdir) + + rm -f debian/files debian/substvars + +# Cross builds do not have documentation packages +ifeq (,$(TARGET)) + + $(install_dir) $(d_doc)/DEBIAN + +ifeq ($(GFDL_INVARIANT_FREE),yes) + rm -f $(d_doc)/$(PF)/share/info/bfd.info* + rm -f $(d_doc)/$(PF)/share/info/bfdint.info* + rm -f $(d_doc)/$(PF)/share/info/ldint.info* +endif + +ifneq ($(BACKPORT),true) + $(install_dir) $(d_doc)/$(PF)/share/doc/$(p_doc)/ + $(install_file) debian/changelog $(d_doc)/$(PF)/share/doc/$(p_doc)/changelog.Debian + $(install_file) debian/copyright $(d_doc)/$(PF)/share/doc/$(p_doc)/ + for i in bfd gas gprof ld; do \ + ln -sf ../$(p_bin)/$$i $(d_doc)/$(PF)/share/doc/$(p_doc)/$$i; \ + done + find $(d_doc)/$(PF)/share/doc/$(p_doc) -maxdepth 1 -type f ! -name copyright | xargs gzip -9n + gzip -9n $(d_doc)/$(PF)/share/info/* + + dpkg-gencontrol -P$(d_doc) -p$(p_doc) + chown -R root:root $(d_doc) + chmod -R go=rX $(d_doc) + find $(d_doc) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_doc) .. + + $(install_dir) $(d_src)/$(PF)/share/doc/$(p_src)/ + $(install_file) debian/changelog $(d_src)/$(PF)/share/doc/$(p_src)/changelog.Debian + $(install_file) debian/copyright $(d_src)/$(PF)/share/doc/$(p_src)/ + find $(d_src)/$(PF)/share/doc/$(p_src) -maxdepth 1 -type f ! -name copyright | xargs gzip -9n +endif # ifndef BACKPORT + + $(install_dir) $(d_src)/DEBIAN + $(install_dir) $(d_src)/$(PF)/src/binutils/patches + $(install_file) debian/patches/* $(d_src)/$(PF)/src/binutils/patches/ + cd .. && find $(source_files) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' && \ + find $(source_files) -type f -print0 | LC_ALL=C sort -z | \ + tar --null -T - -c --xz --exclude=CVS --mode=go=rX,u+rw,a-s \ + -f $(pwd)/$(d_src)/$(PF)/src/binutils/binutils-$(VERSION).tar.xz \ + $(source_files) + + tar cf - $$(find './debian' -mindepth 1 \( \ + -path './debian/binutils*' -type d -prune -o \ + -path './debian/libbinutils' -type d -prune -o \ + -path './debian/binutils*-dbg' -type d -prune -o \ + -path './debian/libbinutils-dbg' -type d -prune -o \ + -path './debian/patches' -prune -o \ + -path './debian/tmp*' -prune -o \ + -path './debian/.bzr*' -prune -o \ + -path './debian/files' -prune -o \ + -print \) ) \ + | tar -x -C $(d_src)/$(PF)/src/binutils -f - + -chmod 755 $(d_src)/$(PF)/src/binutils/debian/*.{pre,post}{inst,rm} + chmod 755 $(d_src)/$(PF)/src/binutils/debian/test-suite-compare.py + + dpkg-gencontrol -P$(d_src) -p$(p_src) + chown -R root:root $(d_src) + chmod -R go=rX $(d_src) + find $(d_src) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_src) .. + + + $(install_dir) $(d_bld)/DEBIAN $(d_bld)/$(PF)/share/doc/ + ln -sf $(p_com) $(d_bld)/$(PF)/share/doc/$(p_bld) + dpkg-gencontrol -P$(d_bld) -p$(p_bld) -Vbinutils:minver=$(min_ver) + chown -R root:root $(d_bld) + chmod -R go=rX $(d_bld) + find $(d_bld) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_bld) .. +endif + +############################################################################### + +####################### +# binary-arch target # +####################### + +binary.%: stamps/install.% install + rm -rf $(D_CROSS)/$(PF)/share/info + + rm -rf $(D_CROSS)/DEBIAN $(D_CROSS)-dbg/DEBIAN + + : # make lintian happy + $(install_dir) $(D_CROSS)/$(PF)/share/lintian/overrides + sed 's/@PKG@/$(P_CROSS)/' debian/binutils-cross.overrides \ + > $(D_CROSS)/$(PF)/share/lintian/overrides/$(P_CROSS) + + : # install maintainer scrtips + $(install_dir) $(D_CROSS)/$(PF)/share/doc/$(P_CROSS) + $(install_file) debian/changelog \ + $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/changelog.Debian + $(install_file) debian/copyright debian/README.cross \ + $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/ + gzip -9nf $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/changelog.Debian + +ifeq ($(with_check),yes) + : # remove user and date from test-summary for reproducible builds + sed -i -e '/Test Run By/Id' test-summary-$* + $(install_file) test-summary-$* \ + $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/test-summary + gzip -9nf $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/test-summary + $(install_dir) $(D_CROSS)/$(PF)/share/doc/$(p_bin) + ln -sf ../$(P_CROSS)/test-summary.gz \ + $(D_CROSS)/$(PF)/share/doc/$(p_bin)/test-summary-$*.gz +endif + + for pkg in bfd gas gprof ld; do \ + ln -sf ../binutils/$$pkg \ + $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/$$pkg; \ + done + + $(install_dir) $(D_CROSS)/DEBIAN $(D_CROSS)-dbg/DEBIAN + if [ "$(is_rc)" = yes ]; then \ + nver=$$(echo $(DEB_UPSTREAM) | awk -F. '{ OFS="."; NF--; $$NF=$$NF+1; print }'); \ + else \ + nver=$$(echo $(DEB_UPSTREAM) | awk -F. '{ OFS="."; if (NF > 2) $$NF=$$NF+1; else $$++NF=1; print }'); \ + fi; \ + date_ext=$(DATE_EXT); \ + [ "$(is_rc)" = yes ] && date_ext=; \ + $(install_file) debian/binutils.triggers $(D_CROSS)/DEBIAN/triggers + + rm -f debian/substvars + dpkg-shlibdeps $(D_CROSS)/$(PF)/bin/* + dpkg-gencontrol -P$(D_CROSS) -p$(P_CROSS) \ + -VBuilt-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W binutils-source)" + cd $(D_CROSS) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + dpkg-gencontrol -P$(D_CROSS)-dbg -p$(P_CROSS)-dbg + cd $(D_CROSS)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + chown -R root:root $(D_CROSS) $(D_CROSS)-dbg + chmod -R go=rX $(D_CROSS) $(D_CROSS)-dbg + find $(D_CROSS) $(D_CROSS)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(D_CROSS) .. + dpkg --build $(D_CROSS)-dbg .. + +binary-for-host: checkroot + $(checkdir) + + rm -fr $(d_hst) + $(install_dir) $(d_hst)/DEBIAN/ $(d_hst)/$(PF)/share/doc/ + ln -sf $(p_com) $(d_hst)/$(PF)/share/doc/$(p_hst) + + rm -f debian/substvars + $(for_target) dpkg-gencontrol -P$(d_hst) -p$(p_hst) \ + -Vbinutils:native=$(if $(TARGET),$(p_cross),$(p_nat)) \ + -Vbinutils:minver=$(min_ver) + + chown -R root:root $(d_hst) + chmod -R go=rX $(d_hst) + + find $(d_hst) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_hst) .. + +binary-arch: checkroot build install binary-for-host \ + $(if $(filter yes, $(with_cross)),$(foreach ca,$(CROSS_ARCHS), binary.$(ca))) + $(checkdir) + +ifneq ($(BACKPORT),true) +# Process the following only if $(TARGET) is set +ifneq (,$(TARGET)) + test "" != "$(TARGET)" + + rm -rf $(d_cross)/$(PF)/share/info $(d_cross)/$(PF)/share/man + + $(install_dir) $(d_cross)/DEBIAN + + $(install_dir) $(d_cross)/$(PF)/share/doc/$(p_cross)/ + $(install_file) debian/changelog $(d_cross)/$(PF)/share/doc/$(p_cross)/changelog.Debian + $(install_file) debian/copyright debian/README.cross $(d_cross)/$(PF)/share/doc/$(p_cross)/ + gzip -9nf $(d_cross)/$(PF)/share/doc/$(p_cross)/changelog.Debian + + for pkg in bfd gas gprof ld; do \ + ln -sf ../binutils/$$pkg $(d_cross)/$(PF)/share/doc/$(p_cross)/$$pkg; \ + done + + rm -f debian/substvars + dpkg-shlibdeps $(d_cross)/$(PF)/bin/* + dpkg-gencontrol -P$(d_cross) -p$(p_cross) \ + -VBuilt-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W binutils-source)" + find $(d_cross) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_cross) .. + +else + : # generate some control & helper files + if [ "$(is_rc)" = yes ]; then \ + nver=$$(echo $(DEB_UPSTREAM) | awk -F. '{ OFS="."; NF--; $$NF=$$NF+1; print }'); \ + else \ + nver=$$(echo $(DEB_UPSTREAM) | awk -F. '{ OFS="."; if (NF > 2) $$NF=$$NF+1; else $$++NF=1; print }'); \ + fi; \ + for i in debian/*.in; do \ + case "$$i" in debian/control.in|debian/control.cross.in) continue; esac; \ + date_ext=$(DATE_EXT); \ + case "$$i" in debian/*.shlibs.in) [ "$(is_rc)" = yes ] && date_ext=; esac; \ + sed -e 's/@VER@/$(VERSION)/g' \ + -e 's/@DEB_VER@/$(DEB_VERSION)/g' \ + -e 's/@DEB_SVER@/$(DEB_SVERSION)/g' \ + -e 's/@DEB_UVER@/$(DEB_UPSTREAM)/g' \ + -e "s/@DEB_NVER@/$$nver/g" \ + -e "s/@DATE_EXT@/$$date_ext/g" \ + -e 's/@DEB_ARCH@/$(DEB_HOST_ARCH)/g' \ + -e 's/@DEB_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \ + -e 's/@DEB_TRIPLET@/$(DEB_HOST_GNU_TYPE)/g' \ + -e "s/@dpkg_dev@/$(DPKG_DEV)/" \ + $$i > $${i%*.in}; \ + case "$$i" in *.post*|*.pre*) chmod 755 $${i%*.in}; esac; \ + done + + : # install bug reporting information + $(install_file) -D debian/$(p_bin).presubj \ + $(d_bin)/$(PF)/share/bug/$(p_bin)/presubj +ifeq ($(with_multiarch),yes) + $(install_dir) $(d_mul)/$(PF)/share/bug + ln -sf $(p_bin) $(d_mul)/$(PF)/share/bug/$(p_mul) +endif +ifeq ($(with_hppa64),yes) + $(install_dir) $(d_hppa64)/$(PF)/share/bug + ln -sf $(p_bin) $(d_hppa64)/$(PF)/share/bug/$(p_hppa64) +endif + + : # make lintian happy + $(install_file) -D debian/$(p_com).overrides \ + $(d_com)/$(PF)/share/lintian/overrides/$(p_com) + $(install_file) -D debian/$(p_lib).overrides \ + $(d_lib)/$(PF)/share/lintian/overrides/$(p_lib) + $(install_file) -D debian/binutils.overrides \ + $(d_bin)/$(PF)/share/lintian/overrides/$(p_bin) + $(install_dir) $(d_nat)/$(PF)/share/lintian/overrides + sed 's/@PKG@/$(p_nat)/' debian/binutils-triplet.overrides \ + > $(d_nat)/$(PF)/share/lintian/overrides/$(p_nat) +ifeq ($(with_multiarch),yes) + $(install_file) -D debian/$(p_mul).overrides \ + $(d_mul)/$(PF)/share/lintian/overrides/$(p_mul) + $(install_file) -D debian/$(p_mdev).overrides \ + $(d_mdev)/$(PF)/share/lintian/overrides/$(p_mdev) +endif +ifeq ($(with_hppa64),yes) + $(install_file) -D debian/$(p_hppa64).overrides \ + $(d_hppa64)/$(PF)/share/lintian/overrides/$(p_hppa64) +endif + + : # install maintainer scripts + $(install_dir) $(d_bin)/DEBIAN + + $(install_dir) $(d_lib)/DEBIAN $(d_lib)-dbg/DEBIAN + $(install_file) debian/binutils.triggers $(d_lib)/DEBIAN/triggers + $(install_file) debian/libbinutils.shlibs $(d_lib)/DEBIAN/shlibs + + $(install_dir) $(d_com)/DEBIAN + + $(install_dir) $(d_nat)/DEBIAN $(d_nat)-dbg/DEBIAN + + $(install_dir) $(d_dev)/DEBIAN + +ifeq ($(with_multiarch),yes) + $(install_dir) $(d_mul)/DEBIAN $(d_mul)-dbg/DEBIAN + $(install_script) debian/binutils-multiarch.preinst $(d_mul)/DEBIAN/preinst + $(install_script) debian/binutils-multiarch.postinst $(d_mul)/DEBIAN/postinst + $(install_script) debian/binutils-multiarch.prerm $(d_mul)/DEBIAN/prerm + $(install_script) debian/binutils-multiarch.postrm $(d_mul)/DEBIAN/postrm + $(install_file) debian/binutils-multiarch.shlibs $(d_mul)/DEBIAN/shlibs + $(install_file) debian/binutils.triggers $(d_mul)/DEBIAN/triggers + $(install_dir) $(d_mdev)/DEBIAN +endif + +ifeq ($(with_hppa64),yes) + $(install_dir) $(d_hppa64)/DEBIAN $(d_hppa64)-dbg/DEBIAN + $(install_file) debian/binutils.triggers $(d_hppa64)/DEBIAN/triggers +endif + + : # install docs + $(install_dir) $(d_bin)/$(PF)/share/doc/$(p_bin)/ + $(install_file) debian/changelog $(d_bin)/$(PF)/share/doc/$(p_bin)/changelog.Debian + $(install_file) debian/copyright $(d_bin)/$(PF)/share/doc/$(p_bin)/ + + $(install_dir) $(d_com)/$(PF)/share/doc/$(p_com)/ + $(install_file) debian/changelog $(d_com)/$(PF)/share/doc/$(p_com)/changelog.Debian + $(install_file) debian/copyright $(d_com)/$(PF)/share/doc/$(p_com)/ + + $(install_dir) $(d_lib)/$(PF)/share/doc/ + ln -sf $(p_com) $(d_lib)/$(PF)/share/doc/$(p_lib) + + $(install_dir) $(d_nat)/$(PF)/share/doc/ + ln -sf $(p_lib) $(d_nat)/$(PF)/share/doc/$(p_nat) + + $(install_dir) $(d_dev)/$(PF)/share/doc/ + ln -sf $(p_bin) $(d_dev)/$(PF)/share/doc/$(p_dev) +ifeq ($(with_multiarch),yes) + $(install_dir) $(d_mul)/$(PF)/share/doc/ + ln -sf $(p_bin) $(d_mul)/$(PF)/share/doc/$(p_mul) + $(install_dir) $(d_mdev)/$(PF)/share/doc/ + ln -sf $(p_mul) $(d_mdev)/$(PF)/share/doc/$(p_mdev) +endif +ifeq ($(with_hppa64),yes) + $(install_dir) $(d_hppa64)/$(PF)/share/doc/ + ln -sf $(p_bin) $(d_hppa64)/$(PF)/share/doc/$(p_hppa64) +endif + +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +ifeq ($(with_check),yes) + : # remove user and date from test-summary for reproducible builds + sed -i -e '/Test Run By/Id' $(pwd)/test-summary + $(install_dir) $(d_nat)/$(PF)/share/doc/$(p_bin) + $(install_file) test-summary \ + $(d_nat)/$(PF)/share/doc/$(p_bin)/test-summary-$(DEB_HOST_ARCH) + gzip -9nf \ + $(d_nat)/$(PF)/share/doc/$(p_bin)/test-summary-$(DEB_HOST_ARCH) +endif +endif + $(install_dir) $(d_com)/$(PF)/share/doc/$(p_bin) + $(install_file) binutils/NEWS debian/README.cross \ + $(d_com)/$(PF)/share/doc/$(p_bin)/ + + $(install_file) binutils/ChangeLog $(d_com)/$(PF)/share/doc/$(p_bin)/changelog + + for pkg in bfd gas gprof ld; do \ + $(install_dir) $(d_com)/$(PF)/share/doc/$(p_bin)/$$pkg; \ + done + $(install_file) bfd/ChangeLog bfd/PORTING bfd/TODO \ + $(d_com)/$(PF)/share/doc/$(p_bin)/bfd/ + $(install_file) gas/ChangeLog gas/NEWS $(d_com)/$(PF)/share/doc/$(p_bin)/gas/ + $(install_file) gprof/ChangeLog gprof/TODO gprof/TEST \ + $(d_com)/$(PF)/share/doc/$(p_bin)/gprof/ + $(install_file) ld/ChangeLog ld/TODO ld/NEWS \ + $(d_com)/$(PF)/share/doc/$(p_bin)/ld/ + + : # These only exist in H. J. Lu releases not GNU ones. + for dir in binutils bfd gas gprof ld; do \ + if [ -f $$dir/ChangeLog.linux ]; then \ + $(install_file) $$dir/ChangeLog.linux $(d_com)/$(PF)/share/doc/$(p_bin)/$$dir/; \ + fi; \ + done + + : # Copy bbconv.pl to the doc dir for use by interested people + $(install_file) gprof/bbconv.pl $(d_com)/$(PF)/share/doc/$(p_bin)/gprof/. + + : # Compress stuff that needs it + gzip -9n $(d_bin)/$(PF)/share/doc/$(p_bin)/changelog.Debian + find $(d_com)/$(PF)/share/doc/$(p_bin)/ -type f ! -name bbconv.pl | xargs gzip -9n + gzip -9n $(d_com)/$(PF)/share/doc/$(p_com)/changelog.Debian + gzip -9n $(d_com)/$(PF)/share/man/man1/*.1 + + : # Finish it all up + dpkg-gencontrol -P$(d_bin) -p$(p_bin) \ + $(CONFLICTS_TARGET_$(DEB_HOST_ARCH)) $(gold_provides) \ + -Vbinutils:native=$(p_nat) + cd $(d_bin) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + + rm -f debian/substvars + find $(d_lib) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps + dpkg-gencontrol -P$(d_lib) -p$(p_lib) + cd $(d_lib) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + dpkg-gencontrol -P$(d_lib)-dbg -p$(p_lib)-dbg + cd $(d_lib)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + + rm -f debian/substvars + dpkg-gencontrol -P$(d_com) -p$(p_com) + cd $(d_com) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + + rm -f debian/substvars + find $(d_nat) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps + dpkg-gencontrol -P$(d_nat) -p$(p_nat) -VextraDepends='libbinutils (= $${binary:Version})' + cd $(d_nat) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + dpkg-gencontrol -P$(d_nat)-dbg -p$(p_nat)-dbg -VextraDepends='libbinutils (= $${binary:Version})' + cd $(d_nat)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + + rm -f debian/substvars + dpkg-gencontrol -P$(d_dev) -p$(p_dev) + cd $(d_dev) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + +ifeq ($(with_multiarch),yes) + rm -f debian/substvars + find $(d_mul) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps + dpkg-gencontrol -P$(d_mul) -p$(p_mul) + cd $(d_mul) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + dpkg-gencontrol -P$(d_mul)-dbg -p$(p_mul)-dbg + cd $(d_mul)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + + rm -f debian/substvars + mkdir -p $(d_mdev)/DEBIAN + dpkg-gencontrol -P$(d_mdev) -p$(p_mdev) + cd $(d_mdev) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs -r md5sum > DEBIAN/md5sums +endif + +ifeq ($(with_hppa64),yes) + rm -f debian/substvars + find $(d_hppa64) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps + dpkg-gencontrol -P$(d_hppa64) -p$(p_hppa64) + cd $(d_hppa64) && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums + dpkg-gencontrol -P$(d_hppa64)-dbg -p$(p_hppa64)-dbg + cd $(d_hppa64)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums +endif + + chown -R root:root $(d_bin) $(d_com) $(d_lib) $(d_lib)-dbg $(d_nat) $(d_nat)-dbg $(d_dev) + chmod -R go=rX $(d_bin) $(d_com) $(d_lib) $(d_lib)-dbg $(d_nat) $(d_nat)-dbg $(d_dev) + find $(d_bin) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_bin) .. + find $(d_com) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_com) .. + find $(d_lib) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_lib) .. + find $(d_lib)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_lib)-dbg .. + find $(d_nat) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_nat) .. + find $(d_nat)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_nat)-dbg .. + find $(d_dev) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_dev) .. +ifeq ($(with_multiarch),yes) + chown -R root:root $(d_mul) $(d_mul)-dbg + chmod -R go=rX $(d_mul) $(d_mul)-dbg + find $(d_mul) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_mul) .. + find $(d_mul)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_mul)-dbg .. + + chown -R root:root $(d_mdev) + chmod -R go=rX $(d_mdev) + find $(d_mdev) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_mdev) .. +endif +ifeq ($(with_hppa64),yes) + chown -R root:root $(d_hppa64)-dbg + chmod -R go=rX $(d_hppa64) $(d_hppa64)-dbg + find $(d_hppa64) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_hppa64) .. + find $(d_hppa64)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' + dpkg --build $(d_hppa64)-dbg .. +endif + @echo '==================== Build finished ====================' + ps aux + +endif # Process the following only if $(TARGET) is set +endif # ifndef BACKPORT + +############################################################################### + +define checkdir + test -f bfd/elf32.c -a -f debian/rules +endef + +# if which pkg_create_dbgsym >/dev/null 2>&1; then \ +# pkg_create_dbgsym $1 $2; \ +# fi + +ifeq ($(with_strip),yes) +# strip_package: +define strip_package + $(install_dir) $(strip $2)-dbg/usr/share/doc/ + ln -sf $(strip $1) $(strip $2)-dbg/usr/share/doc/$(strip $1)-dbg + : # Strip shared libraries and binaries + set -e; \ + for i in \ + $(strip $2)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd-*so \ + $(strip $2)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes-*so \ + $$(file $(strip $2)/$(PF)/bin/* |awk -F: '$$0 !~ /script/ {print $$1}'); \ + do \ + test ! -h $$i || continue; test -f $$i || continue; \ + files="$$files $$i"; \ + done; \ + mkdir -p $(strip $2)-dbg/usr/lib/debug/.dwz/$(DEB_HOST_MULTIARCH); \ + dwz=usr/lib/debug/.dwz/$(DEB_HOST_MULTIARCH)/$(strip $1).debug; \ + dwz -m $(strip $2)-dbg/$$dwz -M /$$dwz \ + $$files; \ + $(CROSS)objcopy --compress-debug-sections $(strip $2)-dbg/$$dwz; \ + for i in $$files; do \ + b_id=$$(LC_ALL=C $(CROSS)readelf -n $$i | sed -n 's/ *Build ID: *\([0-9a-f][0-9a-f]*\)/\1/p'); \ + if [ -z "$$b_id" ]; then \ + id=$$(echo $$i | sed -r 's,debian/[^/]+,$2-dbg/usr/lib/debug,'); \ + echo strip $$i; \ + mkdir -p $$(dirname $$id); \ + $(CROSS)objcopy --only-keep-debug $$i $$id; \ + chmod 644 $$id; \ + $(STRIP) $$i; \ + $(CROSS)objcopy --add-gnu-debuglink $$id $$i; \ + else \ + echo "ID: $${b_id} -> $$(echo $$i | sed 's,$(strip $2),,')"; \ + d=usr/lib/debug/.build-id/$${b_id:0:2}; \ + f=$${b_id:2}.debug; \ + mkdir -p $(strip $2)-dbg/$$d; \ + $(CROSS)objcopy --only-keep-debug --compress-debug-sections $$i $(strip $2)-dbg/$$d/$$f; \ + chmod 644 $(strip $2)-dbg/$$d/$$f; \ + $(STRIP) $$i; \ + fi; \ + done +endef +else +define strip_package + $(install_dir) $(strip $2)-dbg/usr/share/doc/ + ln -sf $(strip $1) $(strip $2)-dbg/usr/share/doc/$(strip $1)-dbg +endef +endif + +remove-gfdl-files: + rm -rf .git* .cvs* gdb libdecnumber readline sim +ifeq ($(GFDL_INVARIANT_FREE),yes) + for i in $(gfdl_toplevel_texinfo_files); do \ + if [ -f $$i ]; then \ + sed "s/@name@/$$(basename $$i)/g" debian/gfdl.texi > $$i; \ + fi; \ + done + rm -f $(gfdl_generated_files) + rm -f zlib/contrib/dotzlib/DotZLib.chm +endif + +# Below here is fairly generic really + +binary: binary-indep binary-arch + +checkroot: + $(checkdir) + test root = "`whoami`" + +.PHONY: binary binary-arch binary-indep clean checkroot + +.PRECIOUS: stamps/configure.% stamps/build.% stamps/install.% diff --git a/source.lintian-overrides b/source.lintian-overrides new file mode 100644 index 000000000..67607c4ec --- /dev/null +++ b/source.lintian-overrides @@ -0,0 +1,8 @@ +# handled via diversions +binutils source: binaries-have-file-conflict + +# wrong positive +binutils source: license-problem-gfdl-invariants + +# yes, we know what we are doing +debian-rules-sets-dpkg-architecture-variable diff --git a/source/format b/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/test-suite-compare.py b/test-suite-compare.py new file mode 100644 index 000000000..737303950 --- /dev/null +++ b/test-suite-compare.py @@ -0,0 +1,230 @@ +#!/usr/bin/python3 + +# Quick'n'dirty regression check for dejagnu testsuites +# Copyright (C) 2003, 2004, 2005, 2006, 2007 James Troup + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU;5B General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +################################################################################ + +import optparse +import os +import sys + +################################################################################ + +def fubar(msg, exit_code=1): + sys.stderr.write("E: %s\n" % (msg)) + sys.exit(exit_code) + +def warn(msg): + sys.stderr.write("W: %s\n" % (msg)) + +def info(msg): + sys.stderr.write("I: %s\n" % (msg)) + +################################################################################ + +def read_testsummary(filename): + results = {} + file = open(filename) + for line in file.readlines(): + if not line: + continue + if line.startswith("Running"): + s = line.split() + if "/" in s[1]: + x = s[1] + if x.find("/testsuite/") == -1: + fubar("Can't find /testsuite/ in '%s'." % (x)) + # 'Running /home/james/debian/packages/binutils/binutils-2.14.90.0.7/gas/testsuite/gas/hppa/unsorted/unsorted.exp ...' -> 'gas/hppa/unsorted/unsorted.exp' + # ... since using basename() isn't dupe safe. + section = x[x.find("/testsuite/"):].replace("/testsuite/","").split()[0] + + # Tests can be duplicated, e.g. hppa/basic/basic.exp + # is run twice, once for hppa-linux and once for + # hppa64-linux. This is of course a horrible bodge, + # but I can't think of anything trivial and better off + # hand. + + if section in results: + extra = 1 + too_many = 10 + while section in results and extra < too_many: + section = "%s.%s" % (section, extra) + extra += 1 + if extra >= too_many: + fubar("gave up trying to unduplicate %s." % (section)) + + results[section] = {} + continue + + got_state = 0 + for state in [ "PASS", "XPASS", "FAIL", "XFAIL", "UNRESOLVED", + "UNTESTED", "UNSUPPORTED" ]: + if line.startswith(state): + s = line.split(':') + state = s[0] + test = ':'.join(s[1:]).strip() + if test in results: + warn("%s/%s is duplicated." % (section, test)) + results[section][test] = state + got_state = 1 + break + + if got_state: + continue + + return results + +################################################################################ + +def compare_results(old, new): + total_num = 0 + pass_count = 0 + fail_count = 0 + xfail_count = 0 + untested_count = 0 + regression_count = 0 + progression_count = 0 + change_count = 0 + + for section in list(new.keys()): + for test in list(new[section].keys()): + state = new[section][test] + + # Stats pr0n + total_num += 1 + if state == "PASS" or state == "XPASS": + pass_count += 1 + elif state == "FAIL" or state == "UNRESOLVED": + fail_count += 1 + elif state == "XFAIL": + xfail_count += 1 + elif state == "UNTESTED": + untested_count += 1 + + # Compare to old + if section not in old: + continue + if test not in old[section]: + continue + old_state = old[section][test] + if state == "PASS": + if old_state != "PASS": + progression_count += 1 + info("[%s] progression (%s -> %s): %s" % (section, old_state, state, test)) + elif state == "XPASS": + if old_state != "XPASS" and old_state != "PASS": + progression_count += 1 + warn("[%s] %s: %s" % (section, state, test)) + elif state == "FAIL": + if old_state != "FAIL": + regression_count += 1 + warn("[%s] REGRESSION (%s -> %s): %s" % (section, old_state, state, test)) + elif state == "XFAIL": + if old_state != "XFAIL": + change_count += 1 + info("[%s] change (%s -> %s): %s" % (section, old_state, state, test)) + elif state == "UNRESOLVED": + if old_state != "UNRESOLVED" and old_state != "FAIL": + regression_count += 1 + warn("[%s] REGRESSION (%s -> %s): %s" % (section, old_state, state, test)) + if old_state == "FAIL": + change_count += 1 + info("[%s] change (%s -> %s): %s" % (section, old_state, state, test)) + elif state == "UNTESTED": + if old_state != "UNTESTED": + change_count += 1 + warn("[%s] REGRESSION (%s -> %s): %s" % (section, old_state, state, test)) + + if regression_count: + print("%d REGRESSIONS (%.2f%%)." % (regression_count, (float(regression_count)/total_num)*100)) + if progression_count: + print("%d progressions (%.2f%%)." % (progression_count, (float(progression_count)/total_num)*100)) + + if change_count: + print("%d changes (%.2f%%)." % (change_count, (float(change_count)/total_num)*100)) + + print("%d tests: %d pass (%.2f%%), %d fail (%.2f%%), %d xfail (%.2f%%) %d untested (%.2f%%)." \ + % (total_num, pass_count, (float(pass_count)/total_num)*100, + fail_count, (float(fail_count)/total_num)*100, + xfail_count, (float(xfail_count)/total_num)*100, + untested_count, (float(untested_count)/total_num)*100)) + + if regression_count: + sys.exit(1) + +################################################################################ + +def compare_multiple(directory, first_version, second_version): + architectures = [ "alpha", "arm", "hppa", "i386", "ia64", "mips", + "m68k", "mipsel", "powerpc", "s390", "sparc" ] + + for arch in architectures: + print("*********************************** %s ******************************" % (arch)) + second_filename = "%s/%s_%s" % (directory, second_version, arch) + if not os.path.exists(second_filename): + print(" -- NOT AVAILABLE --") + continue + + new = read_testsummary(second_filename) + first_filename = "%s/%s_%s" % (directory, first_version, arch) + old = read_testsummary(first_filename) + compare_results(old, new) + +################################################################################ + +def init(): + """Initalization, including parsing of options.""" + + usage = """usage: %prog [OPTIONS] +compare (binutils) dejagnu testsuite results. + +Example usage: + + test-suite-compare.py binutils-2.17/test-summary binutils-2.18/test-summary + +Or to compare across all architectures (with test results stored in a +'test-summary' directory): + + test-suite-compare.py -mtest-summary 2.17-3 2.18-1""" + parser = optparse.OptionParser(usage) + parser.add_option("-m", "--multiple", dest="multiple", + nargs=1, type="string", + help="compare multiple architectures") + (options, args) = parser.parse_args() + + if len(args) > 2 or len(args) < 2: + parser.error("takes 2 arguments (old and new)") + (old_version, new_version) = args + + return options, old_version, new_version + +################################################################################ + +def main(): + (options, old_version, new_version) = init() + if options.multiple: + compare_multiple(options.multiple, old_version, new_version) + else: + old = read_testsummary(old_version) + new = read_testsummary(new_version) + compare_results(old, new) + +################################################################################ + +if __name__ == '__main__': + main() diff --git a/tests/build b/tests/build new file mode 100644 index 000000000..01b124825 --- /dev/null +++ b/tests/build @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + +CPUS=$(getconf _NPROCESSORS_ONLN) +case "$CPUS" in + [0-9]|[0-9][0-9]|[0-9][0-9][0-9]) ;; + *) CPUS=1 +esac + +set -x +DEB_BUILD_OPTIONS="parallel=$CPUS nohppa nomult nocross" dpkg-buildpackage -d -B --no-sign diff --git a/tests/control b/tests/control new file mode 100644 index 000000000..9b8825fc1 --- /dev/null +++ b/tests/control @@ -0,0 +1,17 @@ +Tests: build +# this doesn't work well, without building -hppa, -multiarch and -cross packages +#Depends: build-essential +#Restrictions: build-needed +Depends: build-essential, + fakeroot, + autoconf (>= 2.64), + bison, flex, gettext, texinfo, dejagnu, quilt, chrpath, dwz, + python3, file, xz-utils, lsb-release, zlib1g-dev, procps +# build process emits warnings on stderr +Restrictions: allow-stderr + +Tests: libc-link +Depends: build-essential + +Tests: shlib-build +Depends: build-essential diff --git a/tests/libc-link b/tests/libc-link new file mode 100644 index 000000000..09bfc8d81 --- /dev/null +++ b/tests/libc-link @@ -0,0 +1,29 @@ +#!/bin/sh +# autopkgtest check: Build and run a simple program against libc, to verify +# basic binutils compile-time and run-time linking functionality. +# +# (C) 2012 Canonical Ltd. +# Author: Martin Pitt + +set -e + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +cat < libctest.c +#include +#include + +int main() +{ + assert (1 > 0); + assert (strcmp ("hello", "hello") == 0); + return 0; +} +EOF + +gcc -o libctest libctest.c +echo "build: OK" +[ -x libctest ] +./libctest +echo "run: OK" diff --git a/tests/shlib-build b/tests/shlib-build new file mode 100644 index 000000000..a2145639c --- /dev/null +++ b/tests/shlib-build @@ -0,0 +1,44 @@ +#!/bin/sh +# autopkgtest check: Build and link against a simple shared library, to test +# basic binutils compile-time and run-time linking functionality. +# +# (C) 2012 Canonical Ltd. +# Author: Martin Pitt + +set -e + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR +cat < testlib.c + +int ultimate_answer() +{ + return 42; +} +EOF + +gcc -Wall -Werror -shared -o libultimate.so testlib.c +echo "library build: OK" + +# should export the symbol +nm -D libultimate.so | grep -q 'T ultimate_answer' + +# link it against a program +cat < testprog.c +#include + +int ultimate_answer(); + +int main() +{ + assert (ultimate_answer() == 42); + return 0; +} +EOF + +gcc -Wall -Werror -L . -o testprog testprog.c -lultimate +echo "program build: OK" +[ -x testprog ] +LD_LIBRARY_PATH=. ./testprog +echo "run: OK" diff --git a/watch b/watch new file mode 100644 index 000000000..69cbc8aeb --- /dev/null +++ b/watch @@ -0,0 +1,2 @@ +version=2 +http://ftp.gnu.org/gnu/binutils/binutils-([\d\.]*).tar.gz