binutils (2.31.1-16+rpi2) buster-staging; urgency=medium
authorPeter Michael Green <plugwash@raspbian.org>
Thu, 6 Feb 2020 17:10:11 +0000 (17:10 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 6 Feb 2020 17:10:11 +0000 (17:10 +0000)
  * Allow dependency of binutils on binutils-triplet to be satisfied by
    foreign architectures, to facilitate setting up environments where the
    linker is 64-bit while everything else is 32-bit.

[dgit import unpatched binutils 2.31.1-16+rpi2]

68 files changed:
1  2 
debian/README.cross
debian/binutils-common.overrides
debian/binutils-cross.overrides
debian/binutils-hppa64-linux-gnu.overrides
debian/binutils-multiarch-dev.overrides
debian/binutils-multiarch.overrides
debian/binutils-multiarch.postinst.in
debian/binutils-multiarch.postrm.in
debian/binutils-multiarch.preinst.in
debian/binutils-multiarch.prerm.in
debian/binutils-multiarch.shlibs.in
debian/binutils-triplet.overrides
debian/binutils.overrides
debian/binutils.presubj
debian/binutils.triggers
debian/changelog
debian/control
debian/control.cross.in
debian/control.in
debian/copyright
debian/dwp.1
debian/gfdl.texi
debian/ld.gold.1
debian/libbinutils.overrides
debian/libbinutils.shlibs.in
debian/patches/001_ld_makefile_patch.patch
debian/patches/002_gprof_profile_arcs.patch
debian/patches/003_gprof_see_also_monitor.patch
debian/patches/006_better_file_error.patch
debian/patches/012_check_ldrunpath_length.patch
debian/patches/013_bash_in_ld_testsuite.patch
debian/patches/014_hash_style-both.patch
debian/patches/014_hash_style-gnu.patch
debian/patches/127_x86_64_i386_biarch.patch
debian/patches/128_build_id.patch
debian/patches/128_ppc64_powerpc_biarch.patch
debian/patches/129_multiarch_libpath.patch
debian/patches/130_gold_disable_testsuite_build.patch
debian/patches/131_ld_bootstrap_testsuite.patch
debian/patches/135_bfd_version.patch
debian/patches/136_bfd_pic.patch
debian/patches/157_ar_scripts_with_tilde.patch
debian/patches/158_ld_system_root.patch
debian/patches/161_gold_dummy_zoption.diff
debian/patches/164_ld_doc_remove_xref.diff
debian/patches/aarch64-libpath.diff
debian/patches/binutils-no-development.diff
debian/patches/branch-no-development.diff
debian/patches/branch-updates.diff
debian/patches/branch-version.diff
debian/patches/gold-mips.diff
debian/patches/gold-no-keep-files-mapped.diff
debian/patches/gprof-build.diff
debian/patches/i18n-fr.diff
debian/patches/infinity-notes.diff
debian/patches/mips64-default-n64.diff
debian/patches/pr-ld-16428.diff
debian/patches/pr24276.diff
debian/patches/series
debian/rules
debian/source.lintian-overrides
debian/source/format
debian/test-suite-compare.py
debian/tests/build
debian/tests/control
debian/tests/libc-link
debian/tests/shlib-build
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f118d3b36e4a514efdb6c3130dbdf1b0b2122f2e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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=<your-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
++    "<your-target>")
++
++--
++Hector Oron <zumbi@debian.org>
++Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
++Matthias Klose <doko@debian.org>
++Nikita Youshchenko <yoush@cs.msu.su>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..65ee8dc90ed3bed7280cb5266c3d8ae26bd7f6f9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# big tables
++binutils-common binary: manpage-has-errors-from-man
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e5e9ca5dfc4aa2f0d4aac3d2a03f874e2abeee4a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ce5267c9717d31e4492952579c38ff2797102920
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1a81c37e40fc21f5680d662a5efa482efea7a03a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# package only has symlinks
++binutils-multiarch-dev binary: control-file-is-empty md5sums
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..010ad55bcd623def24e4fb101e3f6e932ef66887
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a1a460ec3edfd70d29059d1f86a6cdda6d8950d7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7b9438597086f972fb0da8d2042347e4c79c8fe0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..385f625684c4404022d43c142ca580789e97e371
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..45e273b4a942e011399c3d13121fddaecf63f374
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a5bdd99b5bf964e34fee7662db9da1132720e46a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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@)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9fba6aa37ae02b4975a06f2c06d74d48fa16ee42
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++# empty
++
++# silence lintian stupidity
++@PKG@ binary: spelling-error-in-binary usr/bin/as mmnemonic mnemonic
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..38c8364192ba5ecb3f358ca1a3dc2043de0209a0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..430e6e44c6614cfc63b2aa93eca8f53408fdca2d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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!
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dd86603678474715d434527c9fb1d5bcc0def43d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++activate-noawait ldconfig
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..68d5d114a8521281ca5c3eded377a2e095d38f7c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5571 @@@
++binutils (2.31.1-16+rpi2) buster-staging; urgency=medium
++
++  * Allow dependency of binutils on binutils-triplet to be satisfied by
++    foreign architectures, to facilitate setting up environments where the
++    linker is 64-bit while everything else is 32-bit.
++
++ -- Peter Michael Green <plugwash@raspbian.org>  Thu, 06 Feb 2020 17:10:11 +0000
++
++binutils (2.31.1-16+rpi1) buster-staging; urgency=medium
++
++  [changes brought forward from 2.29-4+rpi1 by Peter Michael Green <plugwash@raspbian.org> at Thu, 17 Aug 2017 15:41:49 +0000]
++  * Disable testsuite, it fails on our lxc based autobuilders.
++
++ -- Raspbian forward porter <root@raspbian.org>  Sat, 27 Apr 2019 12:55:32 +0000
++
++binutils (2.31.1-16) unstable; urgency=medium
++
++  * Snapshot, taken from the 2.31 branch (20190321).
++    - Fix PR ld/24355, segfault in function called from ppc_finish_symbols.
++  * Fix VCS attributes in the control file. Closes: #915982.
++  * Demote binutils-<target> from Multi-Arch: foreign to Multi-Arch: allowed
++    (Helmut Grohne). Closes: #920286.
++  * Let binutils-for-host Depends: binutils-<host>:any.
++
++ -- Matthias Klose <doko@debian.org>  Thu, 21 Mar 2019 15:49:23 +0100
++
++binutils (2.31.1-15) unstable; urgency=high
++
++  * Fix PR ld/24276, taken from the trunk. Closes: #923246.
++
++ -- Matthias Klose <doko@debian.org>  Wed, 27 Feb 2019 22:30:21 +0100
++
++binutils (2.31.1-14) unstable; urgency=medium
++
++  * Snapshot, taken from the 2.31 branch (20190219).
++    - PR binutils/23919 from the 2.32 branch.
++    - PR gas/24165, x86: Rewrite NOP generation for fill and alignment.
++    - SPARC: fix PR ld/18841, skip PR ld/23169 on SPARC.
++    - Fix some Visium issues.
++  * PR binutils/23919 fixes an alignment issue with compressed debug
++    sections. A corresponding gdb upload is needed to correctly read
++    the fixed sections.
++    Debhelper should never have enabled compressed debug sections in
++    the first place ... No savings, only added pain for tools not
++    supporting those.
++  * Drop the test dependencies for mips64 and powerpcspe.
++
++ -- Matthias Klose <doko@debian.org>  Tue, 19 Feb 2019 13:40:50 +0100
++
++binutils (2.31.1-12) unstable; urgency=medium
++
++  * Stop building cross packages now built by binutils-mipsen.
++  * Bump standards version.
++
++ -- Matthias Klose <doko@debian.org>  Thu, 07 Feb 2019 14:51:45 +0100
++
++binutils (2.31.1-11) unstable; urgency=medium
++
++  * Snapshot, taken from the 2.31 branch (20181214).
++    - Fix PR ld/23929, elf: Don't merge .note.gnu.property section in IR.
++    - x86: Put back BFD_RELOC_X86_64_GOTPCREL.
++    - PR binutils/23788, objcopy: failed to find link section.
++
++ -- Matthias Klose <doko@debian.org>  Fri, 14 Dec 2018 20:22:21 +0100
++
++binutils (2.31.1-10) unstable; urgency=medium
++
++  * Snapshot, taken from the 2.31 branch (20181130).
++    - Fix PR ld/23937, powerpc64le local ifunc IRELATIVE relocs are wrong.
++
++ -- Matthias Klose <doko@debian.org>  Fri, 30 Nov 2018 13:20:30 +0100
++
++binutils (2.31.1-9) unstable; urgency=medium
++
++  * Snapshot, taken from the 2.31 branch (20181127).
++    - Fix Pr ld/23904, regression in Cortex A53 erratum with PIE.
++      Closes: #911497.
++
++ -- Matthias Klose <doko@debian.org>  Tue, 27 Nov 2018 14:25:35 +0100
++
++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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 18 Jul 2018 11:58:00 +0200
++
++binutils (2.31-1) unstable; urgency=medium
++
++  * Binutils 2.31 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 16 May 2018 10:21:19 -0400
++
++binutils (2.30-19) unstable; urgency=medium
++
++  * Build-depend on procps.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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-<target>. Closes: #891377.
++  * Build binutils-for-host for TARGET (Helmut Grohne). Closes: #891863.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Mon, 05 Feb 2018 16:22:40 +0100
++
++binutils (2.30-1) unstable; urgency=medium
++
++  * Binutils 2.30 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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-<native triplet> packages.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 20 Sep 2017 10:11:56 +0200
++
++binutils (2.29-13) unstable; urgency=medium
++
++  * Build again all cross packages.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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/<multiarch>/ldscripts and move
++    ldscripts into the binutils-<triplet> packages.
++  * Install the unprefixed manual packages into binutils-common and
++    derive the timestamps from the debian/changelog entry.
++  * binutils-<triplet>: Remove dependency on binutils.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 30 Aug 2017 08:03:09 +0200
++
++binutils (2.29-7) unstable; urgency=high
++
++  * Fix binutils dependency on binutils-<triplet> on non amd64 architectures.
++
++ -- Matthias Klose <doko@debian.org>  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-<triplet> 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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Mon, 31 Jul 2017 09:17:30 +0200
++
++binutils (2.29-1) unstable; urgency=medium
++
++  * binutils 2.29 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Fri, 12 Aug 2016 09:27:17 +0200
++
++binutils (2.27-4) unstable; urgency=medium
++
++  * Fix gold on mipsr6 targets (Aurelian Jarno).
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Sun, 07 Aug 2016 13:38:27 +0200
++
++binutils (2.26.1-1) unstable; urgency=medium
++
++  * binutils 2.26.1 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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/<gnu-triplet>/lib*.
++  * Run the testsuite for all cross targets.
++  * Configure with --disable-compressed-debug-sections.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Tue, 15 Sep 2015 01:54:21 +0200
++
++binutils (2.25.1-1) unstable; urgency=medium
++
++  * Binutils 2.25.1 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Mon, 18 Aug 2014 13:49:01 +0200
++
++binutils (2.24.51.20140814-2) unstable; urgency=medium
++
++  * Still provide i486-* symlinks.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Fri, 27 Sep 2013 14:05:44 +0200
++
++binutils (2.23.52.20130828-1) unstable; urgency=low
++
++  * New upstream snapshot.
++
++ -- Matthias Klose <doko@debian.org>  Wed, 28 Aug 2013 15:22:51 +0200
++
++binutils (2.23.52.20130727-1) unstable; urgency=low
++
++  * New upstream snapshot.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 12 Jun 2013 11:35:05 +0200
++
++binutils (2.23.52.20130522-1) experimental; urgency=low
++
++  * New upstream snapshot.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  Tue, 16 Apr 2013 02:21:44 +0200
++
++binutils (2.23.2-1) experimental; urgency=low
++
++  * binutils 2.23.2 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 21 Nov 2012 13:47:06 +0100
++
++binutils (2.23.1-1~exp1) experimental; urgency=low
++
++  * binutils 2.23.1 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Thu, 13 Sep 2012 20:35:08 +0200
++
++binutils (2.22.90.20120907-2) experimental; urgency=low
++
++  * Fix build failure on kfreebsd.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Tue, 31 Jul 2012 22:20:22 +0200
++
++binutils (2.22.52.20120704-1) experimental; urgency=low
++
++  * New upstream snapshot.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <sthibault@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Sun, 11 Dec 2011 16:30:14 +0000
++
++binutils (2.22-1) unstable; urgency=low
++
++  * Binutils 2.22 release.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@ubuntu.com>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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-<random-string> 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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 27 Apr 2011 18:14:39 +0200
++
++binutils (2.21.51.20110419-2) unstable; urgency=low
++
++  * Fix powerpcspe and sparc builds.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 02 Mar 2011 02:41:17 +0100
++
++binutils (2.21.0.20110216-2) unstable; urgency=low
++
++  * Upload to unstable.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@ubuntu.com>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Sun, 21 Nov 2010 14:03:14 +0100
++
++binutils (2.20.90.20101105-2) experimental; urgency=low
++
++  * binutils 2.21 prerelease 1.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Wed, 28 Apr 2010 10:07:28 +0200
++
++binutils (2.20.51.20100418-2) experimental; urgency=low
++
++  * Add upper dependency 
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@ubuntu.com>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@ubuntu.com>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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=<n> 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 <doko@debian.org>  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=<n> in DEB_BUILD_OPTIONS (see #209008).
++  * debian/*.shlibs: Update to snapshot version.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <james@nocrew.org>  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 <doko@debian.org>  Mon, 14 May 2007 10:51:40 +0200
++
++binutils (2.17cvs20070426-5) unstable; urgency=low
++
++  * Fix PR ld/4454.
++
++ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Mon, 30 Apr 2007 07:47:09 +0200
++
++binutils (2.17cvs20070426-2) unstable; urgency=low
++
++  * Fix typo preparing the binutils-hppa64 package.
++
++ -- Matthias Klose <doko@debian.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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
++    <aurelien@aurel32.net> 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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <gniibe@fsij.org> 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
++    <mbanck@debian.org>.  Closes: #315290
++
++  * Integrate most of a patch to build arbitrary binutils-$TARGET
++    cross-packages from #231707.  Thanks to Nikita V. Youshchenko
++    <yoush@cs.msu.su> and Josh Triplett <josh@freedesktop.org>.
++
++  * 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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <ths@networkno.de>.
++    Closes: #318344
++
++ -- James Troup <james@nocrew.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@ubuntu.com>  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 <james@nocrew.org>  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 <martin.pitt@ubuntu.com>  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 <daniel.stone@canonical.com>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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 <james@nocrew.org>  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
++    <dan@debian.org>, objcopy --only-keep-debug and readelf SHT_NOBITS
++    fixes.
++
++ -- James Troup <james@nocrew.org>  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
++    <doko@cs.tu-berlin.de>.  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 <james@nocrew.org>  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
++    <hongjiu.lu@intel.com> to fix fmoveml disassembly and associated
++    testsuite regression on m68k.
++
++ -- James Troup <james@nocrew.org>  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
++    <amodra@bigpond.net.au> to fix ld segfault on powerpc.  Thanks to
++    Josselin Mouette <joss@debian.org> for the report.  Closes: #219187
++
++ -- James Troup <james@nocrew.org>  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
++    <dan@debian.org>.
++
++  * 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 <pb@debian.org> and Daniel
++    Jacobowitz <dan@debian.org> 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 <james@nocrew.org>  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
++    <hongjiu.lu@intel.com> to fix regressions on alpha caused by
++    103_static_linking_elf_eh_frame.  Thanks to Thimo Neubauer
++    <thimo@debian.org> for the original report.  Closes: #215636
++
++ -- James Troup <james@nocrew.org>  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
++    <hongjiu.lu@intel.com> 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 <agx@debian.org> to enable
++    mips64 support.  Closes: #213448
++
++ -- James Troup <james@nocrew.org>  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
++    <amodra@bigpond.net.au> 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
++    <pb@debian.org> 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
++    <amodra@bigpond.net.au> to fix an as regression where it refused to
++    compile utils.S from Linux/PPC 2.6.  Closes: #211668
++
++ -- James Troup <james@nocrew.org>  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
++    <dan@debian.org> 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 <james@nocrew.org>  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 <pb@debian.org> - this is obsolete, it was working around a
++    bug in ld since fixed by Daniel Jacobowitz <dan@debian.org> 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 <james@nocrew.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <speedblue@debian.org>  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) <jdassen@debian.org>  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
++    <speedblue@debian.org> 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) <jdassen@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <lamont@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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<symbol> (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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  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 <smith@amirix.com> 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 <chris@debian.org>  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 <chris@debian.org>  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 <chris@debian.org>  Thu, 24 Aug 2000 16:52:44 -0400
++
++binutils (2.10.0.18-3) unstable; urgency=low
++
++  * Added build depends stuff.
++
++ -- Christopher C. Chimelis <chris@debian.org>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <dan@debian.org>  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 <dan@debian.org>  Sun, 6 Jun 1999 01:27:10 -0400
++
++binutils (2.9.4.0.1-0.1) unstable; urgency=low
++
++  * New upstream version.
++
++ -- Daniel Jacobowitz <dan@debian.org>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <Roman.Hodek@informatik.uni-erlangen.de>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  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 <chris@classnet.med.miami.edu>  Mon,  5 Oct 1998 23:02:08 -0500
++
++binutils (2.9.1-0.2) frozen unstable; urgency=low
++
++  * Fixed binutils-dev dependencies.
++
++ -- Joel Klecker <jk@espy.org>  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 <jk@espy.org>  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 <jk@espy.org>  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 <jk@espy.org>  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 <jk@espy.org>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <galenh@micron.net>  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 <meskes@debian.org> 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 --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2c14b3f4b92cc9e3808f709a5cae616c58c752e6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1048 @@@
++Source: binutils
++Section: devel
++Priority: optional
++Maintainer: Matthias Klose <doko@debian.org>
++Uploaders: James Troup <binutils@elmo.tasta.io>
++Standards-Version: 4.3.0
++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] <!nocheck>,
++  g++-arm-linux-gnueabi [amd64 arm64 i386 x32] <!nocheck>,
++  g++-arm-linux-gnueabihf [amd64 arm64 i386 x32] <!nocheck>,
++  g++-mips-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-mips64el-linux-gnuabi64 [amd64 i386 x32] <!nocheck>,
++  g++-mipsel-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-powerpc64le-linux-gnu [amd64 i386 ppc64 x32] <!nocheck>,
++  g++-s390x-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-alpha-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-hppa-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-m68k-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-powerpc-linux-gnu [amd64 i386 ppc64el x32] <!nocheck>,
++  g++-powerpc64-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-riscv64-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-sh4-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-sparc64-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-i686-linux-gnu [amd64 arm64 ppc64el x32] <!nocheck>,
++  g++-x86-64-linux-gnu [arm64 i386 ppc64el x32] <!nocheck>,
++  g++-x86-64-linux-gnux32 [amd64 arm64 i386 ppc64el] <!nocheck>,
++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-Git: https://salsa.debian.org/toolchain-team/binutils.git
++XS-Testsuite: autopkgtest
++
++Package: binutils-for-host
++Architecture: any
++Depends: ${binutils:native}:any (>= ${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}:any (= ${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: allowed
++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: allowed
++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: allowed
++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: allowed
++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: allowed
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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: allowed
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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
++Multi-Arch: allowed
++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
++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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..20142c751714965b7974e7064d469e4c44999470
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,27 @@@
++
++Package: binutils-@target@
++Priority: optional
++Architecture: @host_archs@
++Multi-Arch: allowed
++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@.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8f7526fc5135820d4b94716061a81eb54135387b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,190 @@@
++Source: binutils
++Section: devel
++Priority: optional
++Maintainer: Matthias Klose <doko@debian.org>
++Uploaders: James Troup <binutils@elmo.tasta.io>
++Standards-Version: 4.3.0
++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] <!nocheck>,
++  g++-arm-linux-gnueabi [amd64 arm64 i386 x32] <!nocheck>,
++  g++-arm-linux-gnueabihf [amd64 arm64 i386 x32] <!nocheck>,
++  g++-mips-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-mips64el-linux-gnuabi64 [amd64 i386 x32] <!nocheck>,
++  g++-mipsel-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-powerpc64le-linux-gnu [amd64 i386 ppc64 x32] <!nocheck>,
++  g++-s390x-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-alpha-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-hppa-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-m68k-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-powerpc-linux-gnu [amd64 i386 ppc64el x32] <!nocheck>,
++  g++-powerpc64-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-riscv64-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-sh4-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-sparc64-linux-gnu [amd64 i386 x32] <!nocheck>,
++  g++-i686-linux-gnu [amd64 arm64 ppc64el x32] <!nocheck>,
++  g++-x86-64-linux-gnu [arm64 i386 ppc64el x32] <!nocheck>,
++  g++-x86-64-linux-gnux32 [amd64 arm64 i386 ppc64el] <!nocheck>,
++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-Git: https://salsa.debian.org/toolchain-team/binutils.git
++XS-Testsuite: autopkgtest
++
++Package: binutils-for-host
++Architecture: any
++Depends: ${binutils:native}:any (>= ${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}:any (= ${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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50efc00ae0832fb34850008bd6334d5d9b610f5d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <james@nocrew.org>,
++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 <chris@debian.org>
++
++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 --cc debian/dwp.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b5d45388bde80b18b88b59db1b2924f0863d243
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
++.TH DWP "1" "February 2019" "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 <http://www.sourceware.org/bugzilla/>
++.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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..695e4ae7280070e2db57c741101e4bff057e5e6b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..de1783ec0a68c9a63ab60ae99a61ebdbca2cf2cd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,869 @@@
++.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
++.TH GOLD "1" "February 2019" "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\-drop\-version\fR
++Warn when discarding version information
++.TP
++\fB\-\-no\-warn\-drop\-version\fR
++Do not warn when discarding version information (default)
++.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 <http://www.sourceware.org/bugzilla/>
++.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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..67e71e719f367e1a9d44065deabd43f0a789582f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6964e2919f91344f946cb8b2eb8615b86c4de920
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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@)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b1685cad37334e8b8c75061f2e34f020ab04b13f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++Author: 
++Description: Description: correct where ld scripts are installed
++Author: Chris Chimelis <chris@debian.org>
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a97f4db9e42bbe8cc98a8f2ad394ec8d74422d6f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++Author: Chris Chimelis <chris@debian.org>
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..38f91561b4272c65e066a0bfef65012d716eb736
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Author: Chris Chimelis <chris@debian.org>
++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;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2c4e0015d20cbd47c7695f584cc38b51802d54eb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++Author: David Kimdon <dwhedon@gordian.com>
++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)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b4e3b6cbf841a44120d5c67f95c1b8d17d40a1be
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++Author: Chris Chimelis <chris@debian.org>
++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 <<EOF
++            && command_line.rpath == NULL)
++          {
++            path = (const char *) getenv ("LD_RUN_PATH");
+++           if ((path) && (strlen (path) == 0))
+++             path = NULL;
++            if (path
++                && gld${EMULATION_NAME}_search_needed (path, &n, force))
++              break;
++@@ -1751,6 +1753,8 @@ gld${EMULATION_NAME}_before_allocation (
++   rpath = command_line.rpath;
++   if (rpath == NULL)
++     rpath = (const char *) getenv ("LD_RUN_PATH");
+++  if ((rpath) && (strlen (rpath) == 0))
+++      rpath = NULL;
++ 
++   for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
++     if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ed642cfee342f45f3894f284c0eb4909c52d6d8a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Author: Matthias Klose <doko@ubuntu.com>
++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
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..61c3e6132dc6d6c5511a6697454ee39da409f916
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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"});
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b43b718e965c7b400059e99470bbd98bd3c2c965
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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"});
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b75ac82716e676c84c67f036b3ccf18724c74834
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++Author: 
++Description: Description: Add (/usr)/lib32 to the search paths on x86_64.
++Author: Aurelien Jarno <aurel32.debian.org>
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cba02de07f2e55f615553a0ba74aa9b1fa334820
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a72fb513f9d6c6790b53d7c10025d29db35a68ec
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f8858663c06d3ee80fadccf84646eac419e34cde
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e22d0dae0853986d5dbcf274c1a1b28deccd8b2a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dda9c2c7b336eb0653a0b54d1bf63a558a141230
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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"} {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..81dbb02a10c39956824ea0fcf4afa1d81908c4d2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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," \
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7c66fbaf7d08b74376c678d511d5c85cf9e23c41
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++Author: Balint Reczey <balint@balintreczey.hu>
++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@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b1cb8b77332bf18f991b065b34443cd4577b0303
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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;
++              }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..27c07a636e7f6a2a76003419ee5b8b5e5b1612ed
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..73d0c8e082f9ea8d3d70fa1c58dcd6e50a6cd608
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++# DP: let gold accept a dummy -z buildd-<random-string> 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);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f0a75663bdb1a532f44ec93b17216f8023756df6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ef43bf7861d44ed2cded3a113ad15688c240fca7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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\"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9eba2f07f4a39b98006521d81daf91413a2fb6fe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <http://www.gnu.org/licenses/>.
++ 
++ # Controls whether to enable development-mode features by default.
++-development=true
+++development=false
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9eba2f07f4a39b98006521d81daf91413a2fb6fe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <http://www.gnu.org/licenses/>.
++ 
++ # Controls whether to enable development-mode features by default.
++-development=true
+++development=false
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..32a55dcc7c2bc3931661c5187b23ec6585a7b1be
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5698 @@@
++# DP: updates from the binutils-2.31 branch
++
++# git diff 0860693812fff944ab0602e72b762a4a2078da5b dba17838ab20a814e6c8ba51afe6962d1c400227
++
++diff --git a/bfd/ChangeLog b/bfd/ChangeLog
++index 5ec906aa8e..eb32e2dd67 100644
++--- a/bfd/ChangeLog
+++++ b/bfd/ChangeLog
++@@ -1,8 +1,235 @@
+++2019-03-18  Alan Modra  <amodra@gmail.com>
+++
+++     PR 24355
+++     * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
+++     for local iplt syms with ent->plt.offset == -1.  Remove ineffective
+++     attempt at writing glink stubs only once.
+++
+++2019-02-18  Nick Clifton  <nickc@redhat.com>
+++
+++     Import from the mainline:
+++     2018-11-27  Mark Wielaard  <mark@klomp.org>
+++
+++     PR binutils/23919
+++     * bfd.c (bfd_update_compression_header): Explicitly set alignment.
+++     (bfd_check_compression_header): Add uncompressed_alignment_power
+++     argument. Check ch_addralign is a power of 2.
+++     * bfd-in2.h: Regenerated.
+++     * compress.c (bfd_compress_section_contents): Get and set
+++     orig_uncompressed_alignment_pow if section is decompressed.
+++     (bfd_is_section_compressed_with_header): Add and get
+++     uncompressed_align_pow_p argument.
+++     (bfd_is_section_compressed): Add uncompressed_align_power argument
+++     to bfd_is_section_compressed_with_header call.
+++     (bfd_init_section_decompress_status): Get and set
+++     uncompressed_alignment_power.
+++     * elf.c (_bfd_elf_make_section_from_shdr): Add
+++     uncompressed_align_power argument to
+++     bfd_is_section_compressed_with_header call.
+++
+++     2018-11-27  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR binutils/23919
+++     * compress.c (bfd_is_section_compressed_with_header): Initialize
+++     * uncompressed_align_pow_p to 0.
+++
+++2019-02-10  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR ld/24151
+++     * elf64-x86-64.c (elf_x86_64_need_pic): Check
+++     SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
+++     (elf_x86_64_relocate_section): Move PIC check for PC-relative
+++     relocations to ...
+++     (elf_x86_64_check_relocs): Here.
+++     (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
+++     to check if a symbol is defined in a non-shared object.
+++     * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
+++
+++2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
+++
+++     PR ld/18841
+++     * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
+++     reloc_class_ifunc for ifunc symbols.
+++     * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
+++
+++2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
+++
+++     * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
+++     <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
+++
+++2018-12-12  Alan Modra  <amodra@gmail.com>
+++
+++     Apply from master
+++     2018-10-20  Alan Modra  <amodra@gmail.com>
+++     PR 23788
+++     * elf.c (section_match): Don't require a size match for SHT_SYMTAB
+++     or SHT_STRTAB.
+++
+++2018-12-01  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR ld/23929
+++     * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Don't
+++     merge .note.gnu.property section in IR inputs.
+++
+++2018-11-30  Alan Modra  <amodra@gmail.com>
+++
+++     PR 23937
+++     * elf64-ppc.c (write_plt_relocs_for_local_syms): Don't add local
+++     entry offset for ifuncs.
+++
+++2018-11-27  Tamar Christina  <tamar.christina@arm.com>
+++
+++     Backport from mainline
+++     PR ld/23904
+++     * elfnn-aarch64.c (_bfd_aarch64_adrp_p): Use existing constants.
+++     (_bfd_aarch64_erratum_843419_branch_to_stub): Use _bfd_aarch64_adrp_p.
+++     (struct erratum_835769_branch_to_stub_clear_data): New.
+++     (_bfd_aarch64_erratum_843419_clear_stub): New.
+++     (clear_erratum_843419_entry): New.
+++     (elfNN_aarch64_tls_relax): Use it.
+++     (elfNN_aarch64_relocate_section): Pass input_section.
+++     (aarch64_map_one_stub): Handle branch type none as valid.
+++
+++2018-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-11-09  Cupertino Miranda  <cmiranda@synopsys.com>
+++     * 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  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-11-09  Claudiu Zissulescu  <claziss@synopsys.com>
+++     * 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  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-09-06  Cupertino Miranda <cmiranda@synopsys.com>
+++     * 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  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-08-01  Cupertino Miranda <cmiranda@synopsys.com>
+++     * 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  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-03-02  Cupertino Miranda <cmiranda@synopsys.com>
+++     * elf32-arc.c (elf_arc_check_relocs): Changed.
+++
+++2018-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-03-02  Cupertino Miranda <cmiranda@synopsys.com>
+++     * elf32-arc.c (elf_arc_check_relocs): Changed.
+++
+++2018-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-03-02  Cupertino Miranda <cmiranda@synopsys.com>
+++     * elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case
+++     arc_htab is NULL.
+++
+++2018-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-03-02  Cupertino Miranda  <cmiranda@synopsys.com>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  <hongjiu.lu@intel.com>
+++
+++     PR ld/23818
+++     * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols
+++     defined in discarded input sections.
+++
+++2018-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR ld/23499
+++     * elf.c (_bfd_elf_get_symbol_version_string): Return
+++     _("<corrupt>") for corrupt symbol version info.
+++
+++2018-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     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  <hongjiu.lu@intel.com>
+++
+++     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  <hongjiu.lu@intel.com>
+++
+++     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  <amodra@gmail.com>
+++
+++     * 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  <amodra@gmail.com>
+++
+++     * 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  <hongjiu.lu@intel.com>
+++
+++     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  <nickc@redhat.com>
+++
+++     * development.sh: Set to true.
+++
++ 2018-07-18  Nick Clifton  <nickc@redhat.com>
++ 
++      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/bfd-in2.h b/bfd/bfd-in2.h
++index f53dbb5e8c..d0c2190d0b 100644
++--- a/bfd/bfd-in2.h
+++++ b/bfd/bfd-in2.h
++@@ -7279,7 +7279,8 @@ void bfd_update_compression_header
++ 
++ bfd_boolean bfd_check_compression_header
++    (bfd *abfd, bfd_byte *contents, asection *sec,
++-    bfd_size_type *uncompressed_size);
+++    bfd_size_type *uncompressed_size,
+++    unsigned int *uncompressed_alignment_power);
++ 
++ int bfd_get_compression_header_size (bfd *abfd, asection *sec);
++ 
++@@ -7855,7 +7856,8 @@ void bfd_cache_section_contents
++ bfd_boolean bfd_is_section_compressed_with_header
++    (bfd *abfd, asection *section,
++     int *compression_header_size_p,
++-    bfd_size_type *uncompressed_size_p);
+++    bfd_size_type *uncompressed_size_p,
+++    unsigned int *uncompressed_alignment_power_p);
++ 
++ bfd_boolean bfd_is_section_compressed
++    (bfd *abfd, asection *section);
++diff --git a/bfd/bfd.c b/bfd/bfd.c
++index 851710401e..b859d65e0e 100644
++--- a/bfd/bfd.c
+++++ b/bfd/bfd.c
++@@ -2332,6 +2332,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
++                bfd_put_32 (abfd, sec->size, &echdr->ch_size);
++                bfd_put_32 (abfd, 1 << sec->alignment_power,
++                            &echdr->ch_addralign);
+++               /* bfd_log2 (alignof (Elf32_Chdr)).  */
+++               bfd_set_section_alignment (abfd, sec, 2);
++              }
++            else
++              {
++@@ -2342,6 +2344,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
++                bfd_put_64 (abfd, sec->size, &echdr->ch_size);
++                bfd_put_64 (abfd, 1 << sec->alignment_power,
++                            &echdr->ch_addralign);
+++               /* bfd_log2 (alignof (Elf64_Chdr)).  */
+++               bfd_set_section_alignment (abfd, sec, 3);
++              }
++          }
++        else
++@@ -2354,6 +2358,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
++               order.  */
++            memcpy (contents, "ZLIB", 4);
++            bfd_putb64 (sec->size, contents + 4);
+++           /* No way to keep the original alignment, just use 1 always.  */
+++           bfd_set_section_alignment (abfd, sec, 0);
++          }
++      }
++     }
++@@ -2368,12 +2374,15 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
++    SYNOPSIS
++      bfd_boolean bfd_check_compression_header
++        (bfd *abfd, bfd_byte *contents, asection *sec,
++-       bfd_size_type *uncompressed_size);
+++          bfd_size_type *uncompressed_size,
+++          unsigned int *uncompressed_alignment_power);
+++
++ 
++ DESCRIPTION
++      Check the compression header at CONTENTS of SEC in ABFD and
++-     store the uncompressed size in UNCOMPRESSED_SIZE if the
++-     compression header is valid.
+++        store the uncompressed size in UNCOMPRESSED_SIZE and the
+++        uncompressed data alignment in UNCOMPRESSED_ALIGNMENT_POWER
+++        if the compression header is valid.
++ 
++ RETURNS
++      Return TRUE if the compression header is valid.
++@@ -2382,7 +2391,8 @@ RETURNS
++ bfd_boolean
++ bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
++                            asection *sec,
++-                           bfd_size_type *uncompressed_size)
+++                           bfd_size_type *uncompressed_size,
+++                           unsigned int *uncompressed_alignment_power)
++ {
++   if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
++       && (elf_section_flags (sec) & SHF_COMPRESSED) != 0)
++@@ -2404,9 +2414,10 @@ bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
++        chdr.ch_addralign = bfd_get_64 (abfd, &echdr->ch_addralign);
++      }
++       if (chdr.ch_type == ELFCOMPRESS_ZLIB
++-       && chdr.ch_addralign == 1U << sec->alignment_power)
+++       && chdr.ch_addralign == (1U << bfd_log2 (chdr.ch_addralign)))
++      {
++        *uncompressed_size = chdr.ch_size;
+++       *uncompressed_alignment_power = bfd_log2 (chdr.ch_addralign);
++        return TRUE;
++      }
++     }
++diff --git a/bfd/compress.c b/bfd/compress.c
++index 53e566e498..38803eb057 100644
++--- a/bfd/compress.c
+++++ b/bfd/compress.c
++@@ -84,11 +84,13 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
++   int zlib_size = 0;
++   int orig_compression_header_size;
++   bfd_size_type orig_uncompressed_size;
+++  unsigned int orig_uncompressed_alignment_pow;
++   int header_size = bfd_get_compression_header_size (abfd, NULL);
++   bfd_boolean compressed
++     = bfd_is_section_compressed_with_header (abfd, sec,
++                                           &orig_compression_header_size,
++-                                          &orig_uncompressed_size);
+++                                          &orig_uncompressed_size,
+++                                          &orig_uncompressed_alignment_pow);
++ 
++   /* Either ELF compression header or the 12-byte, "ZLIB" + 8-byte size,
++      overhead in .zdebug* section.  */
++@@ -153,6 +155,8 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
++            return 0;
++          }
++        free (uncompressed_buffer);
+++       bfd_set_section_alignment (abfd, sec,
+++                                  orig_uncompressed_alignment_pow);
++        sec->contents = buffer;
++        sec->compress_status = COMPRESS_SECTION_DONE;
++        return orig_uncompressed_size;
++@@ -364,20 +368,25 @@ SYNOPSIS
++      bfd_boolean bfd_is_section_compressed_with_header
++        (bfd *abfd, asection *section,
++        int *compression_header_size_p,
++-       bfd_size_type *uncompressed_size_p);
+++       bfd_size_type *uncompressed_size_p,
+++       unsigned int *uncompressed_alignment_power_p);
+++
++ 
++ DESCRIPTION
++      Return @code{TRUE} if @var{section} is compressed.  Compression
++-     header size is returned in @var{compression_header_size_p} and
++-     uncompressed size is returned in @var{uncompressed_size_p}.  If
++-     compression is unsupported, compression header size is returned
++-     with -1 and uncompressed size is returned with 0.
+++     header size is returned in @var{compression_header_size_p},
+++        uncompressed size is returned in @var{uncompressed_size_p}
+++        and the uncompressed data alignement power is returned in
+++        @var{uncompressed_align_pow_p}.  If compression is
+++        unsupported, compression header size is returned with -1
+++        and uncompressed size is returned with 0.
++ */
++ 
++ bfd_boolean
++ bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
++                                     int *compression_header_size_p,
++-                                    bfd_size_type *uncompressed_size_p)
+++                                    bfd_size_type *uncompressed_size_p,
+++                                    unsigned int *uncompressed_align_pow_p)
++ {
++   bfd_byte header[MAX_COMPRESSION_HEADER_SIZE];
++   int compression_header_size;
++@@ -385,6 +394,8 @@ bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
++   unsigned int saved = sec->compress_status;
++   bfd_boolean compressed;
++ 
+++  *uncompressed_align_pow_p = 0;
+++
++   compression_header_size = bfd_get_compression_header_size (abfd, sec);
++   if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE)
++     abort ();
++@@ -412,7 +423,8 @@ bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
++       if (compression_header_size != 0)
++      {
++        if (!bfd_check_compression_header (abfd, header, sec,
++-                                          uncompressed_size_p))
+++                                          uncompressed_size_p,
+++                                          uncompressed_align_pow_p))
++          compression_header_size = -1;
++      }
++       /* Check for the pathalogical case of a debug string section that
++@@ -449,9 +461,11 @@ bfd_is_section_compressed (bfd *abfd, sec_ptr sec)
++ {
++   int compression_header_size;
++   bfd_size_type uncompressed_size;
+++  unsigned int uncompressed_align_power;
++   return (bfd_is_section_compressed_with_header (abfd, sec,
++                                               &compression_header_size,
++-                                              &uncompressed_size)
+++                                              &uncompressed_size,
+++                                              &uncompressed_align_power)
++        && compression_header_size >= 0
++        && uncompressed_size > 0);
++ }
++@@ -480,6 +494,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
++   int compression_header_size;
++   int header_size;
++   bfd_size_type uncompressed_size;
+++  unsigned int uncompressed_alignment_power = 0;
++ 
++   compression_header_size = bfd_get_compression_header_size (abfd, sec);
++   if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE)
++@@ -508,7 +523,8 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
++       uncompressed_size = bfd_getb64 (header + 4);
++     }
++   else if (!bfd_check_compression_header (abfd, header, sec,
++-                                      &uncompressed_size))
+++                                       &uncompressed_size,
+++                                       &uncompressed_alignment_power))
++     {
++       bfd_set_error (bfd_error_wrong_format);
++       return FALSE;
++@@ -516,6 +532,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
++ 
++   sec->compressed_size = sec->size;
++   sec->size = uncompressed_size;
+++  bfd_set_section_alignment (abfd, sec, uncompressed_alignment_power);
++   sec->compress_status = DECOMPRESS_SECTION_SIZED;
++ 
++   return TRUE;
++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 <http://www.gnu.org/licenses/>.
++ 
++ # Controls whether to enable development-mode features by default.
++-development=false
+++development=true
++diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
++index 50c0e9d703..944e1744a8 100644
++--- a/bfd/elf-properties.c
+++++ b/bfd/elf-properties.c
++@@ -350,7 +350,8 @@ _bfd_elf_link_setup_gnu_properties (struct bfd_link_info *info)
++ 
++   /* Merge .note.gnu.property sections.  */
++   for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
++-    if (abfd != first_pbfd && (abfd->flags & DYNAMIC) == 0)
+++    if (abfd != first_pbfd
+++     && (abfd->flags & (DYNAMIC | BFD_PLUGIN)) == 0)
++       {
++      elf_property_list *null_ptr = NULL;
++      elf_property_list **listp = &null_ptr;
++diff --git a/bfd/elf.c b/bfd/elf.c
++index 0f75375128..dfeedf91c7 100644
++--- a/bfd/elf.c
+++++ b/bfd/elf.c
++@@ -1177,10 +1177,12 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
++       enum { nothing, compress, decompress } action = nothing;
++       int compression_header_size;
++       bfd_size_type uncompressed_size;
+++      unsigned int uncompressed_align_power;
++       bfd_boolean compressed
++      = bfd_is_section_compressed_with_header (abfd, newsect,
++                                               &compression_header_size,
++-                                              &uncompressed_size);
+++                                              &uncompressed_size,
+++                                              &uncompressed_align_power);
++ 
++       if (compressed)
++      {
++@@ -1299,15 +1301,15 @@ static bfd_boolean
++ section_match (const Elf_Internal_Shdr * a,
++             const Elf_Internal_Shdr * b)
++ {
++-  return
++-    a->sh_type              == b->sh_type
++-    && (a->sh_flags & ~ SHF_INFO_LINK)
++-    == (b->sh_flags & ~ SHF_INFO_LINK)
++-    && a->sh_addralign == b->sh_addralign
++-    && a->sh_size      == b->sh_size
++-    && a->sh_entsize   == b->sh_entsize
++-    /* FIXME: Check sh_addr ?  */
++-    ;
+++  if (a->sh_type != b->sh_type
+++      || ((a->sh_flags ^ b->sh_flags) & ~SHF_INFO_LINK) != 0
+++      || a->sh_addralign != b->sh_addralign
+++      || a->sh_entsize != b->sh_entsize)
+++    return FALSE;
+++  if (a->sh_type == SHT_SYMTAB
+++      || a->sh_type == SHT_STRTAB)
+++    return TRUE;
+++  return a->sh_size == b->sh_size;
++ }
++ 
++ /* Find a section in OBFD that has the same characteristics
++@@ -1877,7 +1879,7 @@ _bfd_elf_get_symbol_version_string (bfd *abfd, asymbol *symbol,
++      {
++        Elf_Internal_Verneed *t;
++ 
++-       version_string = "";
+++       version_string = _("<corrupt>");
++        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/elf32-ppc.c b/bfd/elf32-ppc.c
++index 5e9251bdb9..f4a329a132 100644
++--- a/bfd/elf32-ppc.c
+++++ b/bfd/elf32-ppc.c
++@@ -10828,6 +10828,7 @@ ppc_finish_symbols (struct bfd_link_info *info)
++              bfd_byte *loc;
++              bfd_vma val;
++              Elf_Internal_Rela rela;
+++             unsigned char *p;
++ 
++              if (!get_sym_h (NULL, &sym, &sym_sec, NULL, &local_syms,
++                              lplt - local_plt, ibfd))
++@@ -10872,14 +10873,9 @@ ppc_finish_symbols (struct bfd_link_info *info)
++              loc = relplt->contents + (relplt->reloc_count++
++                                        * sizeof (Elf32_External_Rela));
++              bfd_elf32_swap_reloca_out (info->output_bfd, &rela, loc);
++-           }
++-         if ((ent->glink_offset & 1) == 0)
++-           {
++-             unsigned char *p = ((unsigned char *) htab->glink->contents
++-                                 + ent->glink_offset);
++ 
+++             p = (unsigned char *) htab->glink->contents + ent->glink_offset;
++              write_glink_stub (NULL, ent, htab->elf.iplt, p, info);
++-             ent->glink_offset |= 1;
++            }
++        }
++ 
++diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c
++index 4378b6177c..80e807f862 100644
++--- a/bfd/elf32-sparc.c
+++++ b/bfd/elf32-sparc.c
++@@ -157,13 +157,44 @@ elf32_sparc_final_write_processing (bfd *abfd,
++     }
++ }
++ 
+++/* Used to decide how to sort relocs in an optimal manner for the
+++   dynamic linker, before writing them out.  */
+++
++ static enum elf_reloc_type_class
++-elf32_sparc_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
+++elf32_sparc_reloc_type_class (const struct bfd_link_info *info,
++                            const asection *rel_sec ATTRIBUTE_UNUSED,
++                            const Elf_Internal_Rela *rela)
++ {
+++  bfd *abfd = info->output_bfd;
+++  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+++  struct _bfd_sparc_elf_link_hash_table *htab
+++    = _bfd_sparc_elf_hash_table (info);
+++  BFD_ASSERT (htab != NULL);
+++
+++  if (htab->elf.dynsym != NULL
+++      && htab->elf.dynsym->contents != NULL)
+++    {
+++      /* Check relocation against STT_GNU_IFUNC symbol if there are
+++      dynamic symbols.  */
+++      unsigned long r_symndx = htab->r_symndx (rela->r_info);
+++      if (r_symndx != STN_UNDEF)
+++     {
+++       Elf_Internal_Sym sym;
+++       if (!bed->s->swap_symbol_in (abfd,
+++                                    (htab->elf.dynsym->contents
+++                                     + r_symndx * bed->s->sizeof_sym),
+++                                    0, &sym))
+++         abort ();
+++
+++       if (ELF_ST_TYPE (sym.st_info) == STT_GNU_IFUNC)
+++         return reloc_class_ifunc;
+++     }
+++    }
+++
++   switch ((int) ELF32_R_TYPE (rela->r_info))
++     {
+++    case R_SPARC_IRELATIVE:
+++      return reloc_class_ifunc;
++     case R_SPARC_RELATIVE:
++       return reloc_class_relative;
++     case R_SPARC_JMP_SLOT:
++diff --git a/bfd/elf32-visium.c b/bfd/elf32-visium.c
++index e8f1c4c9e4..2846140e4c 100644
++--- a/bfd/elf32-visium.c
+++++ b/bfd/elf32-visium.c
++@@ -312,7 +312,6 @@ visium_elf_howto_parity_reloc (bfd * input_bfd, arelent *reloc_entry,
++   bfd_vma relocation;
++   bfd_byte *inplace_address;
++   bfd_vma insn;
++-  const bfd_vma signmask = 0xffff8000;
++ 
++   /* This part is from bfd_elf_generic_reloc.
++      If we're relocating, and this an external symbol, we don't want
++@@ -351,19 +350,19 @@ visium_elf_howto_parity_reloc (bfd * input_bfd, arelent *reloc_entry,
++ 
++   if (reloc_entry->howto->pc_relative)
++     {
++-      relocation -= input_section->output_section->vma
++-     + input_section->output_offset;
+++      relocation -= input_section->output_section->vma;
+++      relocation -= input_section->output_offset;
++       relocation -= reloc_entry->address;
++     }
++ 
++   switch (reloc_entry->howto->type)
++     {
++     case R_VISIUM_PC16:
++-      relocation >>= 2;
++-      if (ret == bfd_reloc_ok && (relocation & signmask) != 0
++-       && (relocation & signmask) != signmask)
+++      if (ret == bfd_reloc_ok
+++       && ((bfd_signed_vma) relocation < -0x20000
+++           || (bfd_signed_vma) relocation > 0x1ffff))
++      ret = bfd_reloc_overflow;
++-      relocation &= 0xffff;
+++      relocation = (relocation >> 2) & 0xffff;
++       break;
++     case R_VISIUM_HI16:
++     case R_VISIUM_HI16_PCREL:
++diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
++index 45d81777eb..746506ef09 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)
++          {
++@@ -13530,7 +13530,8 @@ write_plt_relocs_for_local_syms (struct bfd_link_info *info)
++              }
++ 
++            val = sym->st_value + ent->addend;
++-           val += PPC64_LOCAL_ENTRY_OFFSET (sym->st_other);
+++           if (ELF_ST_TYPE (sym->st_info) != STT_GNU_IFUNC)
+++             val += PPC64_LOCAL_ENTRY_OFFSET (sym->st_other);
++            if (sym_sec != NULL && sym_sec->output_section != NULL)
++              val += sym_sec->output_offset + sym_sec->output_section->vma;
++ 
++@@ -14877,10 +14878,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/elf64-sparc.c b/bfd/elf64-sparc.c
++index 8c45d3257e..86004d1d87 100644
++--- a/bfd/elf64-sparc.c
+++++ b/bfd/elf64-sparc.c
++@@ -784,13 +784,44 @@ elf64_sparc_print_symbol_all (bfd *abfd ATTRIBUTE_UNUSED, void * filep,
++     return symbol->name;
++ }
++ \f
+++/* Used to decide how to sort relocs in an optimal manner for the
+++   dynamic linker, before writing them out.  */
+++
++ static enum elf_reloc_type_class
++-elf64_sparc_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
+++elf64_sparc_reloc_type_class (const struct bfd_link_info *info,
++                            const asection *rel_sec ATTRIBUTE_UNUSED,
++                            const Elf_Internal_Rela *rela)
++ {
+++  bfd *abfd = info->output_bfd;
+++  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+++  struct _bfd_sparc_elf_link_hash_table *htab
+++    = _bfd_sparc_elf_hash_table (info);
+++  BFD_ASSERT (htab != NULL);
+++
+++  if (htab->elf.dynsym != NULL
+++      && htab->elf.dynsym->contents != NULL)
+++    {
+++      /* Check relocation against STT_GNU_IFUNC symbol if there are
+++      dynamic symbols.  */
+++      unsigned long r_symndx = htab->r_symndx (rela->r_info);
+++      if (r_symndx != STN_UNDEF)
+++     {
+++       Elf_Internal_Sym sym;
+++       if (!bed->s->swap_symbol_in (abfd,
+++                                    (htab->elf.dynsym->contents
+++                                     + r_symndx * bed->s->sizeof_sym),
+++                                    0, &sym))
+++         abort ();
+++
+++       if (ELF_ST_TYPE (sym.st_info) == STT_GNU_IFUNC)
+++         return reloc_class_ifunc;
+++     }
+++    }
+++
++   switch ((int) ELF64_R_TYPE (rela->r_info))
++     {
+++    case R_SPARC_IRELATIVE:
+++      return reloc_class_ifunc;
++     case R_SPARC_RELATIVE:
++       return reloc_class_relative;
++     case R_SPARC_JMP_SLOT:
++diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
++index c3a6c31ed2..e265cf324e 100644
++--- a/bfd/elf64-x86-64.c
+++++ b/bfd/elf64-x86-64.c
++@@ -1426,7 +1426,7 @@ elf_x86_64_need_pic (struct bfd_link_info *info,
++        break;
++      }
++ 
++-      if (!h->def_regular && !h->def_dynamic)
+++      if (!SYMBOL_DEFINED_NON_SHARED_P (h) && !h->def_dynamic)
++      und = _("undefined ");
++     }
++   else
++@@ -1855,6 +1855,7 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
++       const char *name;
++       bfd_boolean size_reloc;
++       bfd_boolean converted_reloc;
+++      bfd_boolean do_check_pic;
++ 
++       r_symndx = htab->r_sym (rel->r_info);
++       r_type = ELF32_R_TYPE (rel->r_info);
++@@ -2130,6 +2131,13 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
++        size_reloc = TRUE;
++        goto do_size;
++ 
+++     case R_X86_64_PC8:
+++     case R_X86_64_PC16:
+++     case R_X86_64_PC32:
+++     case R_X86_64_PC32_BND:
+++       do_check_pic = TRUE;
+++       goto check_pic;
+++
++      case R_X86_64_32:
++        if (!ABI_64_P (abfd))
++          goto pointer;
++@@ -2153,13 +2161,11 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
++                                      &x86_64_elf_howto_table[r_type]);
++        /* Fall through.  */
++ 
++-     case R_X86_64_PC8:
++-     case R_X86_64_PC16:
++-     case R_X86_64_PC32:
++-     case R_X86_64_PC32_BND:
++      case R_X86_64_PC64:
++      case R_X86_64_64:
++ pointer:
+++       do_check_pic = FALSE;
+++check_pic:
++        if (eh != NULL && (sec->flags & SEC_CODE) != 0)
++          eh->zero_undefweak |= 0x2;
++        /* We are called after all symbols have been resolved.  Only
++@@ -2223,6 +2229,67 @@ pointer:
++              }
++          }
++ 
+++       if (do_check_pic)
+++         {
+++           /* Don't complain about -fPIC if the symbol is undefined
+++              when building executable unless it is unresolved weak
+++              symbol, references a dynamic definition in PIE or
+++              -z nocopyreloc is used.  */
+++           bfd_boolean no_copyreloc_p
+++             = (info->nocopyreloc
+++                || (h != NULL
+++                    && eh->def_protected
+++                    && elf_has_no_copy_on_protected (h->root.u.def.section->owner)));
+++           if ((sec->flags & SEC_ALLOC) != 0
+++               && (sec->flags & SEC_READONLY) != 0
+++               && h != NULL
+++               && ((bfd_link_executable (info)
+++                    && ((h->root.type == bfd_link_hash_undefweak
+++                         && (eh == NULL
+++                             || !UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
+++                                                                  eh)))
+++                        || (bfd_link_pie (info)
+++                            && !SYMBOL_DEFINED_NON_SHARED_P (h)
+++                            && h->def_dynamic)
+++                        || (no_copyreloc_p
+++                            && h->def_dynamic
+++                            && !(h->root.u.def.section->flags & SEC_CODE))))
+++                   || bfd_link_dll (info)))
+++             {
+++               bfd_boolean fail = FALSE;
+++               if (SYMBOL_REFERENCES_LOCAL_P (info, h))
+++                 {
+++                   /* Symbol is referenced locally.  Make sure it is
+++                      defined locally.  */
+++                   fail = !SYMBOL_DEFINED_NON_SHARED_P (h);
+++                 }
+++               else if (bfd_link_pie (info))
+++                 {
+++                   /* We can only use PC-relative relocations in PIE
+++                      from non-code sections.  */
+++                   if (h->type == STT_FUNC
+++                       && (sec->flags & SEC_CODE) != 0)
+++                     fail = TRUE;
+++                 }
+++               else if (no_copyreloc_p || bfd_link_dll (info))
+++                 {
+++                   /* Symbol doesn't need copy reloc and isn't
+++                      referenced locally.  Don't allow PC-relative
+++                      relocations against default and protected
+++                      symbols since address of protected function
+++                      and location of protected data may not be in
+++                      the shared object.   */
+++                   fail = (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+++                           || ELF_ST_VISIBILITY (h->other) == STV_PROTECTED);
+++                 }
+++
+++               if (fail)
+++                 return elf_x86_64_need_pic (info, abfd, sec, h,
+++                                             symtab_hdr, isym,
+++                                             &x86_64_elf_howto_table[r_type]);
+++             }
+++         }
+++
++        size_reloc = FALSE;
++ do_size:
++        if (NEED_DYNAMIC_RELOCATION_P (info, TRUE, h, sec, r_type,
++@@ -3066,56 +3133,14 @@ use_plt:
++      case R_X86_64_PC16:
++      case R_X86_64_PC32:
++      case R_X86_64_PC32_BND:
++-       /* Don't complain about -fPIC if the symbol is undefined when
++-          building executable unless it is unresolved weak symbol,
++-          references a dynamic definition in PIE or -z nocopyreloc
++-          is used.  */
++-       if ((input_section->flags & SEC_ALLOC) != 0
++-           && (input_section->flags & SEC_READONLY) != 0
++-           && h != NULL
++-           && ((bfd_link_executable (info)
++-                && ((h->root.type == bfd_link_hash_undefweak
++-                     && !resolved_to_zero)
++-                    || (bfd_link_pie (info)
++-                        && !h->def_regular
++-                        && h->def_dynamic)
++-                    || ((info->nocopyreloc
++-                         || (eh->def_protected
++-                             && elf_has_no_copy_on_protected (h->root.u.def.section->owner)))
++-                        && h->def_dynamic
++-                        && !(h->root.u.def.section->flags & SEC_CODE))))
++-               || bfd_link_dll (info)))
++-         {
++-           bfd_boolean fail = FALSE;
++-           if (SYMBOL_REFERENCES_LOCAL_P (info, h))
++-             {
++-               /* Symbol is referenced locally.  Make sure it is
++-                  defined locally.  */
++-               fail = !(h->def_regular || ELF_COMMON_DEF_P (h));
++-             }
++-           else if (!(bfd_link_pie (info)
++-                      && (h->needs_copy || eh->needs_copy)))
++-             {
++-               /* Symbol doesn't need copy reloc and isn't referenced
++-                  locally.  Address of protected function may not be
++-                  reachable at run-time.  */
++-               fail = (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
++-                       || (ELF_ST_VISIBILITY (h->other) == STV_PROTECTED
++-                           && h->type == STT_FUNC));
++-             }
++-
++-           if (fail)
++-             return elf_x86_64_need_pic (info, input_bfd, input_section,
++-                                         h, NULL, NULL, howto);
++-         }
++        /* Since x86-64 has PC-relative PLT, we can use PLT in PIE
++           as function address.  */
++-       else if (h != NULL
++-                && (input_section->flags & SEC_CODE) == 0
++-                && bfd_link_pie (info)
++-                && h->type == STT_FUNC
++-                && !h->def_regular
++-                && h->def_dynamic)
+++       if (h != NULL
+++           && (input_section->flags & SEC_CODE) == 0
+++           && bfd_link_pie (info)
+++           && h->type == STT_FUNC
+++           && !h->def_regular
+++           && h->def_dynamic)
++          goto use_plt;
++        /* Fall through.  */
++ 
++@@ -4272,7 +4297,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
++       else if (bfd_link_pic (info)
++             && SYMBOL_REFERENCES_LOCAL_P (info, h))
++      {
++-       if (!(h->def_regular || ELF_COMMON_DEF_P (h)))
+++       if (!SYMBOL_DEFINED_NON_SHARED_P (h))
++          return FALSE;
++        BFD_ASSERT((h->got.offset & 1) != 0);
++        rela.r_info = htab->r_info (0, R_X86_64_RELATIVE);
++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/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
++index cf321f32c2..d4964b1b11 100644
++--- a/bfd/elfnn-aarch64.c
+++++ b/bfd/elfnn-aarch64.c
++@@ -3845,7 +3845,7 @@ _bfd_aarch64_erratum_835769_scan (bfd *input_bfd,
++ static bfd_boolean
++ _bfd_aarch64_adrp_p (uint32_t insn)
++ {
++-  return ((insn & 0x9f000000) == 0x90000000);
+++  return ((insn & AARCH64_ADRP_OP_MASK) == AARCH64_ADRP_OP);
++ }
++ 
++ 
++@@ -5074,7 +5074,7 @@ _bfd_aarch64_erratum_843419_branch_to_stub (struct bfd_hash_entry *gen_entry,
++         + stub_entry->adrp_offset);
++   insn = bfd_getl32 (contents + stub_entry->adrp_offset);
++ 
++-  if ((insn & AARCH64_ADRP_OP_MASK) !=  AARCH64_ADRP_OP)
+++  if (!_bfd_aarch64_adrp_p (insn))
++     abort ();
++ 
++   bfd_signed_vma imm =
++@@ -5939,6 +5939,64 @@ bad_ifunc_reloc:
++ # define movz_hw_R0  (0x52c00000)
++ #endif
++ 
+++/* Structure to hold payload for _bfd_aarch64_erratum_843419_clear_stub,
+++   it is used to identify the stub information to reset.  */
+++
+++struct erratum_843419_branch_to_stub_clear_data
+++{
+++  bfd_vma adrp_offset;
+++  asection *output_section;
+++};
+++
+++/* Clear the erratum information for GEN_ENTRY if the ADRP_OFFSET and
+++   section inside IN_ARG matches.  The clearing is done by setting the
+++   stub_type to none.  */
+++
+++static bfd_boolean
+++_bfd_aarch64_erratum_843419_clear_stub (struct bfd_hash_entry *gen_entry,
+++                                     void *in_arg)
+++{
+++  struct elf_aarch64_stub_hash_entry *stub_entry
+++    = (struct elf_aarch64_stub_hash_entry *) gen_entry;
+++  struct erratum_843419_branch_to_stub_clear_data *data
+++    = (struct erratum_843419_branch_to_stub_clear_data *) in_arg;
+++
+++  if (stub_entry->target_section != data->output_section
+++      || stub_entry->stub_type != aarch64_stub_erratum_843419_veneer
+++      || stub_entry->adrp_offset != data->adrp_offset)
+++    return TRUE;
+++
+++  /* Change the stub type instead of removing the entry, removing from the hash
+++     table would be slower and we have already reserved the memory for the entry
+++     so there wouldn't be much gain.  Changing the stub also keeps around a
+++     record of what was there before.  */
+++  stub_entry->stub_type = aarch64_stub_none;
+++
+++  /* We're done and there could have been only one matching stub at that
+++     particular offset, so abort further traversal.  */
+++  return FALSE;
+++}
+++
+++/* TLS Relaxations may relax an adrp sequence that matches the erratum 843419
+++   sequence.  In this case the erratum no longer applies and we need to remove
+++   the entry from the pending stub generation.  This clears matching adrp insn
+++   at ADRP_OFFSET in INPUT_SECTION in the stub table defined in GLOBALS.  */
+++
+++static void
+++clear_erratum_843419_entry (struct elf_aarch64_link_hash_table *globals,
+++                         bfd_vma adrp_offset, asection *input_section)
+++{
+++  if (globals->fix_erratum_843419)
+++    {
+++      struct erratum_843419_branch_to_stub_clear_data data;
+++      data.adrp_offset = adrp_offset;
+++      data.output_section = input_section;
+++
+++      bfd_hash_traverse (&globals->stub_hash_table,
+++                      _bfd_aarch64_erratum_843419_clear_stub, &data);
+++    }
+++}
+++
++ /* Handle TLS relaxations.  Relaxing is possible for symbols that use
++    R_AARCH64_TLSDESC_ADR_{PAGE, LD64_LO12_NC, ADD_LO12_NC} during a static
++    link.
++@@ -5949,8 +6007,9 @@ bad_ifunc_reloc:
++ 
++ static bfd_reloc_status_type
++ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
++-                      bfd *input_bfd, bfd_byte *contents,
++-                      Elf_Internal_Rela *rel, struct elf_link_hash_entry *h)
+++                      bfd *input_bfd, asection *input_section,
+++                      bfd_byte *contents, Elf_Internal_Rela *rel,
+++                      struct elf_link_hash_entry *h)
++ {
++   bfd_boolean is_local = h == NULL;
++   unsigned int r_type = ELFNN_R_TYPE (rel->r_info);
++@@ -5971,6 +6030,9 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
++ 
++           Where R is x for LP64, and w for ILP32.  */
++        bfd_putl32 (movz_R0, contents + rel->r_offset);
+++       /* We have relaxed the adrp into a mov, we may have to clear any
+++          pending erratum fixes.  */
+++       clear_erratum_843419_entry (globals, rel->r_offset, input_section);
++        return bfd_reloc_continue;
++      }
++       else
++@@ -6261,6 +6323,9 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
++      {
++        insn = bfd_getl32 (contents + rel->r_offset);
++        bfd_putl32 (movz_R0 | (insn & 0x1f), contents + rel->r_offset);
+++       /* We have relaxed the adrp into a mov, we may have to clear any
+++          pending erratum fixes.  */
+++       clear_erratum_843419_entry (globals, rel->r_offset, input_section);
++      }
++       return bfd_reloc_continue;
++ 
++@@ -6485,7 +6550,8 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
++        howto = elfNN_aarch64_howto_from_bfd_reloc (bfd_r_type);
++        BFD_ASSERT (howto != NULL);
++        r_type = howto->type;
++-       r = elfNN_aarch64_tls_relax (globals, input_bfd, contents, rel, h);
+++       r = elfNN_aarch64_tls_relax (globals, input_bfd, input_section,
+++                                    contents, rel, h);
++        unresolved_reloc = 0;
++      }
++       else
++@@ -8076,6 +8142,8 @@ aarch64_map_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
++       if (!elfNN_aarch64_output_map_sym (osi, AARCH64_MAP_INSN, addr))
++      return FALSE;
++       break;
+++    case aarch64_stub_none:
+++      break;
++ 
++     default:
++       abort ();
++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/elfxx-x86.h b/bfd/elfxx-x86.h
++index 6a5609467d..1f757fda0c 100644
++--- a/bfd/elfxx-x86.h
+++++ b/bfd/elfxx-x86.h
++@@ -162,6 +162,13 @@
++        || (ELF_ST_VISIBILITY ((H)->other) \
++         && (H)->root.type == bfd_link_hash_undefweak))
++ 
+++/* TRUE if this symbol isn't defined by a shared object.  */
+++#define SYMBOL_DEFINED_NON_SHARED_P(H) \
+++  ((H)->def_regular \
+++   || (H)->root.linker_def \
+++   || (H)->root.ldscript_def \
+++   || ELF_COMMON_DEF_P (H))
+++
++ /* TRUE if relative relocation should be generated.  GOT reference to
++    global symbol in PIC will lead to dynamic symbol.  It becomes a
++    problem when "time" or "times" is defined as a variable in an
++diff --git a/bfd/version.h b/bfd/version.h
++index 222d2e62c3..38bee253c8 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 20190122
++ #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..2bb000a3c5 100644
++--- a/binutils/ChangeLog
+++++ b/binutils/ChangeLog
++@@ -1,3 +1,21 @@
+++2019-02-18  Nick Clifton  <nickc@redhat.com>
+++
+++     Import from the mainline:
+++     2018-11-27  Mark Wielaard  <mark@klomp.org>
+++
+++     PR binutils/23919
+++     * readelf.c (dump_sections_as_strings): Remove bogus addralign check.
+++     (dump_sections_as_bytes): Likewise.
+++     (load_specific_debug_sections): Likewise.
+++     * testsuite/binutils-all/dw2-3.rS: Adjust alignment.
+++     * testsuite/binutils-all/dw2-3.rt: Likewise.
+++
+++2018-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR ld/23499
+++     * readelf.c (get_symbol_version_string): Return _("<corrupt>")
+++     for corrupt symbol version info.
+++
++ 2018-07-18  Nick Clifton  <nickc@redhat.com>
++ 
++      2.31.1 Release point.
++diff --git a/binutils/readelf.c b/binutils/readelf.c
++index 1b50ba7631..4b0efa884f 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 : _("<corrupt>"));
++      }
+++      else if ((max_vd_ndx || (vers_data & VERSYM_VERSION) != 1)
+++            && (vers_data & VERSYM_VERSION) > max_vd_ndx)
+++     return _("<corrupt>");
++     }
++   return NULL;
++ }
++@@ -13336,12 +13345,6 @@ dump_section_as_strings (Elf_Internal_Shdr * section, Filedata * filedata)
++                  printable_section_name (filedata, section), chdr.ch_type);
++            return FALSE;
++          }
++-       else if (chdr.ch_addralign != section->sh_addralign)
++-         {
++-           warn (_("compressed section '%s' is corrupted\n"),
++-                 printable_section_name (filedata, section));
++-           return FALSE;
++-         }
++        uncompressed_size = chdr.ch_size;
++        start += compression_header_size;
++        new_size -= compression_header_size;
++@@ -13483,12 +13486,6 @@ dump_section_as_bytes (Elf_Internal_Shdr *  section,
++                  printable_section_name (filedata, section), chdr.ch_type);
++            return FALSE;
++          }
++-       else if (chdr.ch_addralign != section->sh_addralign)
++-         {
++-           warn (_("compressed section '%s' is corrupted\n"),
++-                 printable_section_name (filedata, section));
++-           return FALSE;
++-         }
++        uncompressed_size = chdr.ch_size;
++        start += compression_header_size;
++        new_size -= compression_header_size;
++@@ -13658,12 +13655,6 @@ load_specific_debug_section (enum dwarf_section_display_enum  debug,
++                  section->name, chdr.ch_type);
++            return FALSE;
++          }
++-       else if (chdr.ch_addralign != sec->sh_addralign)
++-         {
++-           warn (_("compressed section '%s' is corrupted\n"),
++-                 section->name);
++-           return FALSE;
++-         }
++        uncompressed_size = chdr.ch_size;
++        start += compression_header_size;
++        size -= compression_header_size;
++diff --git a/binutils/testsuite/binutils-all/dw2-3.rS b/binutils/testsuite/binutils-all/dw2-3.rS
++index f1637e9149..86bc73d9a2 100644
++--- a/binutils/testsuite/binutils-all/dw2-3.rS
+++++ b/binutils/testsuite/binutils-all/dw2-3.rS
++@@ -1,3 +1,3 @@
++ #...
++- +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +1
+++ +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +(4|8)
++ #pass
++diff --git a/binutils/testsuite/binutils-all/dw2-3.rt b/binutils/testsuite/binutils-all/dw2-3.rt
++index f59cbaa22b..74e7f8deca 100644
++--- a/binutils/testsuite/binutils-all/dw2-3.rt
+++++ b/binutils/testsuite/binutils-all/dw2-3.rt
++@@ -1,6 +1,6 @@
++ #...
++  +\[[ 0-9]+\] .debug_info
++- +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +1
+++ +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +(4|8)
++  +\[0+800\]: COMPRESSED
++  +ZLIB, 0+9d, 1
++ #pass
++diff --git a/gas/ChangeLog b/gas/ChangeLog
++index bb4541900d..97d370dad3 100644
++--- a/gas/ChangeLog
+++++ b/gas/ChangeLog
++@@ -1,3 +1,112 @@
+++2019-02-10  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR gas/24165
+++     * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to
+++     (alignment ? ((1 << alignment) - 1) : 1)
+++     (i386_tc_frag_data): Add max_bytes.
+++     (TC_FRAG_INIT): Track max_chars in max_bytes.
+++     (HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with
+++     fragP->tc_frag_data.max_bytes.
+++
+++2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
+++
+++     * config/tc-visium.c (md_assemble) <mode_cad>: Align instruction on
+++     64-bit boundaries for the GR6.
+++     * testsuite/gas/visium/allinsn_gr6.s: Tweak.
+++     * testsuite/gas/visium/allinsn_gr6.d: Likewise.
+++     * testsuite/gas/visium/bra-1.d: New test.
+++     * testsuite/gas/visium/bra-1.s: Likewise.
+++     * testsuite/gas/visium/visium.exp: Run bra-1 test.
+++
+++2018-12-09  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR gas/23968
+++     * config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Put back
+++     BFD_RELOC_X86_64_GOTPCREL.
+++     * testsuite/gas/i386/i386.exp: Run x86-64-gotpcrel-2.
+++     * testsuite/gas/i386/x86-64-gotpcrel-2.d: New file.
+++     * testsuite/gas/i386/x86-64-gotpcrel-2.s: Likewise.
+++     * testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d: Likewise.
+++
+++2018-11-05  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     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  <tamar.christina@arm.com>
+++
+++     * testsuite/gas/arm/undefined-insn-arm.d: Widen pe skip.
+++     * testsuite/gas/arm/undefined-insn-thumb.d: Likewise.
+++
+++2018-10-19  Tamar Christina  <tamar.christina@arm.com>
+++
+++     * 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  <matthew.malcomson@arm.com>
+++
+++     * 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  <hongjiu.lu@intel.com>
+++
+++     * 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  <tamar.christina@arm.com>
+++
+++     * config/tc-aarch64.c (output_operand_error_report): Apply filtering to
+++     current instead of head message.
+++
+++2018-09-17  Nick Clifton  <nickc@redhat.com>
+++
+++     backport from mainline:
+++     * 2018-08-14  Robert Yang  <liezhi.yang@windriver.com>
+++
+++     * as.c (main): Improve check for input file matching output file.
+++
+++2018-08-10  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     * 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  <hongjiu.lu@intel.com>
+++
+++     * testsuite/gas/i386/i386.exp: Run evex-no-scale-32 and
+++     evex-no-scale-64 only for ELF targets.
+++
+++2018-07-31  Jan Beulich  <jbeulich@suse.com>
+++
+++     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  <danglin@gcc.gnu.org>
+++
+++     * 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  <hongjiu.lu@intel.com>
+++
+++     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  <nickc@redhat.com>
++ 
++      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/config/tc-i386.h b/gas/config/tc-i386.h
++index 833047980b..46a0381777 100644
++--- a/gas/config/tc-i386.h
+++++ b/gas/config/tc-i386.h
++@@ -174,6 +174,7 @@ extern int tc_i386_fix_adjustable (struct fix *);
++   (GENERIC_FORCE_RELOCATION_LOCAL (FIX)                              \
++    || (FIX)->fx_r_type == BFD_RELOC_386_PLT32                        \
++    || (FIX)->fx_r_type == BFD_RELOC_386_GOTPC                        \
+++   || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCREL          \
++    || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCRELX         \
++    || (FIX)->fx_r_type == BFD_RELOC_X86_64_REX_GOTPCRELX)
++ 
++@@ -205,7 +206,7 @@ if ((n)                                                                   \
++     goto around;                                                     \
++   }
++ 
++-#define MAX_MEM_FOR_RS_ALIGN_CODE 4095
+++#define MAX_MEM_FOR_RS_ALIGN_CODE  (alignment ? ((1 << alignment) - 1) : 1)
++ 
++ void i386_print_statistics (FILE *);
++ #define tc_print_statistics i386_print_statistics
++@@ -250,6 +251,7 @@ struct i386_tc_frag_data
++   enum processor_type isa;
++   i386_cpu_flags isa_flags;
++   enum processor_type tune;
+++  unsigned int max_bytes;
++ };
++ 
++ /* We need to emit the right NOP pattern in .align frags.  This is
++@@ -257,12 +259,14 @@ struct i386_tc_frag_data
++    the isa/tune settings at the time the .align was assembled.  */
++ #define TC_FRAG_TYPE struct i386_tc_frag_data
++ 
+++/* NB: max_chars is a local variable in frag_var_init.  */
++ #define TC_FRAG_INIT(FRAGP)                                  \
++  do                                                          \
++    {                                                         \
++      (FRAGP)->tc_frag_data.isa = cpu_arch_isa;                       \
++      (FRAGP)->tc_frag_data.isa_flags = cpu_arch_isa_flags;   \
++      (FRAGP)->tc_frag_data.tune = cpu_arch_tune;             \
+++     (FRAGP)->tc_frag_data.max_bytes = max_chars;            \
++    }                                                         \
++  while (0)
++ 
++@@ -279,7 +283,8 @@ if (fragP->fr_type == rs_align_code)                                      \
++     offsetT __count = (fragP->fr_next->fr_address                    \
++                     - fragP->fr_address                              \
++                     - fragP->fr_fix);                                \
++-    if (__count > 0 && __count <= MAX_MEM_FOR_RS_ALIGN_CODE)         \
+++    if (__count > 0                                                  \
+++     && (unsigned int) __count <= fragP->tc_frag_data.max_bytes)     \
++       md_generate_nops (fragP, fragP->fr_literal + fragP->fr_fix,    \
++                      __count, 0);                                    \
++   }
++diff --git a/gas/config/tc-visium.c b/gas/config/tc-visium.c
++index 0bcb6e3af4..409ea99aaf 100644
++--- a/gas/config/tc-visium.c
+++++ b/gas/config/tc-visium.c
++@@ -1368,6 +1368,10 @@ md_assemble (char *str0)
++       if (previous_mode == mode_cad || previous_mode == mode_ci)
++      as_bad ("branch instruction in delay slot");
++ 
+++      /* For the GR6, BRA insns must be aligned on 64-bit boundaries.  */
+++      if (visium_arch == VISIUM_ARCH_GR6)
+++     do_align (3, NULL, 0, 0);
+++
++       this_dest = r3;
++       condition_code = cc;
++       break;
++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+ <disp>:
+++ +[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+ <disp>:
+++ +[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..952902cbb6 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"
++@@ -1011,12 +1013,15 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
++ 
++      run_dump_test "x86-64-gotpcrel"
++      run_dump_test "x86-64-gotpcrel-no-relax"
+++     run_dump_test "x86-64-gotpcrel-2"
++ 
++      run_dump_test "x86-64-addend"
++      run_dump_test "x86-64-nop-3"
++      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/ilp32/x86-64-gotpcrel-2.d b/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d
++new file mode 100644
++index 0000000000..41b9ac2cc3
++--- /dev/null
+++++ b/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d
++@@ -0,0 +1,13 @@
+++#source: ../x86-64-gotpcrel-2.s
+++#as: --x32 -mrelax-relocations=no
+++#objdump: -dwr
+++#name: x86-64 (ILP32) gotpcrel (2)
+++
+++.*: +file format .*
+++
+++
+++Disassembly of section .text:
+++
+++0+ <foo>:
+++ +[a-f0-9]+: 48 8b 05 00 00 00 00    mov    0x0\(%rip\),%rax        # 7 <foo\+0x7>   3: R_X86_64_GOTPCREL    foo-0x4
+++#pass
++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-gotpcrel-2.d b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.d
++new file mode 100644
++index 0000000000..3d07631bd6
++--- /dev/null
+++++ b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.d
++@@ -0,0 +1,11 @@
+++#as: -mrelax-relocations=no
+++#objdump: -dwr
+++
+++.*: +file format .*
+++
+++
+++Disassembly of section .text:
+++
+++0+ <foo>:
+++ +[a-f0-9]+: 48 8b 05 00 00 00 00    mov    0x0\(%rip\),%rax        # 7 <foo\+0x7>   3: R_X86_64_GOTPCREL    foo-0x4
+++#pass
++diff --git a/gas/testsuite/gas/i386/x86-64-gotpcrel-2.s b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.s
++new file mode 100644
++index 0000000000..db5ddf579a
++--- /dev/null
+++++ b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.s
++@@ -0,0 +1,3 @@
+++     .text
+++foo:
+++     movq    foo@GOTPCREL(%rip), %rax
++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/gas/testsuite/gas/visium/allinsn_gr6.d b/gas/testsuite/gas/visium/allinsn_gr6.d
++index bb198eca8e..c7f627bb34 100644
++--- a/gas/testsuite/gas/visium/allinsn_gr6.d
+++++ b/gas/testsuite/gas/visium/allinsn_gr6.d
++@@ -86,10 +86,10 @@ Disassembly of section .text:
++  120:        06 a5 1a 02     asr.w   r6,r5,0
++  124:        86 a5 1a 12     asr.w   r6,r5,1
++  128:        86 a7 23 f1     asr.b   r8,r7,31
++- 12c:        0f 89 28 04     bra     eq,r9,r10
++- 130:        07 a0 00 04     rflag   r0
++- 134:        af 87 04 04     bra     ne,r7,r1
++- 138:        07 e0 ae 04     readmda r11
+++ 12c:        07 a0 00 04     rflag   r0
+++ 130:        0f 89 28 04     bra     eq,r9,r10
+++ 134:        07 e0 ae 04     readmda r11
+++ 138:        af 87 04 04     bra     ne,r7,r1
++  13c:        07 e0 b3 f4     eamread r12,31
++  140:        87 cd 30 04     extb.l  r12,r13
++  144:        87 cf 38 02     extb.w  r14,r15
++@@ -130,8 +130,8 @@ Disassembly of section .text:
++  1d0:        84 a7 7f ff     moviu   r7,0x7FFF
++  1d4:        04 c6 00 01     moviq   r6,1
++  1d8:        84 47 ff ff     subi    r7,65535
++- 1dc:        ff 86 00 04     bra     tr,r6,r0
++- 1e0:        86 00 00 04     add.l   r0,r0,r0
+++ 1dc:        86 00 00 04     add.l   r0,r0,r0
+++ 1e0:        ff 86 00 04     bra     tr,r6,r0
++  1e4:        d3 e3 84 5c     fpinst  10,f1,f3,f5
++  1e8:        db e4 88 6c     fpinst  11,f2,f4,f6
++  1ec:        7b ed ac fc     fpinst  15,f11,f13,f15
++diff --git a/gas/testsuite/gas/visium/allinsn_gr6.s b/gas/testsuite/gas/visium/allinsn_gr6.s
++index 32953fbfb8..11006b836b 100644
++--- a/gas/testsuite/gas/visium/allinsn_gr6.s
+++++ b/gas/testsuite/gas/visium/allinsn_gr6.s
++@@ -93,11 +93,10 @@ sreg:
++      asr.w   r6,r5,1
++      asr.b   r8,r7,31
++ 
++-     bra     eq,r9,r10
++      rflag   r0
++-     bra     ne,r7,r1
++-
+++     bra     eq,r9,r10
++      eamread r11,0
+++     bra     ne,r7,r1
++      eamread r12,31
++ 
++      extb.l  r12,r13
++@@ -151,8 +150,8 @@ sreg:
++      moviq   r6,1
++      subi    r7,65535
++ 
++-     bra     tr,r6,r0
++      add.l   r0,r0,r0
+++     bra     tr,r6,r0
++ 
++ 
++      fpinst  10,f1,f3,f5
++diff --git a/gas/testsuite/gas/visium/bra-1.d b/gas/testsuite/gas/visium/bra-1.d
++new file mode 100644
++index 0000000000..483b36bc8f
++--- /dev/null
+++++ b/gas/testsuite/gas/visium/bra-1.d
++@@ -0,0 +1,12 @@
+++#as: -mtune=gr6
+++#objdump: -d
+++#name: bra-1
+++
+++.*: +file format .*
+++
+++Disassembly of section .text:
+++
+++00000000 <foo>:
+++     ...
+++   8:        ff 95 54 04     bra     tr,r21,r21
+++   c:        00 00 00 00     nop
++diff --git a/gas/testsuite/gas/visium/bra-1.s b/gas/testsuite/gas/visium/bra-1.s
++new file mode 100644
++index 0000000000..11544b887d
++--- /dev/null
+++++ b/gas/testsuite/gas/visium/bra-1.s
++@@ -0,0 +1,5 @@
+++        .text
+++foo:
+++     nop
+++     bra tr,r21,r21
+++      nop
++diff --git a/gas/testsuite/gas/visium/visium.exp b/gas/testsuite/gas/visium/visium.exp
++index 1451d5865c..659728462d 100644
++--- a/gas/testsuite/gas/visium/visium.exp
+++++ b/gas/testsuite/gas/visium/visium.exp
++@@ -24,6 +24,7 @@ if [istarget visium-*-*] {
++     run_dump_test "allinsn_def"
++     run_dump_test "allinsn_gr5"
++     run_dump_test "allinsn_gr6"
+++    run_dump_test "bra-1"
++     run_dump_test "brr-1"
++     run_dump_test "brr-2"
++     run_dump_test "high-1"
++diff --git a/gold/ChangeLog b/gold/ChangeLog
++index 18af5e69b1..10ebc76325 100644
++--- a/gold/ChangeLog
+++++ b/gold/ChangeLog
++@@ -1,3 +1,34 @@
+++2019-02-18  Nick Clifton  <nickc@redhat.com>
+++
+++     Import from the mainline:
+++     2018-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR binutils/23919
+++     * merge.cc (Output_merge_string<Char_type>::do_add_input_section):
+++     Get addralign from decompressed_section_contents.
+++     * object.cc (build_compressed_section_map): Set info.addralign.
+++     (Object::decompressed_section_contents): Add a palign
+++     argument and store p->second.addralign in *palign if it isn't
+++     NULL.
+++     * object.h (Compressed_section_info): Add addralign.
+++     (section_is_compressed): Add a palign argument, default it
+++     to NULL, store p->second.addralign in *palign if it isn't NULL.
+++     (Object::decompressed_section_contents): Likewise.
+++     * output.cc (Output_section::add_input_section): Get addralign
+++     from section_is_compressed.
+++
+++2018-08-06  Cary Coutant  <ccoutant@gmail.com>
+++
+++     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  <ccoutant@gmail.com>
+++
+++     * 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  <nickc@redhat.com>
++ 
++      2.31.1 Release point.
++diff --git a/gold/merge.cc b/gold/merge.cc
++index de00ee9ae9..d7de11789f 100644
++--- a/gold/merge.cc
+++++ b/gold/merge.cc
++@@ -440,9 +440,11 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
++ {
++   section_size_type sec_len;
++   bool is_new;
+++  uint64_t addralign = this->addralign();
++   const unsigned char* pdata = object->decompressed_section_contents(shndx,
++                                                                   &sec_len,
++-                                                                  &is_new);
+++                                                                  &is_new,
+++                                                                  &addralign);
++ 
++   const Char_type* p = reinterpret_cast<const Char_type*>(pdata);
++   const Char_type* pend = p + sec_len / sizeof(Char_type);
++@@ -494,7 +496,7 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
++   // aligned, so each string within the section must retain the same
++   // modulo.
++   uintptr_t init_align_modulo = (reinterpret_cast<uintptr_t>(pdata)
++-                              & (this->addralign() - 1));
+++                              & (addralign - 1));
++   bool has_misaligned_strings = false;
++ 
++   while (p < pend)
++@@ -503,7 +505,7 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
++ 
++       // Within merge input section each string must be aligned.
++       if (len != 0
++-       && ((reinterpret_cast<uintptr_t>(p) & (this->addralign() - 1))
+++       && ((reinterpret_cast<uintptr_t>(p) & (addralign - 1))
++            != init_align_modulo))
++        has_misaligned_strings = true;
++ 
++diff --git a/gold/object.cc b/gold/object.cc
++index 374340fa16..711793e5e4 100644
++--- a/gold/object.cc
+++++ b/gold/object.cc
++@@ -751,11 +751,13 @@ build_compressed_section_map(
++            const unsigned char* contents =
++                obj->section_contents(i, &len, false);
++            uint64_t uncompressed_size;
+++           Compressed_section_info info;
++            if (is_zcompressed)
++              {
++                // Skip over the ".zdebug" prefix.
++                name += 7;
++                uncompressed_size = get_uncompressed_size(contents, len);
+++               info.addralign = shdr.get_sh_addralign();
++              }
++            else
++              {
++@@ -763,8 +765,8 @@ build_compressed_section_map(
++                name += 6;
++                elfcpp::Chdr<size, big_endian> chdr(contents);
++                uncompressed_size = chdr.get_ch_size();
+++               info.addralign = chdr.get_ch_addralign();
++              }
++-           Compressed_section_info info;
++            info.size = convert_to_section_size_type(uncompressed_size);
++            info.flag = shdr.get_sh_flags();
++            info.contents = NULL;
++@@ -3060,7 +3062,8 @@ const unsigned char*
++ Object::decompressed_section_contents(
++     unsigned int shndx,
++     section_size_type* plen,
++-    bool* is_new)
+++    bool* is_new,
+++    uint64_t* palign)
++ {
++   section_size_type buffer_size;
++   const unsigned char* buffer = this->do_section_contents(shndx, &buffer_size,
++@@ -3087,6 +3090,8 @@ Object::decompressed_section_contents(
++     {
++       *plen = uncompressed_size;
++       *is_new = false;
+++      if (palign != NULL)
+++     *palign = p->second.addralign;
++       return p->second.contents;
++     }
++ 
++@@ -3108,6 +3113,8 @@ Object::decompressed_section_contents(
++   // once in this pass.
++   *plen = uncompressed_size;
++   *is_new = true;
+++  if (palign != NULL)
+++    *palign = p->second.addralign;
++   return uncompressed_data;
++ }
++ 
++diff --git a/gold/object.h b/gold/object.h
++index 0b786a5471..b99548463d 100644
++--- a/gold/object.h
+++++ b/gold/object.h
++@@ -373,6 +373,7 @@ struct Compressed_section_info
++ {
++   section_size_type size;
++   elfcpp::Elf_Xword flag;
+++  uint64_t addralign;
++   const unsigned char* contents;
++ };
++ typedef std::map<unsigned int, Compressed_section_info> Compressed_section_map;
++@@ -808,7 +809,8 @@ class Object
++ 
++   bool
++   section_is_compressed(unsigned int shndx,
++-                     section_size_type* uncompressed_size) const
+++                     section_size_type* uncompressed_size,
+++                     elfcpp::Elf_Xword* palign = NULL) const
++   {
++     if (this->compressed_sections_ == NULL)
++       return false;
++@@ -818,6 +820,8 @@ class Object
++       {
++      if (uncompressed_size != NULL)
++        *uncompressed_size = p->second.size;
+++     if (palign != NULL)
+++       *palign = p->second.addralign;
++      return true;
++       }
++     return false;
++@@ -828,7 +832,7 @@ class Object
++   // by the caller.
++   const unsigned char*
++   decompressed_section_contents(unsigned int shndx, section_size_type* plen,
++-                             bool* is_cached);
+++                             bool* is_cached, uint64_t* palign = NULL);
++ 
++   // Discard any buffers of decompressed sections.  This is done
++   // at the end of the Add_symbols task.
++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/output.cc b/gold/output.cc
++index 1701db1c99..51836db80e 100644
++--- a/gold/output.cc
+++++ b/gold/output.cc
++@@ -2448,7 +2448,14 @@ Output_section::add_input_section(Layout* layout,
++                                unsigned int reloc_shndx,
++                                bool have_sections_script)
++ {
+++  section_size_type input_section_size = shdr.get_sh_size();
+++  section_size_type uncompressed_size;
++   elfcpp::Elf_Xword addralign = shdr.get_sh_addralign();
+++
+++  if (object->section_is_compressed(shndx, &uncompressed_size,
+++                                   &addralign))
+++    input_section_size = uncompressed_size;
+++
++   if ((addralign & (addralign - 1)) != 0)
++     {
++       object->error(_("invalid alignment %lu for section \"%s\""),
++@@ -2498,11 +2505,6 @@ Output_section::add_input_section(Layout* layout,
++      }
++     }
++ 
++-  section_size_type input_section_size = shdr.get_sh_size();
++-  section_size_type uncompressed_size;
++-  if (object->section_is_compressed(shndx, &uncompressed_size))
++-    input_section_size = uncompressed_size;
++-
++   off_t offset_in_section;
++ 
++   if (this->has_fixed_layout())
++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<size, false>
++   // 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<size>::rela_irelative_section(Layout* layout)
++ template<int size>
++ void
++ Target_x86_64<size>::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  <claziss@synopsys.com>
+++
+++     Backport from mainline
+++     2018-08-01  Cupertino Miranda <cmiranda@synopsys.com>
+++     * arc-reloc.def (ARC_TLS_LE_32): Updated reloc formula.
+++
++ 2018-07-18  Nick Clifton  <nickc@redhat.com>
++ 
++      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..00c0785ede 100644
++--- a/ld/ChangeLog
+++++ b/ld/ChangeLog
++@@ -1,3 +1,146 @@
+++2019-02-10  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     PR ld/24151
+++     * testsuite/ld-x86-64/pr24151a-x32.d: New file.
+++     * testsuite/ld-x86-64/pr24151a.d: Likewise.
+++     * testsuite/ld-x86-64/pr24151a.s: Likewise.
+++     * testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32.
+++
+++2019-01-29  Eric Botcazou  <ebotcazou@adacore.com>
+++
+++     * testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC.
+++
+++2018-11-30  Alan Modra  <amodra@gmail.com>
+++
+++     * testsuite/ld-powerpc/pr23937.d,
+++     * testsuite/ld-powerpc/pr23937.s: New test.
+++     * testsuite/ld-powerpc/powerpc.exp: Run it.
+++
+++2018-11-27  Tamar Christina  <tamar.christina@arm.com>
+++
+++     PR ld/23904
+++     * testsuite/ld-aarch64/aarch64-elf.exp: Add erratum843419_tls_ie.
+++     * testsuite/ld-aarch64/erratum843419_tls_ie.d: New test.
+++     * testsuite/ld-aarch64/erratum843419_tls_ie.s: New test.
+++
+++2018-11-06  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     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  <hongjiu.lu@intel.com>
+++
+++     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  <hongjiu.lu@intel.com>
+++
+++     * testsuite/ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s.
+++
+++2018-08-12  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     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  <hongjiu.lu@intel.com>
+++
+++     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  <hongjiu.lu@intel.com>
+++
+++     * 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  <amodra@gmail.com>
+++
+++     * testsuite/ld-powerpc/powerpc.exp: Run tlsopt5 with hash-style
+++     specified.
+++
+++2018-08-01  Alan Modra  <amodra@gmail.com>
+++
+++     * 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  <nickc@redhat.com>
+++
+++     * po/bg.po: Updated Bulgarian translation.
+++
+++2018-08-01  Roland McGrath  <mcgrathr@google.com>
+++
+++     * 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  <hongjiu.lu@intel.com>
+++
+++     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  <nickc@redhat.com>
++ 
++      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: Румен Петров <transl@roumenpetrov.info>\n"
++ "Language-Team: Bulgarian <dict@ludost.net>\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 <NUMBER>"
++-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=<symbol>             Set the entry point to be Thumb <symbol>\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=<sym>         Set the entry point to be Thumb symbol <sym>\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/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp
++index 1bbc064857..3912ef1cdd 100644
++--- a/ld/testsuite/ld-aarch64/aarch64-elf.exp
+++++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp
++@@ -86,6 +86,7 @@ run_ld_link_tests $aarch64elftests
++ run_ld_link_tests eh-frame-merge-lp64
++ 
++ run_dump_test "erratum843419"
+++run_dump_test "erratum843419_tls_ie"
++ 
++ # Relocation Tests
++ run_dump_test_lp64 "weak-undefined"
++diff --git a/ld/testsuite/ld-aarch64/erratum843419_tls_ie.d b/ld/testsuite/ld-aarch64/erratum843419_tls_ie.d
++new file mode 100644
++index 0000000000..eba5a20217
++--- /dev/null
+++++ b/ld/testsuite/ld-aarch64/erratum843419_tls_ie.d
++@@ -0,0 +1,49 @@
+++#source: erratum843419_tls_ie.s
+++#as:
+++#ld: --fix-cortex-a53-843419 -e0 --section-start .e843419=0x20000000 -Ttext=0x400000 -Tdata=0x40000000
+++#objdump: -dr
+++#...
+++
+++Disassembly of section .e843419:
+++
+++0*20000000 <farbranch>:
+++[ ]*20000000:        d10043ff        sub     sp, sp, #0x10
+++[ ]*20000004:        d28001a7        mov     x7, #0xd                        // #13
+++[ ]*20000008:        b9000fe7        str     w7, \[sp, #12\]
+++[ ]*2000000c:        140003fb        b       20000ff8 <e843419>
+++     ...
+++
+++0*20000ff8 <e843419>:
+++[ ]*20000ff8:        d2a00000        movz    x0, #0x0, lsl #16
+++[ ]*20000ffc:        f800c007        stur    x7, \[x0, #12\]
+++[ ]*20001000:        d2800128        mov     x8, #0x9                        // #9
+++[ ]*20001004:        f2800208        movk    x8, #0x10
+++[ ]*20001008:        8b050020        add     x0, x1, x5
+++[ ]*2000100c:        b9400fe7        ldr     w7, \[sp, #12\]
+++[ ]*20001010:        0b0700e0        add     w0, w7, w7
+++[ ]*20001014:        910043ff        add     sp, sp, #0x10
+++[ ]*20001018:        d65f03c0        ret
+++[ ]*2000101c:        00000000        .inst   0x00000000 ; undefined
+++[ ]*20001020:        14000400        b       20002020 <e843419\+0x1028>
+++[ ]*20001024:        d503201f        nop
+++[ ]*20001028:        00000000        .inst   0x00000000 ; undefined
+++[ ]*2000102c:        17fffff7        b       20001008 <e843419\+0x10>
+++     ...
+++
+++Disassembly of section .text:
+++
+++0*400000 <main>:
+++[ ]*400000:  d10043ff        sub     sp, sp, #0x10
+++[ ]*400004:  d28001a7        mov     x7, #0xd                        // #13
+++[ ]*400008:  b9000fe7        str     w7, \[sp, #12\]
+++[ ]*40000c:  14000005        b       400020 <__farbranch_veneer>
+++[ ]*400010:  d65f03c0        ret
+++[ ]*400014:  d503201f        nop
+++[ ]*400018:  14000400        b       401018 <__farbranch_veneer\+0xff8>
+++[ ]*40001c:  d503201f        nop
+++
+++0*400020 <__farbranch_veneer>:
+++[ ]*400020:  900fe010        adrp    x16, 20000000 <farbranch>
+++[ ]*400024:  91000210        add     x16, x16, #0x0
+++[ ]*400028:  d61f0200        br      x16
+++     ...
++diff --git a/ld/testsuite/ld-aarch64/erratum843419_tls_ie.s b/ld/testsuite/ld-aarch64/erratum843419_tls_ie.s
++new file mode 100644
++index 0000000000..60322445c5
++--- /dev/null
+++++ b/ld/testsuite/ld-aarch64/erratum843419_tls_ie.s
++@@ -0,0 +1,43 @@
+++     .text
+++     .align  2
+++     .global main
+++     .type   main, %function
+++main:
+++     sub     sp, sp, #16
+++     mov     x7, 13
+++     str     w7, [sp,12]
+++     b       farbranch
+++     ret
+++     .size   main, .-main
+++
+++     .section .e843419, "xa"
+++     .align  2
+++     .global farbranch
+++     .type   farbranch, %function
+++farbranch:
+++     sub     sp, sp, #16
+++     mov     x7, 13
+++     str     w7, [sp,12]
+++     b       e843419
+++      .fill 4072,1,0
+++e843419:
+++     adrp x0, :gottprel:l_tlsievar
+++     str x7, [x0,12]
+++     mov     x8, 9
+++     str x8, [x0, :gottprel_lo12:l_tlsievar]
+++
+++     add x0, x1, x5
+++     ldr     w7, [sp,12]
+++     add     w0, w7, w7
+++     add     sp, sp, 16
+++     ret
+++     .size   farbranch, .-farbranch
+++
+++# ---
+++
+++     .section        .tbss,"awT",%nobits
+++     .align  2
+++     .type   l_tlsievar, %object
+++     .size   l_tlsievar, 4
+++l_tlsievar:
+++     .zero   4
++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) <foo>:
+++0+(130|1a0|1c8) <foo>:
++ #...
++-[ \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) <foo>:
+++0+(130|1a0|1c8) <foo>:
++ #...
++-[ \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:
++ 
++ .* <bar>:
++  .*: 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 <unistd.h>
+++#include <link.h>
+++#include <syscall.h>
+++
+++#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..2b97af79e5 100644
++--- a/ld/testsuite/ld-ifunc/ifunc.exp
+++++ b/ld/testsuite/ld-ifunc/ifunc.exp
++@@ -713,7 +713,9 @@ 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*-*-*"]
+++           || [istarget "sparc*-*-*"]) } {
++ 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..5ec3850787 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}
++@@ -328,6 +328,7 @@ if [ supports_ppc64 ] then {
++     run_dump_test "dotsym2"
++     run_dump_test "dotsym3"
++     run_dump_test "dotsym4"
+++    run_dump_test "pr23937"
++ }
++ 
++ run_dump_test "tlsld32"
++diff --git a/ld/testsuite/ld-powerpc/pr23937.d b/ld/testsuite/ld-powerpc/pr23937.d
++new file mode 100644
++index 0000000000..6ef79e81cf
++--- /dev/null
+++++ b/ld/testsuite/ld-powerpc/pr23937.d
++@@ -0,0 +1,10 @@
+++#as: -a64
+++#ld: -melf64ppc --defsym puts=0 --defsym _start=0
+++#readelf: -srW
+++# Check that the IRELATIVE addend is magic+0, not magic+8
+++
+++#...
+++.* R_PPC64_IRELATIVE +10000180
+++#...
+++.*: 0+10000180 +20 IFUNC +LOCAL +DEFAULT .* magic
+++#pass
++diff --git a/ld/testsuite/ld-powerpc/pr23937.s b/ld/testsuite/ld-powerpc/pr23937.s
++new file mode 100644
++index 0000000000..155e53adb7
++--- /dev/null
+++++ b/ld/testsuite/ld-powerpc/pr23937.s
++@@ -0,0 +1,65 @@
+++     .abiversion 2
+++     .text
+++     .p2align 4,,15
+++     .type   implementation, @function
+++implementation:
+++.LCF0:
+++     addis 2,12,.TOC.-.LCF0@ha
+++     addi 2,2,.TOC.-.LCF0@l
+++     .localentry     implementation,.-implementation
+++     mflr 0
+++     addis 3,2,.LC0@toc@ha
+++     addi 3,3,.LC0@toc@l
+++     std 0,16(1)
+++     stdu 1,-32(1)
+++     bl puts
+++     nop
+++     addi 1,1,32
+++     li 3,0
+++     ld 0,16(1)
+++     mtlr 0
+++     blr
+++     .size   implementation,.-implementation
+++
+++     .p2align 4,,15
+++     .type   resolver, @function
+++resolver:
+++.LCF1:
+++     addis 2,12,.TOC.-.LCF1@ha
+++     addi 2,2,.TOC.-.LCF1@l
+++     .localentry     resolver,.-resolver
+++     addis 3,2,implementation@toc@ha
+++     addi 3,3,implementation@toc@l
+++     blr
+++     .size   resolver,.-resolver
+++
+++     .type   magic, @gnu_indirect_function
+++     .set    magic,resolver
+++
+++     .section        .text.startup,"ax",@progbits
+++     .p2align 4,,15
+++     .globl main
+++     .type   main, @function
+++main:
+++.LCF2:
+++     addis 2,12,.TOC.-.LCF2@ha
+++     addi 2,2,.TOC.-.LCF2@l
+++     .localentry     main,.-main
+++     mflr 0
+++     std 0,16(1)
+++     stdu 1,-32(1)
+++     bl magic
+++     nop
+++     addi 1,1,32
+++     cntlzw 3,3
+++     ld 0,16(1)
+++     srwi 3,3,5
+++     mtlr 0
+++     xori 3,3,0x1
+++     blr
+++     .size   main,.-main
+++
+++     .section        .rodata.str1.8,"aMS",@progbits,1
+++     .p2align 3
+++.LC0:
+++     .string "'ere I am JH"
++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
++ 
+++.* <foo@plt>:
+++.*   (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/pr24151a-x32.d b/ld/testsuite/ld-x86-64/pr24151a-x32.d
++new file mode 100644
++index 0000000000..130611ddf4
++--- /dev/null
+++++ b/ld/testsuite/ld-x86-64/pr24151a-x32.d
++@@ -0,0 +1,4 @@
+++#source: pr24151a.s
+++#as: --x32
+++#ld: -shared -melf32_x86_64
+++#error: .*relocation R_X86_64_PC32 against protected symbol `foo' can not be used when making a shared object
++diff --git a/ld/testsuite/ld-x86-64/pr24151a.d b/ld/testsuite/ld-x86-64/pr24151a.d
++new file mode 100644
++index 0000000000..783b85a1a6
++--- /dev/null
+++++ b/ld/testsuite/ld-x86-64/pr24151a.d
++@@ -0,0 +1,3 @@
+++#as: --64
+++#ld: -shared -melf_x86_64
+++#error: .*relocation R_X86_64_PC32 against protected symbol `foo' can not be used when making a shared object
++diff --git a/ld/testsuite/ld-x86-64/pr24151a.s b/ld/testsuite/ld-x86-64/pr24151a.s
++new file mode 100644
++index 0000000000..e4ec7c8ce4
++--- /dev/null
+++++ b/ld/testsuite/ld-x86-64/pr24151a.s
++@@ -0,0 +1,9 @@
+++     .text
+++     .globl  bar
+++     .type   bar,@function
+++bar:
+++     movl    $30, foo(%rip)
+++     .size   bar, .-bar
+++     .protected foo
+++     .type   foo,@object
+++     .comm   foo,4,4
++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..ac41d8ea49 100644
++--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++++ b/ld/testsuite/ld-x86-64/x86-64.exp
++@@ -403,6 +403,13 @@ 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"
+++run_dump_test "pr24151a"
+++run_dump_test "pr24151a-x32"
++ 
++ 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  <tamar.christina@arm.com>
+++
+++     * 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  <matthew.malcomson@arm.com>
+++
+++     * aarch64-opc.c (struct operand_qualifier_data): Change qualifier data
+++     corresponding to AARCH64_OPND_QLF_S_4B qualifier.
+++
+++2018-10-05  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     * i386-dis.c (rm_table): Add enclv.
+++     * i386-opc.tbl: Add enclv.
+++     * i386-tbl.h: Regenerated.
+++
+++2018-07-18  H.J. Lu  <hongjiu.lu@intel.com>
+++
+++     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  <nickc@redhat.com>
++ 
++      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; <UNDEFINED> instruction: %0-31x"
+++#define UNKNOWN_INSTRUCTION_32BIT  "\t\t; <UNDEFINED> instruction: %08x"
+++#define UNKNOWN_INSTRUCTION_16BIT  "\t\t; <UNDEFINED> instruction: %04x"
++ #define UNPREDICTABLE_INSTRUCTION  "\t; <UNPREDICTABLE>"
++ 
++ /* 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0e898b88ed2f553203e3973046ef4a8e0ecb9849
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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  <nickc@redhat.com>
++ 
++-     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  <nickc@redhat.com>
++-
++      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 <http://www.gnu.org/licenses/>.
++ 
++ # 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 <EMAIL@ADDRESS>\n"
++ "Language-Team: LANGUAGE <LL@li.org>\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  <nickc@redhat.com>
++ 
++-     Back to development.
++-
++-     * configure: Regenerate.
++-
++-2018-01-27  Nick Clifton  <nickc@redhat.com>
++-
++      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  <nickc@redhat.com>
++ 
++-     Back to development.
++-
++-     * configure: Regenerate.
++-
++-2018-01-27  Nick Clifton  <nickc@redhat.com>
++-
++      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  <nickc@redhat.com>
++ 
++-     Back to development.
++-
++-     * configure: Regenerate.
++-
++-2018-01-27  Nick Clifton  <nickc@redhat.com>
++-
++      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  <nickc@redhat.com>
++ 
++-     Back to development.
++-
++-     * configure: Regenerate.
++-     * po/opcodes.pot: Regenerate.
++-
++-2018-01-27  Nick Clifton  <nickc@redhat.com>
++-
++      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 <EMAIL@ADDRESS>\n"
++ "Language-Team: LANGUAGE <LL@li.org>\n"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..291a2aae6a05b6184a8cfe9d376ea52324927bef
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++# DP: Fix gold on mips64 targets.
++
++gold/
++
++2016-08-09  Aurelien Jarno  <aurelien@aurel32.net>
++
++      * 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cdf1bf6476b0391f43bca067a11aade0a21a1157
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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"));
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..82377ee3c09e8b4fabc1e704ae768cf4b651fb04
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ac53b3876e624b21941a919f3194cf106b46fcc3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 "
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2f3e34f97a64c32e85d1c0b6510b14fc310a4dec
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 (_("    <corrupt note>\n"));
+++         break;
+++
+++       case I8_NOTE_UNHANDLED:
+++         printf (_("    <unhandled note>\n"));
+++         break;
+++       }
+++     break;
+++      }
++     }
++ 
++   return TRUE;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a6bdc7f6429aebff2fe43bc084d928cdfc1cf7fe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..85f21dd7919858fef9cadc3d4244f04cc16a5373
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,158 @@@
++# DP: Proposed patch for PR ld/16428, disallow -shared/-pie, -shared/-static, -pie/-static.
++
++2014-01-10  H.J. Lu  <hongjiu.lu@intel.com>
++
++      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  <hongjiu.lu@intel.com>
++
++      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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..594a84ddf3b9657762708952332848c9c09995de
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,131 @@@
++
++Skip symbol defined by linker when checking copy reloc on protected
++symbol.
++
++bfd/
++
++      PR ld/24276
++      * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
++      by linker when checking copy reloc on protected symbol.
++
++ld/
++
++      PR ld/24276
++      * testsuite/ld-i386/i386.exp: Run PR ld/24276 test.
++      * testsuite/ld-x86-64/x86-64.exp: Likewise.
++      * testsuite/ld-i386/pr24276.dso: New file.
++      * testsuite/ld-i386/pr24276.warn: Likewise.
++      * testsuite/ld-x86-64/pr24276.dso: Likewise.
++      * testsuite/ld-x86-64/pr24276.warn: Likewise.
++---
++ bfd/elf64-x86-64.c                  | 2 ++
++ ld/testsuite/ld-i386/i386.exp       | 9 +++++++++
++ ld/testsuite/ld-i386/pr24276.dso    | 9 +++++++++
++ ld/testsuite/ld-i386/pr24276.warn   | 1 +
++ ld/testsuite/ld-x86-64/pr24276.dso  | 9 +++++++++
++ ld/testsuite/ld-x86-64/pr24276.warn | 1 +
++ ld/testsuite/ld-x86-64/x86-64.exp   | 9 +++++++++
++ 7 files changed, 40 insertions(+)
++ create mode 100644 ld/testsuite/ld-i386/pr24276.dso
++ create mode 100644 ld/testsuite/ld-i386/pr24276.warn
++ create mode 100644 ld/testsuite/ld-x86-64/pr24276.dso
++ create mode 100644 ld/testsuite/ld-x86-64/pr24276.warn
++
++diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
++index 6a4b366fdd..e193f44e93 100644
++--- a/bfd/elf64-x86-64.c
+++++ b/bfd/elf64-x86-64.c
++@@ -2238,6 +2238,8 @@ check_pic:
++            bfd_boolean no_copyreloc_p
++              = (info->nocopyreloc
++                 || (h != NULL
+++                    && !h->root.linker_def
+++                    && !h->root.ldscript_def
++                     && eh->def_protected
++                     && elf_has_no_copy_on_protected (h->root.u.def.section->owner)));
++            if ((sec->flags & SEC_ALLOC) != 0
++diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
++index 5b90362cb0..e51a4c30f6 100644
++--- a/ld/testsuite/ld-i386/i386.exp
+++++ b/ld/testsuite/ld-i386/i386.exp
++@@ -804,6 +804,15 @@ if { [isnative]
++          {{objdump {-dw} pr19319.dd}} \
++          "pr19319" \
++      ] \
+++     [list \
+++         "Build pr24276.so" \
+++         "-shared -nostdlib -nostartfiles \
+++          -Ltmpdir $srcdir/$subdir/pr24276.dso" \
+++         "-Wa,-mx86-used-note=yes" \
+++         { pr19319b.S } \
+++         {{warning_output pr24276.warn}} \
+++         "pr24276.so" \
+++     ] \
++      [list \
++          "Build property 1" \
++          "" \
++diff --git a/ld/testsuite/ld-i386/pr24276.dso b/ld/testsuite/ld-i386/pr24276.dso
++new file mode 100644
++index 0000000000..9add115e1c
++--- /dev/null
+++++ b/ld/testsuite/ld-i386/pr24276.dso
++@@ -0,0 +1,9 @@
+++INPUT(pr19319.so)
+++SECTIONS {
+++  my_section : {
+++    __start_my_section = .;
+++    *(my_section);
+++    __stop_my_section = .;
+++
+++  }
+++}
++diff --git a/ld/testsuite/ld-i386/pr24276.warn b/ld/testsuite/ld-i386/pr24276.warn
++new file mode 100644
++index 0000000000..5fcfa343c1
++--- /dev/null
+++++ b/ld/testsuite/ld-i386/pr24276.warn
++@@ -0,0 +1 @@
+++.*contains output sections.*
++diff --git a/ld/testsuite/ld-x86-64/pr24276.dso b/ld/testsuite/ld-x86-64/pr24276.dso
++new file mode 100644
++index 0000000000..9add115e1c
++--- /dev/null
+++++ b/ld/testsuite/ld-x86-64/pr24276.dso
++@@ -0,0 +1,9 @@
+++INPUT(pr19319.so)
+++SECTIONS {
+++  my_section : {
+++    __start_my_section = .;
+++    *(my_section);
+++    __stop_my_section = .;
+++
+++  }
+++}
++diff --git a/ld/testsuite/ld-x86-64/pr24276.warn b/ld/testsuite/ld-x86-64/pr24276.warn
++new file mode 100644
++index 0000000000..5fcfa343c1
++--- /dev/null
+++++ b/ld/testsuite/ld-x86-64/pr24276.warn
++@@ -0,0 +1 @@
+++.*contains output sections.*
++diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
++index 5eb556515f..b03aaced91 100644
++--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++++ b/ld/testsuite/ld-x86-64/x86-64.exp
++@@ -940,6 +940,15 @@ if { [isnative] && [which $CC] != 0 } {
++          {{objdump {-dw} pr19319.dd}} \
++          "pr19319" \
++      ] \
+++     [list \
+++         "Build pr24276.so" \
+++         "-shared -nostdlib -nostartfiles \
+++          -Ltmpdir $srcdir/$subdir/pr24276.dso" \
+++         "-Wa,-mx86-used-note=yes" \
+++         { pr19319b.S } \
+++         {{warning_output pr24276.warn}} \
+++         "pr24276.so" \
+++     ] \
++      [list \
++          "Build property 1" \
++          "" \
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5e80eefa5ed66e3d59b90874f6787a777f8f755e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++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
++pr24276.diff
++
++# experimental ...
++infinity-notes.diff
++#binutils-no-development.diff
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3f5068f1debad42beb93b1ee385f23f8dbbb063e
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1845 @@@
++#!/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 += powerpc powerpcspe ppc64 sh4 sparc64
++      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 ifeq ($(src_name),binutils-mipsen)
++  with_native =
++  with_cross  = yes
++  same_source =
++  ifeq (,$(CROSS_ARCHS))
++    ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32 arm64 ppc64el))
++      CROSS_ARCHS = mips64 mipsn32 mipsn32el
++      CROSS_ARCHS += mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
++    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=<n> 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 := disabled by plugwash
++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/<arch>-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 <bits/wordsize.h>~;}' \
++          -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/<arch>-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/<arch>-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: <pkgname> <install-dir> <???>
++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.%
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..67607c4ecfa8297da0c94df866944641996305ad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7373039502cd37eb21f770f32092aa6db1dc2686
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,230 @@@
++#!/usr/bin/python3
++
++# Quick'n'dirty regression check for dejagnu testsuites
++# Copyright (C) 2003, 2004, 2005, 2006, 2007  James Troup <james@nocrew.org>
++
++# 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] <OLD> <NEW>
++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()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..01b12482545d6cbada122cd49a0620d596677003
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b8825fc179d0fa58886b3aa5364cf3302b6f9af
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..09bfc8d81b579d8da34afc43ee73645adbac6e4a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <martin.pitt@ubuntu.com>
++
++set -e
++
++WORKDIR=$(mktemp -d)
++trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
++cd $WORKDIR
++cat <<EOF > libctest.c
++#include <string.h>
++#include <assert.h>
++
++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"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a2145639ca9ffa99df9bb66fbca98ce7f8bef153
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <martin.pitt@ubuntu.com>
++
++set -e
++
++WORKDIR=$(mktemp -d)
++trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
++cd $WORKDIR
++cat <<EOF > 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 <<EOF > testprog.c
++#include <assert.h>
++
++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 --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..69cbc8aeb7aa694c2d1a55af1fffb9e8f50b2d2f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++version=2
++http://ftp.gnu.org/gnu/binutils/binutils-([\d\.]*).tar.gz