summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2016-03-30 16:30:28 +0300
committerIgor Pashev <pashev.igor@gmail.com>2016-03-30 16:30:28 +0300
commit29cbf83b228215faba1ed46a84c0929b26912f83 (patch)
tree00d436a446f25bc6e40f688b4f2674773e091c8b
downloadbinutils-29cbf83b228215faba1ed46a84c0929b26912f83.tar.gz
Imported binutils_2.26-8debian/2.26-8
-rw-r--r--debian/README.cross26
-rw-r--r--debian/README.source2
-rw-r--r--debian/binutils-cross.overrides5
-rw-r--r--debian/binutils-cross.shlibs.in2
-rw-r--r--debian/binutils-hppa64-linux-gnu.overrides7
-rw-r--r--debian/binutils-hppa64-linux-gnu.postinst7
-rw-r--r--debian/binutils-hppa64-linux-gnu.postrm7
-rw-r--r--debian/binutils-hppa64-linux-gnu.shlibs.in2
-rw-r--r--debian/binutils-multiarch-dev.overrides2
-rw-r--r--debian/binutils-multiarch.overrides13
-rw-r--r--debian/binutils-multiarch.postinst52
-rw-r--r--debian/binutils-multiarch.postrm.in49
-rw-r--r--debian/binutils-multiarch.preinst.in27
-rw-r--r--debian/binutils-multiarch.prerm.in66
-rw-r--r--debian/binutils-multiarch.shlibs.in2
-rw-r--r--debian/binutils.overrides11
-rw-r--r--debian/binutils.postinst7
-rw-r--r--debian/binutils.postrm7
-rw-r--r--debian/binutils.presubj25
-rw-r--r--debian/binutils.shlibs.in2
-rw-r--r--debian/changelog4398
-rw-r--r--debian/control327
-rw-r--r--debian/control.cross.in14
-rw-r--r--debian/control.in106
-rw-r--r--debian/copyright44
-rw-r--r--debian/dwp.133
-rw-r--r--debian/gfdl.texi41
-rw-r--r--debian/ld.gold.1777
-rw-r--r--debian/patches/001_ld_makefile_patch.patch31
-rw-r--r--debian/patches/002_gprof_profile_arcs.patch29
-rw-r--r--debian/patches/003_gprof_see_also_monitor.patch15
-rw-r--r--debian/patches/006_better_file_error.patch21
-rw-r--r--debian/patches/012_check_ldrunpath_length.patch25
-rw-r--r--debian/patches/013_bash_in_ld_testsuite.patch28
-rw-r--r--debian/patches/014_hash_style-both.patch30
-rw-r--r--debian/patches/014_hash_style-gnu.patch31
-rw-r--r--debian/patches/127_x86_64_i386_biarch.patch20
-rw-r--r--debian/patches/128_build_id.patch42
-rw-r--r--debian/patches/128_ppc64_powerpc_biarch.patch17
-rw-r--r--debian/patches/129_multiarch_libpath.patch354
-rw-r--r--debian/patches/130_gold_disable_testsuite_build.patch30
-rw-r--r--debian/patches/131_ld_bootstrap_testsuite.patch47
-rw-r--r--debian/patches/135_bfd_version.patch49
-rw-r--r--debian/patches/157_ar_scripts_with_tilde.patch13
-rw-r--r--debian/patches/158_ld_system_root.patch42
-rw-r--r--debian/patches/161_gold_dummy_zoption.diff29
-rw-r--r--debian/patches/164_ld_doc_remove_xref.diff16
-rw-r--r--debian/patches/aarch64-libpath.diff27
-rw-r--r--debian/patches/branch-updates.diff6320
-rw-r--r--debian/patches/branch-version.diff523
-rw-r--r--debian/patches/gprof-build.diff16
-rw-r--r--debian/patches/mips64-default-n64.diff66
-rw-r--r--debian/patches/pr-ld-16428.diff158
-rw-r--r--debian/patches/release-build.diff10
-rw-r--r--debian/patches/series29
-rw-r--r--debian/patches/zlib-1.2.8.diff6777
-rwxr-xr-xdebian/rules1676
-rw-r--r--debian/source.lintian-overrides5
-rw-r--r--debian/source/format1
-rw-r--r--debian/strip.cross.in3
-rw-r--r--debian/test-suite-compare.py230
-rw-r--r--debian/tests/build1
-rw-r--r--debian/tests/control9
-rw-r--r--debian/tests/libc-link29
-rw-r--r--debian/tests/shlib-build44
-rw-r--r--debian/watch2
66 files changed, 22856 insertions, 0 deletions
diff --git a/debian/README.cross b/debian/README.cross
new file mode 100644
index 0000000..6888a17
--- /dev/null
+++ b/debian/README.cross
@@ -0,0 +1,26 @@
+Cross-binutils debian packages can be built directly from the binutils
+source package.
+
+To build a cross-binutils package:
+
+ 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>")
+
+---
+Nikita Youshchenko <yoush@cs.msu.su>
+Hector Oron <zumbi@debian.org>
+Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..f27f9f2
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,2 @@
+The package uses dpatch to apply patches on top of the upstream source.
+See /usr/share/doc/dpatch/README.source.gz.
diff --git a/debian/binutils-cross.overrides b/debian/binutils-cross.overrides
new file mode 100644
index 0000000..c053f0a
--- /dev/null
+++ b/debian/binutils-cross.overrides
@@ -0,0 +1,5 @@
+@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
diff --git a/debian/binutils-cross.shlibs.in b/debian/binutils-cross.shlibs.in
new file mode 100644
index 0000000..2924a5c
--- /dev/null
+++ b/debian/binutils-cross.shlibs.in
@@ -0,0 +1,2 @@
+libbfd @VER@-@ARCH@@DATE_EXT@ @PKG@ (>= @DEB_UVER@), @PKG@ (<< @DEB_NVER@)
+libopcodes @VER@-@ARCH@@DATE_EXT@ @PKG@ (>= @DEB_UVER@), @PKG@ (<< @DEB_NVER@)
diff --git a/debian/binutils-hppa64-linux-gnu.overrides b/debian/binutils-hppa64-linux-gnu.overrides
new file mode 100644
index 0000000..45a02c2
--- /dev/null
+++ b/debian/binutils-hppa64-linux-gnu.overrides
@@ -0,0 +1,7 @@
+# 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
diff --git a/debian/binutils-hppa64-linux-gnu.postinst b/debian/binutils-hppa64-linux-gnu.postinst
new file mode 100644
index 0000000..9977c68
--- /dev/null
+++ b/debian/binutils-hppa64-linux-gnu.postinst
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+ ldconfig
+fi
diff --git a/debian/binutils-hppa64-linux-gnu.postrm b/debian/binutils-hppa64-linux-gnu.postrm
new file mode 100644
index 0000000..33a236e
--- /dev/null
+++ b/debian/binutils-hppa64-linux-gnu.postrm
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = "remove" ]; then
+ ldconfig
+fi
diff --git a/debian/binutils-hppa64-linux-gnu.shlibs.in b/debian/binutils-hppa64-linux-gnu.shlibs.in
new file mode 100644
index 0000000..35544a0
--- /dev/null
+++ b/debian/binutils-hppa64-linux-gnu.shlibs.in
@@ -0,0 +1,2 @@
+libbfd @VER@-hppa64@DATE_EXT@ binutils-hppa64-linux-gnu
+libopcodes @VER@-hppa64@DATE_EXT@ binutils-hppa64-linux-gnu
diff --git a/debian/binutils-multiarch-dev.overrides b/debian/binutils-multiarch-dev.overrides
new file mode 100644
index 0000000..1a81c37
--- /dev/null
+++ b/debian/binutils-multiarch-dev.overrides
@@ -0,0 +1,2 @@
+# package only has symlinks
+binutils-multiarch-dev binary: control-file-is-empty md5sums
diff --git a/debian/binutils-multiarch.overrides b/debian/binutils-multiarch.overrides
new file mode 100644
index 0000000..010ad55
--- /dev/null
+++ b/debian/binutils-multiarch.overrides
@@ -0,0 +1,13 @@
+# don't warn about missing man pages for diverted binaries
+binutils-multiarch binary: binary-without-manpage
+
+# the API of the shared libs is not public, don't care about the name
+binutils-multiarch binary: package-name-doesnt-match-sonames
+
+# the upstream name, we don't care
+binutils-multiarch binary: dev-pkg-without-shlib-symlink
+
+# not in binutils-multiarch, just move these away
+binutils-multiarch: diversion-for-unknown-file usr/lib/libopcodes.a preinst:19
+binutils-multiarch: diversion-for-unknown-file usr/lib/libbfd.a preinst:16
+
diff --git a/debian/binutils-multiarch.postinst b/debian/binutils-multiarch.postinst
new file mode 100644
index 0000000..0345fe6
--- /dev/null
+++ b/debian/binutils-multiarch.postinst
@@ -0,0 +1,52 @@
+#! /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
+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
+
+if [ "$1" = "configure" ]; then
+ ldconfig
+fi
diff --git a/debian/binutils-multiarch.postrm.in b/debian/binutils-multiarch.postrm.in
new file mode 100644
index 0000000..9c57ec2
--- /dev/null
+++ b/debian/binutils-multiarch.postrm.in
@@ -0,0 +1,49 @@
+#! /bin/sh
+set -e
+this_ver=@DEB_VER@; # this version
+# 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.9.5.0.16-1 "/usr/bin/$prog"
+done
+
+if [ "$1" = "remove" ]; then
+ ldconfig
+fi
diff --git a/debian/binutils-multiarch.preinst.in b/debian/binutils-multiarch.preinst.in
new file mode 100644
index 0000000..2853a74
--- /dev/null
+++ b/debian/binutils-multiarch.preinst.in
@@ -0,0 +1,27 @@
+#! /bin/sh
+set -e
+new_ver=@DEB_VER@; # this version
+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.9.5.0.16-1 "/usr/bin/$prog"
+done
diff --git a/debian/binutils-multiarch.prerm.in b/debian/binutils-multiarch.prerm.in
new file mode 100644
index 0000000..d2781a2
--- /dev/null
+++ b/debian/binutils-multiarch.prerm.in
@@ -0,0 +1,66 @@
+#! /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
+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
diff --git a/debian/binutils-multiarch.shlibs.in b/debian/binutils-multiarch.shlibs.in
new file mode 100644
index 0000000..a5bdd99
--- /dev/null
+++ b/debian/binutils-multiarch.shlibs.in
@@ -0,0 +1,2 @@
+libbfd @VER@-multiarch@DATE_EXT@ binutils-multiarch (>= @DEB_UVER@), binutils-multiarch (<< @DEB_NVER@)
+libopcodes @VER@-multiarch@DATE_EXT@ binutils-multiarch (>= @DEB_UVER@), binutils-multiarch (<< @DEB_NVER@)
diff --git a/debian/binutils.overrides b/debian/binutils.overrides
new file mode 100644
index 0000000..b61b3cc
--- /dev/null
+++ b/debian/binutils.overrides
@@ -0,0 +1,11 @@
+# the API of the shared libs is not public, don't care about the name
+binutils binary: package-name-doesnt-match-sonames
+
+# the upstream name, we don't care
+binutils binary: dev-pkg-without-shlib-symlink
+
+# big tables
+binutils binary: manpage-has-errors-from-man
+
+# silence lintian stupidity
+binutils binary: spelling-error-in-binary usr/bin/as mmnemonic mnemonic
diff --git a/debian/binutils.postinst b/debian/binutils.postinst
new file mode 100644
index 0000000..9977c68
--- /dev/null
+++ b/debian/binutils.postinst
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+ ldconfig
+fi
diff --git a/debian/binutils.postrm b/debian/binutils.postrm
new file mode 100644
index 0000000..33a236e
--- /dev/null
+++ b/debian/binutils.postrm
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = "remove" ]; then
+ ldconfig
+fi
diff --git a/debian/binutils.presubj b/debian/binutils.presubj
new file mode 100644
index 0000000..430e6e4
--- /dev/null
+++ b/debian/binutils.presubj
@@ -0,0 +1,25 @@
+When reporting binutils errors, please provide the actual input files
+and options given to the tool (gas, objcopy, ld, etc.) at run time.
+This can mean the difference between a pleasant debugging experience
+and a heisenbug that becomes unreproducible when gcc's code generation
+changes.
+
+For example, to create a testcase for an "ld" problem, first find the
+"gcc" command line that triggers the error:
+
+ $ make
+ ... output ending in an error ...
+ $ make V=1 VERBOSE=1 2>&1 | head -1
+
+Add "-v" after gcc and run it again. One of the early output lines
+will be an invocation of collect2. Replace collect2 with "ld" and
+it should reproduce the same error. If you collect all the objects
+(including system libraries) mentioned on the "ld" command line in a
+tarball and send it along with the ld command line then that is a
+testcase.
+
+A possible step after that is to try omitting some objects from the
+ld command line and see if it still triggers the same error, but
+that's just icing on the cake.
+
+Happy debugging!
diff --git a/debian/binutils.shlibs.in b/debian/binutils.shlibs.in
new file mode 100644
index 0000000..f7bba79
--- /dev/null
+++ b/debian/binutils.shlibs.in
@@ -0,0 +1,2 @@
+libbfd @VER@-system@DATE_EXT@ binutils (>= @DEB_UVER@), binutils (<< @DEB_NVER@)
+libopcodes @VER@-system@DATE_EXT@ binutils (>= @DEB_UVER@), binutils (<< @DEB_NVER@)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..8aa140a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,4398 @@
+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 Sept 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 --git a/debian/control b/debian/control
new file mode 100644
index 0000000..7680c2c
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,327 @@
+Source: binutils
+Section: devel
+Priority: optional
+Maintainer: Matthias Klose <doko@debian.org>
+Uploaders: James Troup <james@nocrew.org>, Daniel Jacobowitz <dan@debian.org>
+Standards-Version: 3.9.7
+Build-Depends: autoconf (>= 2.64), dpkg-dev (>= 1.17.11),
+ bison, flex, gettext, texinfo, dejagnu, quilt, chrpath,
+ python3:any, file, xz-utils, lsb-release, zlib1g-dev
+Vcs-Browser: https://code.launchpad.net/~doko/binutils/pkg-2.25-debian
+Vcs-Bzr: http://bazaar.launchpad.net/~doko/binutils/pkg-2.25-debian
+XS-Testsuite: autopkgtest
+
+Package: binutils
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: gas, elf-binutils, modutils (<< 2.4.19-1), ${extraConflicts},
+ binutils-gold (<< 2.20.51.20100415)
+Breaks: binutils-mingw-w64-i686 (<< 2.23.52.20130612-1+3),
+ binutils-mingw-w64-x86-64 (<< 2.23.52.20130612-1+3),
+ hardening-wrapper (<< 2.8)
+Replaces: binutils-gold (<< 2.20.51.20100415),
+ binutils-mingw-w64-i686 (<< 2.23.52.20130612-1+3),
+ binutils-mingw-w64-x86-64 (<< 2.23.52.20130612-1+3)
+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: binutils-dev
+Architecture: any
+Priority: extra
+Depends: binutils (= ${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: extra
+Depends: ${shlibs:Depends}, binutils (= ${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-dev
+Architecture: any
+Priority: extra
+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})
+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-doc
+Section: doc
+Architecture: all
+Priority: optional
+Depends: dpkg (>= 1.15.4) | install-info
+Conflicts: binutils (<< 2.9.1.0.25-3)
+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
+Priority: optional
+Depends: texinfo, zlib1g-dev, make, python
+Description: GNU assembler, linker and binary utilities (source)
+ This package contains the sources and patches which are needed to
+ build binutils.
+
+Package: binutils-s390x-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for s390x-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for s390x-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for s390x-linux-gnu.
+
+Package: binutils-powerpc64le-linux-gnu
+Architecture: amd64 i386 x32 ppc64
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for powerpc64le-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for powerpc64le-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for powerpc64le-linux-gnu.
+
+Package: binutils-powerpc-linux-gnu
+Architecture: amd64 i386 x32 ppc64el
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for powerpc-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for powerpc-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for powerpc-linux-gnu.
+
+Package: binutils-aarch64-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for aarch64-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for aarch64-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for aarch64-linux-gnu.
+
+Package: binutils-arm-linux-gnueabihf
+Architecture: amd64 i386 x32 arm64
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for arm-linux-gnueabihf target
+ This package provides GNU assembler, linker and binary utilities
+ for arm-linux-gnueabihf target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for arm-linux-gnueabihf.
+
+Package: binutils-arm-linux-gnueabi
+Architecture: amd64 i386 x32 arm64
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for arm-linux-gnueabi target
+ This package provides GNU assembler, linker and binary utilities
+ for arm-linux-gnueabi target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for arm-linux-gnueabi.
+
+Package: binutils-mips-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for mips-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for mips-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mips-linux-gnu.
+
+Package: binutils-mipsel-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for mipsel-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for mipsel-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mipsel-linux-gnu.
+
+Package: binutils-alpha-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for alpha-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for alpha-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for alpha-linux-gnu.
+
+Package: binutils-hppa-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for hppa-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for hppa-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for hppa-linux-gnu.
+
+Package: binutils-m68k-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for m68k-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for m68k-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for m68k-linux-gnu.
+
+Package: binutils-mips64-linux-gnuabi64
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for mips64-linux-gnuabi64 target
+ This package provides GNU assembler, linker and binary utilities
+ for mips64-linux-gnuabi64 target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mips64-linux-gnuabi64.
+
+Package: binutils-mips64el-linux-gnuabi64
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for mips64el-linux-gnuabi64 target
+ This package provides GNU assembler, linker and binary utilities
+ for mips64el-linux-gnuabi64 target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mips64el-linux-gnuabi64.
+
+Package: binutils-powerpc-linux-gnuspe
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for powerpc-linux-gnuspe target
+ This package provides GNU assembler, linker and binary utilities
+ for powerpc-linux-gnuspe target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for powerpc-linux-gnuspe.
+
+Package: binutils-powerpc64-linux-gnu
+Architecture: amd64 i386 x32 ppc64el
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for powerpc64-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for powerpc64-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for powerpc64-linux-gnu.
+
+Package: binutils-sh4-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for sh4-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for sh4-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for sh4-linux-gnu.
+
+Package: binutils-sparc64-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides:
+Priority: extra
+Description: GNU binary utilities, for sparc64-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for sparc64-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for sparc64-linux-gnu.
diff --git a/debian/control.cross.in b/debian/control.cross.in
new file mode 100644
index 0000000..37e2bc6
--- /dev/null
+++ b/debian/control.cross.in
@@ -0,0 +1,14 @@
+
+Package: binutils-@target@
+Architecture: @host_archs@
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: @binutils_alt_triplet@
+Priority: extra
+Built-Using: ${Built-Using}
+Description: GNU binary utilities, for @target@ target
+ This package provides GNU assembler, linker and binary utilities
+ for @target@ target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for @target@.
diff --git a/debian/control.in b/debian/control.in
new file mode 100644
index 0000000..a1aa458
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,106 @@
+Source: binutils
+Section: devel
+Priority: optional
+Maintainer: Matthias Klose <doko@debian.org>
+Uploaders: James Troup <james@nocrew.org>, Daniel Jacobowitz <dan@debian.org>
+Standards-Version: 3.9.7
+Build-Depends: autoconf (>= 2.64), @dpkg_dev@
+ bison, flex, gettext, texinfo, dejagnu, quilt, chrpath,
+ python3:any, file, xz-utils, lsb-release, zlib1g-dev
+Vcs-Browser: https://code.launchpad.net/~doko/binutils/pkg-2.25-debian
+Vcs-Bzr: http://bazaar.launchpad.net/~doko/binutils/pkg-2.25-debian
+XS-Testsuite: autopkgtest
+
+Package: binutils
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: gas, elf-binutils, modutils (<< 2.4.19-1), ${extraConflicts},
+ binutils-gold (<< 2.20.51.20100415)
+Breaks: binutils-mingw-w64-i686 (<< 2.23.52.20130612-1+3),
+ binutils-mingw-w64-x86-64 (<< 2.23.52.20130612-1+3),
+ hardening-wrapper (<< 2.8)
+Replaces: binutils-gold (<< 2.20.51.20100415),
+ binutils-mingw-w64-i686 (<< 2.23.52.20130612-1+3),
+ binutils-mingw-w64-x86-64 (<< 2.23.52.20130612-1+3)
+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: binutils-dev
+Architecture: any
+Priority: extra
+Depends: binutils (= ${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: extra
+Depends: ${shlibs:Depends}, binutils (= ${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-dev
+Architecture: any
+Priority: extra
+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})
+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-doc
+Section: doc
+Architecture: all
+Priority: optional
+Depends: dpkg (>= 1.15.4) | install-info
+Conflicts: binutils (<< 2.9.1.0.25-3)
+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
+Priority: optional
+Depends: texinfo, zlib1g-dev, make, python
+Description: GNU assembler, linker and binary utilities (source)
+ This package contains the sources and patches which are needed to
+ build binutils.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..50efc00
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,44 @@
+This is the Debian GNU/Linux prepackaged version of the GNU assembler,
+linker, and binary utilities.
+
+This package was put together by me, James Troup <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 --git a/debian/dwp.1 b/debian/dwp.1
new file mode 100644
index 0000000..7274816
--- /dev/null
+++ b/debian/dwp.1
@@ -0,0 +1,33 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.2.
+.TH DWP "1" "November 2015" "dwp (GNU Binutils for Debian) 2.25.51.20151106" "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 2015 Free Software Foundation, Inc.
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License version 3 or (at your option) any later version.
+This program has absolutely no warranty.
diff --git a/debian/gfdl.texi b/debian/gfdl.texi
new file mode 100644
index 0000000..695e4ae
--- /dev/null
+++ b/debian/gfdl.texi
@@ -0,0 +1,41 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+
+@settitle BFD/ld internal documentation
+
+@c Create a separate index for command line options.
+@defcodeindex op
+@c Merge the standard indexes into a single one.
+@syncodeindex fn cp
+@syncodeindex vr cp
+@syncodeindex ky cp
+@syncodeindex pg cp
+@syncodeindex tp cp
+
+@paragraphindent 1
+
+@c %**end of header
+
+@copying
+The current documentation is licensed under the same terms as the Debian packaging.
+@end copying
+@ifnottex
+@dircategory Programming
+@direntry
+* @name@: (@name@). BFD/ld internal documentation (@name@).
+@end direntry
+@sp 1
+@end ifnottex
+
+@summarycontents
+@contents
+@page
+
+@node Top
+@top Introduction
+@cindex introduction
+The official BFD, BFD internals and ld internals documentation is released
+under the terms of the GNU Free Documentation License with cover texts.
+This has been considered non free by the Debian Project. Thus you will find
+it in the non-free section of the Debian archive.
+@bye
diff --git a/debian/ld.gold.1 b/debian/ld.gold.1
new file mode 100644
index 0000000..3f7438c
--- /dev/null
+++ b/debian/ld.gold.1
@@ -0,0 +1,777 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.2.
+.TH GOLD "1" "November 2015" "gold (GNU Binutils for Debian 2.25.51.20151106) 1.11" "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
+.HP
+\fB\-\-allow\-multiple\-definition\fR Allow multiple definitions of symbols
+.TP
+\fB\-\-no\-allow\-multiple\-definition\fR
+Do not allow multiple definitions
+.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
+.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
+Only set DT_NEEDED for shared libraries if used
+.TP
+\fB\-\-no\-as\-needed\fR
+Always DT_NEEDED for shared libraries
+.TP
+\fB\-assert\fR [ignored]
+Ignored
+.TP
+\fB\-b\fR [elf,binary], \fB\-\-format\fR [elf,binary]
+Set input format
+.HP
+\fB\-Bdynamic\fR \fB\-l\fR searches for shared libraries
+.HP
+\fB\-Bstatic\fR \fB\-l\fR does not search for shared libraries
+.TP
+\fB\-dy\fR
+alias for \fB\-Bdynamic\fR
+.TP
+\fB\-dn\fR
+alias for \fB\-Bstatic\fR
+.TP
+\fB\-Bgroup\fR
+Use group name lookup rules for shared library
+.TP
+\fB\-Bsymbolic\fR
+Bind defined symbols locally
+.TP
+\fB\-Bsymbolic\-functions\fR
+Bind defined function symbols locally
+.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'
+.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
+.TP
+\fB\-\-cref\fR
+Output cross reference table
+.TP
+\fB\-\-no\-cref\fR
+Do not output cross reference table
+.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
+.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
+.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\-\-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
+.HP
+\fB\-e\fR ADDRESS, \fB\-\-entry\fR ADDRESS Set program start address
+.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.
+.TP
+\fB\-\-eh\-frame\-hdr\fR
+Create exception frame header
+.TP
+\fB\-\-no\-enum\-size\-warning\fR
+(ARM only) Do not warn about objects with incompatible enum sizes
+.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
+.TP
+\fB\-fini\fR SYMBOL
+Call SYMBOL at unload\-time
+.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.
+.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.
+.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.
+.TP
+\fB\-\-fix\-arm1176\fR
+(ARM only) Fix binaries for ARM1176 erratum.
+.TP
+\fB\-\-no\-fix\-arm1176\fR
+(ARM only) Do not fix binaries for ARM1176 erratum.
+.TP
+\fB\-\-merge\-exidx\-entries\fR
+(ARM only) Merge exidx entries in debuginfo.
+.TP
+\fB\-\-no\-merge\-exidx\-entries\fR
+(ARM only) Do not merge exidx entries in debuginfo.
+.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\-g\fR
+Ignored
+.TP
+\fB\-\-gdb\-index\fR
+Generate .gdb_index section
+.TP
+\fB\-\-no\-gdb\-index\fR
+Do not generate .gdb_index section
+.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\-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 PROGRAM, \fB\-\-dynamic\-linker\fR PROGRAM
+Set dynamic linker path
+.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
+.TP
+\fB\-init\fR SYMBOL
+Call SYMBOL at load\-time
+.TP
+\fB\-\-just\-symbols\fR FILE
+Read only symbol values from FILE
+.TP
+\fB\-\-map\-whole\-files\fR
+Map whole files to memory (default on 64\-bit hosts)
+.TP
+\fB\-\-no\-map\-whole\-files\fR
+Map relevant file parts to memory (default on 32\-bit hosts)
+.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\-\-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 LIBNAME, \fB\-\-library\fR LIBNAME
+Search for library LIBNAME
+.TP
+\fB\-L\fR DIR, \fB\-\-library\-path\fR DIR
+Add directory to search path
+.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\-nostdlib\fR
+Only search directories specified on the command line.
+.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\-m\fR EMULATION
+Set GNU linker emulation; obsolete
+.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
+.TP
+\fB\-\-enable\-new\-dtags\fR
+Enable use of DT_RUNPATH and DT_FLAGS
+.TP
+\fB\-\-disable\-new\-dtags\fR
+Disable use of DT_RUNPATH and DT_FLAGS
+.TP
+\fB\-\-noinhibit\-exec\fR
+Create an output file even if errors occur
+.TP
+\fB\-\-no\-undefined\fR
+Report undefined symbols (even with \fB\-\-shared\fR)
+.TP
+\fB\-o\fR FILE, \fB\-\-output\fR FILE
+Set output file name
+.TP
+\fB\-O\fR LEVEL, \fB\-optimize\fR LEVEL
+Optimize output file size
+.TP
+\fB\-\-oformat\fR [binary]
+Set output format
+.TP
+\fB\-p\fR
+(ARM only) Ignore for backward compatibility
+.TP
+\fB\-pie\fR
+Create a position independent executable
+.TP
+\fB\-no\-pie\fR
+Do not create a position independent executable
+.TP
+\fB\-\-pic\-executable\fR
+Create a position independent executable
+.TP
+\fB\-\-no\-pic\-executable\fR
+Do not create a position independent executable
+.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
+.TP
+\fB\-\-plt\-align\fR [=P2ALIGN]
+(PowerPC64 only) Align PLT call stubs to fit cache lines
+.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
+.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
+.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\-output\-format\fR
+Print default output format
+.TP
+\fB\-\-print\-symbol\-counts\fR FILENAME
+Print symbols defined and used for each input
+.TP
+\fB\-Qy\fR
+Ignored for SVR4 compatibility
+.TP
+\fB\-q\fR, \fB\-\-emit\-relocs\fR
+Generate relocations in output
+.TP
+\fB\-r\fR, \fB\-relocatable\fR
+Generate relocatable output
+.TP
+\fB\-i\fR
+Synonym for \fB\-r\fR
+.TP
+\fB\-\-relax\fR
+Relax branches on certain targets
+.TP
+\fB\-\-retain\-symbols\-file\fR FILE
+keep only symbols listed in this file
+.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\-\-section\-ordering\-file\fR FILENAME
+Layout sections in the order specified.
+.TP
+\fB\-\-section\-start\fR SECTION=ADDRESS
+Set address of section
+.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\-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
+.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 (PowerPC before) the group. 1 means use default size.
+.TP
+\fB\-\-no\-keep\-memory\fR
+Use less memory and more disk I/O (included only for compatibility with GNU ld)
+.TP
+\fB\-G\fR, \fB\-shared\fR
+Generate shared library
+.TP
+\fB\-Bshareable\fR
+Generate shared library
+.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\-\-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\-\-print\-icf\-sections\fR
+List folded identical sections on stderr
+.TP
+\fB\-\-no\-print\-icf\-sections\fR
+Do not list folded identical sections
+.TP
+\fB\-\-keep\-unique\fR SYMBOL
+Do not fold this symbol during ICF
+.TP
+\fB\-\-gc\-sections\fR
+Remove unused sections
+.TP
+\fB\-\-no\-gc\-sections\fR
+Don't remove unused sections (default)
+.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
+.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\-T\fR FILE, \fB\-\-script\fR FILE
+Read linker script
+.TP
+\fB\-\-threads\fR
+Run the linker multi\-threaded
+.TP
+\fB\-\-no\-threads\fR
+Do not run the linker multi\-threaded
+.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\-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\-\-toc\-optimize\fR
+(PowerPC64 only) Optimize TOC code sequences
+.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
+.TP
+\fB\-\-no\-toc\-sort\fR
+(PowerPC64 only) Don't sort TOC and GOT sections
+.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
+Synonym for \fB\-\-debug\fR=\fI\,files\/\fR
+.TP
+\fB\-\-version\-script\fR FILE
+Read version script
+.TP
+\fB\-\-warn\-common\fR
+Warn about duplicate common symbols
+.TP
+\fB\-\-no\-warn\-common\fR
+Do not warn about duplicate common symbols (default)
+.TP
+\fB\-\-warn\-constructors\fR
+Ignored
+.TP
+\fB\-\-no\-warn\-constructors\fR
+Ignored
+.TP
+\fB\-\-warn\-execstack\fR
+Warn if the stack is executable
+.TP
+\fB\-\-no\-warn\-execstack\fR
+Do not warn if the stack is executable (default)
+.TP
+\fB\-\-no\-warn\-mismatch\fR
+Don't warn about mismatched input files
+.TP
+\fB\-\-warn\-multiple\-gp\fR
+Ignored
+.TP
+\fB\-\-warn\-search\-mismatch\fR
+Warn when skipping an incompatible library
+.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
+.TP
+\fB\-\-weak\-unresolved\-symbols\fR
+Convert unresolved symbols to weak references
+.TP
+\fB\-\-no\-wchar\-size\-warning\fR
+(ARM only) Do not warn about objects with incompatible wchar_t sizes
+.TP
+\fB\-\-whole\-archive\fR
+Include all archive contents
+.TP
+\fB\-\-no\-whole\-archive\fR
+Include only needed archive contents
+.TP
+\fB\-\-wrap\fR SYMBOL
+Use wrapper functions for SYMBOL
+.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\-\-start\-lib\fR
+Start a library
+.TP
+\fB\-\-end\-lib\fR
+End a library
+.TP
+\fB\-fuse\-ld\fR
+Ignored for GCC linker option compatibility
+.TP
+\fB\-z\fR combreloc
+Sort dynamic relocs
+.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
+.TP
+\fB\-z\fR norelro
+Don't mark variables read\-only after relocation
+.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 buildd
+Dummy z option
+.PP
+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
+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 2015 Free Software Foundation, Inc.
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License version 3 or (at your option) a later version.
+This program has absolutely no warranty.
diff --git a/debian/patches/001_ld_makefile_patch.patch b/debian/patches/001_ld_makefile_patch.patch
new file mode 100644
index 0000000..8dc5535
--- /dev/null
+++ b/debian/patches/001_ld_makefile_patch.patch
@@ -0,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
+@@ -413,7 +413,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/debian/patches/002_gprof_profile_arcs.patch b/debian/patches/002_gprof_profile_arcs.patch
new file mode 100644
index 0000000..a97f4db
--- /dev/null
+++ b/debian/patches/002_gprof_profile_arcs.patch
@@ -0,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
diff --git a/debian/patches/003_gprof_see_also_monitor.patch b/debian/patches/003_gprof_see_also_monitor.patch
new file mode 100644
index 0000000..38f9156
--- /dev/null
+++ b/debian/patches/003_gprof_see_also_monitor.patch
@@ -0,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;
diff --git a/debian/patches/006_better_file_error.patch b/debian/patches/006_better_file_error.patch
new file mode 100644
index 0000000..067ef38
--- /dev/null
+++ b/debian/patches/006_better_file_error.patch
@@ -0,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
+@@ -195,6 +195,13 @@ bfd_fopen (const char *filename, const c
+ {
+ bfd *nbfd;
+ const bfd_target *target_vec;
++ struct stat s;
++
++ if (stat (filename, &s) == 0)
++ if (S_ISDIR(s.st_mode)) {
++ bfd_set_error (bfd_error_file_not_recognized);
++ return NULL;
++ }
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
diff --git a/debian/patches/012_check_ldrunpath_length.patch b/debian/patches/012_check_ldrunpath_length.patch
new file mode 100644
index 0000000..f706985
--- /dev/null
+++ b/debian/patches/012_check_ldrunpath_length.patch
@@ -0,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
+@@ -1242,6 +1242,8 @@ fragment <<EOF
+ && command_line.rpath == NULL)
+ {
+ lib_path = (const char *) getenv ("LD_RUN_PATH");
++ if ((lib_path) && (strlen (lib_path) == 0))
++ lib_path = NULL;
+ if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+ force))
+ break;
+@@ -1523,6 +1525,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)
diff --git a/debian/patches/013_bash_in_ld_testsuite.patch b/debian/patches/013_bash_in_ld_testsuite.patch
new file mode 100644
index 0000000..7e5a5a8
--- /dev/null
+++ b/debian/patches/013_bash_in_ld_testsuite.patch
@@ -0,0 +1,28 @@
+Author: Matthias Klose <doko@ubuntu.com>
+Description: Explicitely 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
+@@ -121,10 +121,10 @@ proc get_link_files {varname} {
+ #makefile rules, with embedded shell variable expansions.
+ #make wants $$shell_var, we want $shell_var ...
+ set cmd "host='$target_triplet' && . $srcdir/../configure.host && sed -e 's,\\\$\\\$,\$,g' <<EOF\n\$$varname\nEOF"
+- set status [catch "exec sh -c [list $cmd]" result]
++ set status [catch "exec bash -c [list $cmd]" result]
+ if $status { error "Error getting native link files: $result" }
+ set cmd "CC='$CC' && eval echo \"$result\""
+- set status [catch "exec sh -c [list $cmd]" result]
++ set status [catch "exec bash -c [list $cmd]" result]
+ if $status { error "Error getting native link files: $result" }
+ set $varname $result
+ send_log "$varname = $result\n"
+@@ -134,7 +134,7 @@ proc get_link_files {varname} {
+ proc get_target_emul {} {
+ global target_triplet
+ global srcdir
+- set status [catch "exec sh -c \"targ='$target_triplet' && . $srcdir/../configure.tgt && echo \\\$targ_emul\"" result]
++ set status [catch "exec bash -c \"targ='$target_triplet' && . $srcdir/../configure.tgt && echo \\\$targ_emul\"" result]
+ if $status { error "Error getting emulation name: $result" }
+ return $result
+ }
diff --git a/debian/patches/014_hash_style-both.patch b/debian/patches/014_hash_style-both.patch
new file mode 100644
index 0000000..61c3e61
--- /dev/null
+++ b/debian/patches/014_hash_style-both.patch
@@ -0,0 +1,30 @@
+# DP: Default to --hash-style=both in ld.bfd and ld.gold.
+
+--- a/ld/ldmain.c
++++ b/ld/ldmain.c
+@@ -287,6 +288,14 @@
+ emulation = get_emulation (argc, argv);
+ ldemul_choose_mode (emulation);
+ default_target = ldemul_choose_target (argc, argv);
++
++ /* Default to --hash-style=gnu */
++ if (strcmp (default_target, "elf32-tradbigmips") != 0
++ && strcmp (default_target, "elf32-tradlittlemips") != 0)
++ {
++ link_info.emit_gnu_hash = TRUE;
++ }
++
+ config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
+ config.commonpagesize = bfd_emul_get_commonpagesize (default_target);
+ lang_init ();
+--- a/gold/options.h
++++ b/gold/options.h
+@@ -794,7 +794,7 @@
+ N_("Min fraction of empty buckets in dynamic hash"),
+ N_("FRACTION"));
+
+- DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv",
++ DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "both",
+ N_("Dynamic hash style"), N_("[sysv,gnu,both]"),
+ {"sysv", "gnu", "both"});
+
diff --git a/debian/patches/014_hash_style-gnu.patch b/debian/patches/014_hash_style-gnu.patch
new file mode 100644
index 0000000..b43b718
--- /dev/null
+++ b/debian/patches/014_hash_style-gnu.patch
@@ -0,0 +1,31 @@
+# DP: Default to --hash-gnu=both in ld.bfd and ld.gold.
+
+--- a/ld/ldmain.c
++++ b/ld/ldmain.c
+@@ -287,6 +288,15 @@
+ emulation = get_emulation (argc, argv);
+ ldemul_choose_mode (emulation);
+ default_target = ldemul_choose_target (argc, argv);
++
++ /* Default to --hash-style=gnu */
++ if (strcmp (default_target, "elf32-tradbigmips") != 0
++ && strcmp (default_target, "elf32-tradlittlemips") != 0)
++ {
++ link_info.emit_gnu_hash = TRUE;
++ link_info.emit_hash = FALSE;
++ }
++
+ config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
+ config.commonpagesize = bfd_emul_get_commonpagesize (default_target);
+ lang_init ();
+--- a/gold/options.h
++++ b/gold/options.h
+@@ -794,7 +794,7 @@
+ N_("Min fraction of empty buckets in dynamic hash"),
+ N_("FRACTION"));
+
+- DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv",
++ DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "gnu",
+ N_("Dynamic hash style"), N_("[sysv,gnu,both]"),
+ {"sysv", "gnu", "both"});
+
diff --git a/debian/patches/127_x86_64_i386_biarch.patch b/debian/patches/127_x86_64_i386_biarch.patch
new file mode 100644
index 0000000..b75ac82
--- /dev/null
+++ b/debian/patches/127_x86_64_i386_biarch.patch
@@ -0,0 +1,20 @@
+Author:
+Description: Description: Add (/usr)/lib32 to the search paths on x86_64.
+Author: Aurelien Jarno <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
diff --git a/debian/patches/128_build_id.patch b/debian/patches/128_build_id.patch
new file mode 100644
index 0000000..cba02de
--- /dev/null
+++ b/debian/patches/128_build_id.patch
@@ -0,0 +1,42 @@
+Author:
+Description: Description: Fix ld corrupt build ID generation
+Author: Nick Clifton
+Upstream status: Taken from Fedora (BZ 501582)
+--- a/bfd/compress.c
++++ b/bfd/compress.c
+@@ -174,7 +174,7 @@
+ case COMPRESS_SECTION_NONE:
+ if (p == NULL)
+ {
+- p = (bfd_byte *) bfd_malloc (sz);
++ p = (bfd_byte *) bfd_zmalloc (sz);
+ if (p == NULL)
+ return FALSE;
+ need_free = TRUE;
+--- a/bfd/elfcode.h
++++ b/bfd/elfcode.h
+@@ -1158,6 +1158,24 @@
+
+ if (i_shdr.contents)
+ (*process) (i_shdr.contents, i_shdr.sh_size, arg);
++ else
++ {
++ asection *sec;
++
++ sec = bfd_section_from_elf_index (abfd, count);
++ if (sec != NULL)
++ {
++ if (sec->contents == NULL)
++ {
++ /* Force rereading from file. */
++ sec->flags &= ~SEC_IN_MEMORY;
++ if (! bfd_malloc_and_get_section (abfd, sec, & sec->contents))
++ continue;
++ }
++ if (sec->contents != NULL)
++ (*process) (sec->contents, i_shdr.sh_size, arg);
++ }
++ }
+ }
+
+ return TRUE;
diff --git a/debian/patches/128_ppc64_powerpc_biarch.patch b/debian/patches/128_ppc64_powerpc_biarch.patch
new file mode 100644
index 0000000..f75ec74
--- /dev/null
+++ b/debian/patches/128_ppc64_powerpc_biarch.patch
@@ -0,0 +1,17 @@
+Index: b/ld/emulparams/elf32ppccommon.sh
+===================================================================
+--- a/ld/emulparams/elf32ppccommon.sh
++++ b/ld/emulparams/elf32ppccommon.sh
+@@ -54,3 +54,12 @@ case "$host":"$EMULATION_NAME" in
+ *:*64*) LIBPATH_SUFFIX=64 ;;
+ *:*32*) LIBPATH_SUFFIX=32 ;;
+ esac
++
++# On 64bit, look for 32 bit target libraries in /lib32, /usr/lib32 etc., first.
++case "$target" in
++ powerpc64-*-linux* | ppc64-*-linux*)
++ case "$EMULATION_NAME" in
++ *32*) LIBPATH_SUFFIX=32 ;;
++ esac
++ ;;
++esac
diff --git a/debian/patches/129_multiarch_libpath.patch b/debian/patches/129_multiarch_libpath.patch
new file mode 100644
index 0000000..5b64cea
--- /dev/null
+++ b/debian/patches/129_multiarch_libpath.patch
@@ -0,0 +1,354 @@
+# 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
+@@ -205,31 +303,138 @@ if [ "${LIB_PATH}" != ":" ] ; then
+ # vs. /usr/s390-linux/lib64)
+ 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
+ libs="${exec_prefix}/${TOOL_LIB}/lib ${libs}"
+ fi
+ 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
++echo X3: $LIB_PATH
++
+ # 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
+@@ -38,6 +38,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
+@@ -594,6 +594,7 @@ LTLIBOBJS
+ MAINT
+ MAINTAINER_MODE_FALSE
+ MAINTAINER_MODE_TRUE
++MULTIARCH_DIRNAME
+ DLOPEN_LIBS
+ CXXCPP
+ HAVE_NO_USE_LINKER_PLUGIN_FALSE
+@@ -7607,6 +7608,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
+@@ -643,6 +643,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
+@@ -1164,8 +1164,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
+@@ -424,6 +424,7 @@ AM_CPPFLAGS = \
+ -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../elfcpp \
+ -DLOCALEDIR="\"$(datadir)/locale\"" \
+ -DBINDIR="\"$(bindir)\"" -DTOOLBINDIR="\"$(tooldir)/bin\"" \
++ @MULTIARCH_DIRNAME@ $(if $(APPEND_TOOLLIBDIR),-DAPPEND_TOOLLIBDIR) \
+ -DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@
+
+ LIBIBERTY = ../libiberty/libiberty.a
diff --git a/debian/patches/130_gold_disable_testsuite_build.patch b/debian/patches/130_gold_disable_testsuite_build.patch
new file mode 100644
index 0000000..6ade3a2
--- /dev/null
+++ b/debian/patches/130_gold_disable_testsuite_build.patch
@@ -0,0 +1,30 @@
+Author:
+Description: Description: Disable build of gold/testsuite
+Author: Matthias Klose
+Upstream status: local
+Index: b/gold/Makefile.am
+===================================================================
+--- a/gold/Makefile.am
++++ b/gold/Makefile.am
+@@ -19,7 +19,7 @@
+
+ AUTOMAKE_OPTIONS = foreign
+
+-SUBDIRS = po testsuite
++SUBDIRS = po
+
+ tooldir = $(exec_prefix)/$(target_alias)
+
+Index: b/gold/Makefile.in
+===================================================================
+--- a/gold/Makefile.in
++++ b/gold/Makefile.in
+@@ -409,7 +409,7 @@ top_srcdir = @top_srcdir@
+ zlibdir = @zlibdir@
+ zlibinc = @zlibinc@
+ AUTOMAKE_OPTIONS = foreign
+-SUBDIRS = po testsuite
++SUBDIRS = po
+ tooldir = $(exec_prefix)/$(target_alias)
+ ACLOCAL_AMFLAGS = -I ../bfd -I ../config
+
diff --git a/debian/patches/131_ld_bootstrap_testsuite.patch b/debian/patches/131_ld_bootstrap_testsuite.patch
new file mode 100644
index 0000000..4c6f434
--- /dev/null
+++ b/debian/patches/131_ld_bootstrap_testsuite.patch
@@ -0,0 +1,47 @@
+Author:
+Description: Description: Fix ld-bootstrap testsuite when configured with --enable-plugins
+Author: Rafael Espindola
+Upstream status: proposed patch
+Index: b/ld/testsuite/ld-bootstrap/bootstrap.exp
+===================================================================
+--- a/ld/testsuite/ld-bootstrap/bootstrap.exp
++++ b/ld/testsuite/ld-bootstrap/bootstrap.exp
+@@ -44,6 +44,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
+@@ -90,6 +99,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 {
+@@ -134,6 +148,10 @@ foreach flags $test_flags {
+ }
+ }
+
++ if { $plugins == "yes" } {
++ set extralibs "$extralibs -ldl"
++ }
++
+ # On Irix 5, linking with --static only works if all the files are
+ # compiled using -non_shared.
+ if {"$flags" == "--static"} {
diff --git a/debian/patches/135_bfd_version.patch b/debian/patches/135_bfd_version.patch
new file mode 100644
index 0000000..e763266
--- /dev/null
+++ b/debian/patches/135_bfd_version.patch
@@ -0,0 +1,49 @@
+Author:
+Description: Description: Fix bfd version handling for extra builds
+
+Index: b/bfd/Makefile.am
+===================================================================
+--- a/bfd/Makefile.am
++++ b/bfd/Makefile.am
+@@ -1042,15 +1042,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
+@@ -2110,15 +2110,15 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES)
+
+ bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in
+ @echo "creating $@"
+- @bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
+- bfd_version_string="\"$(VERSION)\"" ;\
++ @bfd_version=`echo "$(VERSION)" | sed -e 's/-.*$$//' | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
++ bfd_version_string="\"`echo $(VERSION) | sed -e 's/-.*$$//'`\"" ;\
+ bfd_soversion="$(VERSION)" ;\
+ bfd_version_package="\"$(PKGVERSION)\"" ;\
+ report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
+ . $(srcdir)/development.sh ;\
+ if test "$$development" = true ; then \
+ bfd_version_date=`$(SED) -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\
+- bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\
++ bfd_version_string="\"`echo $(VERSION) | sed -e 's/-.*$$//'`.$${bfd_version_date}\"" ;\
+ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
+ fi ;\
+ $(SED) -e "s,@bfd_version@,$$bfd_version," \
diff --git a/debian/patches/157_ar_scripts_with_tilde.patch b/debian/patches/157_ar_scripts_with_tilde.patch
new file mode 100644
index 0000000..b1cb8b7
--- /dev/null
+++ b/debian/patches/157_ar_scripts_with_tilde.patch
@@ -0,0 +1,13 @@
+Index: b/binutils/arlex.l
+===================================================================
+--- a/binutils/arlex.l
++++ b/binutils/arlex.l
+@@ -78,7 +78,7 @@ int linenumber;
+ "(" { return '('; }
+ ")" { return ')'; }
+ "," { return ','; }
+-[A-Za-z0-9/\\$:.\-\_]+ {
++[A-Za-z0-9/\\$:.\-\_~]+ {
+ yylval.name = xstrdup (yytext);
+ return FILENAME;
+ }
diff --git a/debian/patches/158_ld_system_root.patch b/debian/patches/158_ld_system_root.patch
new file mode 100644
index 0000000..27c07a6
--- /dev/null
+++ b/debian/patches/158_ld_system_root.patch
@@ -0,0 +1,42 @@
+Index: b/ld/configure.ac
+===================================================================
+--- a/ld/configure.ac
++++ b/ld/configure.ac
+@@ -56,7 +56,9 @@
+ *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
+ esac
+
++ if test "x$TARGET_SYSTEM_ROOT" != x/; then
+ TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
++ fi
+ use_sysroot=yes
+
+ if test "x$prefix" = xNONE; then
+Index: b/ld/configure
+===================================================================
+--- a/ld/configure
++++ b/ld/configure
+@@ -4283,7 +4283,9 @@
+ *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
+ esac
+
++ if test "x$TARGET_SYSTEM_ROOT" != x/; then
+ TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
++ fi
+ use_sysroot=yes
+
+ if test "x$prefix" = xNONE; then
+Index: b/ld/ldmain.c
+===================================================================
+--- a/ld/ldmain.c
++++ b/ld/ldmain.c
+@@ -226,8 +226,8 @@
+ {
+ if (*TARGET_SYSTEM_ROOT == 0)
+ {
+- einfo ("%P%F: this linker was not configured to use sysroots\n");
+ ld_sysroot = "";
++ ld_canon_sysroot = "";
+ }
+ else
+ ld_canon_sysroot = lrealpath (ld_sysroot);
diff --git a/debian/patches/161_gold_dummy_zoption.diff b/debian/patches/161_gold_dummy_zoption.diff
new file mode 100644
index 0000000..68e8d15
--- /dev/null
+++ b/debian/patches/161_gold_dummy_zoption.diff
@@ -0,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
+@@ -1341,6 +1341,9 @@ class General_options
+ DEFINE_bool_alias(textoff, text, options::DASH_Z, '\0',
+ N_("Permit relocations in read-only segments (default)"),
+ NULL, true);
++ DEFINE_bool(buildd, options::DASH_Z, '\0', false,
++ N_("Dummy z option"),
++ NULL);
+
+ public:
+ typedef options::Dir_list Dir_list;
+Index: b/gold/options.cc
+===================================================================
+--- a/gold/options.cc
++++ b/gold/options.cc
+@@ -918,6 +918,8 @@ parse_short_option(int argc, const char*
+ {
+ int dummy_i = 0;
+ const char* dash_z_arg = *arg;
++ if (strncmp(dash_z_arg, "buildd", strlen("buildd")) == 0)
++ *arg = "buildd";
+ retval = parse_long_option(1, arg, true, arg, &dummy_i);
+ if (retval == NULL)
+ usage(_("unknown -z option"), dash_z_arg);
diff --git a/debian/patches/164_ld_doc_remove_xref.diff b/debian/patches/164_ld_doc_remove_xref.diff
new file mode 100644
index 0000000..3c24528
--- /dev/null
+++ b/debian/patches/164_ld_doc_remove_xref.diff
@@ -0,0 +1,16 @@
+# DP: In ld.texi, remove cross reference to BFD internals documentation.
+
+Index: b/ld/ld.texinfo
+===================================================================
+--- a/ld/ld.texinfo
++++ b/ld/ld.texinfo
+@@ -8010,7 +8010,8 @@ may be spent optimizing algorithms for a
+ One minor artifact of the BFD solution which you should bear in
+ mind is the potential for information loss. There are two places where
+ useful information can be lost using the BFD mechanism: during
+-conversion and during output. @xref{BFD information loss}.
++conversion and during output. See BFD information loss in the BFD
++internal documentation.
+
+ @menu
+ * BFD outline:: How it works: an outline of BFD
diff --git a/debian/patches/aarch64-libpath.diff b/debian/patches/aarch64-libpath.diff
new file mode 100644
index 0000000..ef43bf7
--- /dev/null
+++ b/debian/patches/aarch64-libpath.diff
@@ -0,0 +1,27 @@
+Index: b/ld/emulparams/aarch64linux.sh
+===================================================================
+--- a/ld/emulparams/aarch64linux.sh
++++ b/ld/emulparams/aarch64linux.sh
+@@ -38,12 +38,15 @@
+
+ # Linux modifies the default library search path to first include
+ # a 64-bit specific directory.
+-case "$target" in
+- aarch64*-linux*)
+- case "$EMULATION_NAME" in
+- aarch64linux*) LIBPATH_SUFFIX=64 ;;
+- esac
+- ;;
+-esac
++
++# not for multiarch systems ...
++
++#case "$target" in
++# aarch64*-linux*)
++# case "$EMULATION_NAME" in
++# aarch64linux*) LIBPATH_SUFFIX=64 ;;
++# esac
++# ;;
++#esac
+
+ ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64.so.1\"
diff --git a/debian/patches/branch-updates.diff b/debian/patches/branch-updates.diff
new file mode 100644
index 0000000..e18c611
--- /dev/null
+++ b/debian/patches/branch-updates.diff
@@ -0,0 +1,6320 @@
+# DP: updates from the binutils-2.26 branch
+
+# git diff 2c49145108878e9914173cd9c3aa36ab0cede6b3 0a2ba2faf315f945afde25416a2351275d12506d
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index e860c3e..4741b19 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,156 @@
++2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19827
++ * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
++ locally in PIE.
++ (elf_i386_relocate_section): Likewise.
++ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
++ (elf_x86_64_relocate_section): Likewise.
++
++2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19539
++ * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
++ against STT_GNU_IFUNC symbol only with dynamic symbols.
++ * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
++
++2016-03-15 Nick Clifton <nickc@redhat.com>
++
++ Backport from master:
++ 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
++
++ PR ld/19623
++ * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
++ relocations against absolute symbols.
++
++2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR binutils/19523
++ * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
++ decompress debug sections.
++
++2016-03-09 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19579
++ Backport from master
++ 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
++
++ * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
++ together.
++
++ 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
++
++ * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
++ executable as definition if the new definition comes from a
++ shared library.
++
++2016-03-09 Nick Clifton <nickc@redhat.com>
++ Alan Modra <amodra@gmail.com>
++
++ PR binutils/19775
++ * archive.c (bfd_generic_openr_next_archived_file): Allow zero
++ length elements in the archive.
++ * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Likewise.
++
++2016-03-01 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19752
++ Backport from master
++ 2015-12-18 H.J. Lu <hongjiu.lu@intel.com>
++
++ * coff-x86_64.c (coff_amd64_reloc): Fix formatting.
++
++ 2015-12-18 Nick Clifton <nickc@redhat.com>
++
++ * coff-i386.c (coff_i386_reloc): Fix formatting.
++
++2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19698
++ * elflink.c (bfd_elf_record_link_assignment): Set versioned if
++ symbol version is unknown.
++
++2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19553
++ * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
++ if a symbol from a library loaded via DT_NEEDED doesn't match
++ the symbol referenced by regular object.
++
++2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
++
++ * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
++ to (bfd_vma) -1 when setting needs_plt to 0.
++ * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
++
++2016-02-26 Alan Modra <amodra@gmail.com>
++
++ * elf64-ppc.c (create_linkage_sections): Create sfpr when
++ save_restore_funcs, rest of sections when not relocatable.
++ (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
++ (sfpr_define): Define all symbols on emitted code.
++ (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
++ when relocatable. Move sfpr_define loop earlier.
++
++2016-02-25 Jiong Wang <jiong.wang@arm.com>
++
++ Backport from master
++ 2016-01-21 Jiong Wang <jiong.wang@arm.com>
++
++ * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
++ veneer for sym_sec != input_sec.
++ (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
++ (elfNN_aarch64_final_link_relocate): Take rela addend into account when
++ calculation destination.
++
++2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19601
++ * elf32-i386.c (elf_i386_relocate_section): Mask off the least
++ significant bit in GOT offset for R_386_GOT32X.
++
++2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19542
++ * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
++ distances in the compressed_size field of the output section.
++
++2016-02-01 John David Anglin <danglin@gcc.gnu.org>
++
++ PR ld/19526
++ * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
++ files.
++ * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
++
++2016-01-25 Tristan Gingold <gingold@adacore.com>
++
++ * version.m4: Bump version to 2.26.0
++ * configure: Regenerate.
++
+ 2016-01-25 Tristan Gingold <gingold@adacore.com>
+
+ * version.m4: Bump version to 2.26
+@@ -119,7 +272,7 @@
+ * configure: Regenerate.
+
+ 2015-11-11 Alan Modra <amodra@gmail.com>
+- Peter Bergner <bergner@vnet.ibm.com>
++ Peter Bergner <bergner@vnet.ibm.com>
+
+ * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_REL16DX_HA.
+ (ppc_elf_reloc_type_lookup): Handle R_PPC_REL16DX_HA.
+@@ -179,8 +332,8 @@
+
+ 2015-10-29 Catherine Moore <clm@codesourcery.com>
+
+- * elfxx-mips.c (mips_elf_check_mips16_stubs): Set a stub's output
+- section to bfd_abs_section_ptr if the stub is discarded.
++ * elfxx-mips.c (mips_elf_check_mips16_stubs): Set a stub's output
++ section to bfd_abs_section_ptr if the stub is discarded.
+
+ 2015-10-29 Ed Schouten <ed@nuxi.nl>
+
+@@ -232,7 +385,7 @@
+ * bfd-in2.h: Regenerate.
+
+ 2015-10-27 Laurent Alfonsi <laurent.alfonsi@st.com>
+- Christophe Monat <christophe.monat@st.com>
++ Christophe Monat <christophe.monat@st.com>
+
+ * bfd-in2.h: Regenerate.
+ * bfd-in.h (bfd_arm_stm32l4xx_fix): New enum. Specify how
+@@ -1225,115 +1378,115 @@
+
+ 2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
+
+- * bfd/aoutx.h: Replace shared, executable, relocatable and pie
++ * aoutx.h: Replace shared, executable, relocatable and pie
+ fields with bfd_link_executable, bfd_link_dll,
+ bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
+- * bfd/bout.c: Likewise.
+- * bfd/coff-alpha.c: Likewise.
+- * bfd/coff-arm.c: Likewise.
+- * bfd/coff-i386.c: Likewise.
+- * bfd/coff-i960.c: Likewise.
+- * bfd/coff-m68k.c: Likewise.
+- * bfd/coff-mcore.c: Likewise.
+- * bfd/coff-mips.c: Likewise.
+- * bfd/coff-ppc.c: Likewise.
+- * bfd/coff-rs6000.c: Likewise.
+- * bfd/coff-sh.c: Likewise.
+- * bfd/coff-tic80.c: Likewise.
+- * bfd/coff-x86_64.c: Likewise.
+- * bfd/coff64-rs6000.c: Likewise.
+- * bfd/coffgen.c: Likewise.
+- * bfd/cofflink.c: Likewise.
+- * bfd/ecoff.c: Likewise.
+- * bfd/ecofflink.c: Likewise.
+- * bfd/elf-bfd.h: Likewise.
+- * bfd/elf-eh-frame.c: Likewise.
+- * bfd/elf-ifunc.c: Likewise.
+- * bfd/elf-m10200.c: Likewise.
+- * bfd/elf-m10300.c: Likewise.
+- * bfd/elf-s390-common.c: Likewise.
+- * bfd/elf-vxworks.c: Likewise.
+- * bfd/elf.c: Likewise.
+- * bfd/elf32-arm.c: Likewise.
+- * bfd/elf32-avr.c: Likewise.
+- * bfd/elf32-bfin.c: Likewise.
+- * bfd/elf32-cr16.c: Likewise.
+- * bfd/elf32-cr16c.c: Likewise.
+- * bfd/elf32-cris.c: Likewise.
+- * bfd/elf32-crx.c: Likewise.
+- * bfd/elf32-d10v.c: Likewise.
+- * bfd/elf32-dlx.c: Likewise.
+- * bfd/elf32-epiphany.c: Likewise.
+- * bfd/elf32-fr30.c: Likewise.
+- * bfd/elf32-frv.c: Likewise.
+- * bfd/elf32-ft32.c: Likewise.
+- * bfd/elf32-h8300.c: Likewise.
+- * bfd/elf32-hppa.c: Likewise.
+- * bfd/elf32-i370.c: Likewise.
+- * bfd/elf32-i386.c: Likewise.
+- * bfd/elf32-i860.c: Likewise.
+- * bfd/elf32-ip2k.c: Likewise.
+- * bfd/elf32-iq2000.c: Likewise.
+- * bfd/elf32-lm32.c: Likewise.
+- * bfd/elf32-m32c.c: Likewise.
+- * bfd/elf32-m32r.c: Likewise.
+- * bfd/elf32-m68hc11.c: Likewise.
+- * bfd/elf32-m68hc1x.c: Likewise.
+- * bfd/elf32-m68k.c: Likewise.
+- * bfd/elf32-mcore.c: Likewise.
+- * bfd/elf32-mep.c: Likewise.
+- * bfd/elf32-metag.c: Likewise.
+- * bfd/elf32-microblaze.c: Likewise.
+- * bfd/elf32-moxie.c: Likewise.
+- * bfd/elf32-msp430.c: Likewise.
+- * bfd/elf32-mt.c: Likewise.
+- * bfd/elf32-nds32.c: Likewise.
+- * bfd/elf32-nios2.c: Likewise.
+- * bfd/elf32-or1k.c: Likewise.
+- * bfd/elf32-ppc.c: Likewise.
+- * bfd/elf32-rl78.c: Likewise.
+- * bfd/elf32-rx.c: Likewise.
+- * bfd/elf32-s390.c: Likewise.
+- * bfd/elf32-score.c: Likewise.
+- * bfd/elf32-score7.c: Likewise.
+- * bfd/elf32-sh-symbian.c: Likewise.
+- * bfd/elf32-sh.c: Likewise.
+- * bfd/elf32-sh64.c: Likewise.
+- * bfd/elf32-spu.c: Likewise.
+- * bfd/elf32-tic6x.c: Likewise.
+- * bfd/elf32-tilepro.c: Likewise.
+- * bfd/elf32-v850.c: Likewise.
+- * bfd/elf32-vax.c: Likewise.
+- * bfd/elf32-visium.c: Likewise.
+- * bfd/elf32-xc16x.c: Likewise.
+- * bfd/elf32-xstormy16.c: Likewise.
+- * bfd/elf32-xtensa.c: Likewise.
+- * bfd/elf64-alpha.c: Likewise.
+- * bfd/elf64-hppa.c: Likewise.
+- * bfd/elf64-ia64-vms.c: Likewise.
+- * bfd/elf64-mmix.c: Likewise.
+- * bfd/elf64-ppc.c: Likewise.
+- * bfd/elf64-s390.c: Likewise.
+- * bfd/elf64-sh64.c: Likewise.
+- * bfd/elf64-x86-64.c: Likewise.
+- * bfd/elflink.c: Likewise.
+- * bfd/elfnn-aarch64.c: Likewise.
+- * bfd/elfnn-ia64.c: Likewise.
+- * bfd/elfxx-mips.c: Likewise.
+- * bfd/elfxx-sparc.c: Likewise.
+- * bfd/elfxx-tilegx.c: Likewise.
+- * bfd/i386linux.c: Likewise.
+- * bfd/linker.c: Likewise.
+- * bfd/m68klinux.c: Likewise.
+- * bfd/pdp11.c: Likewise.
+- * bfd/pe-mips.c: Likewise.
+- * bfd/peXXigen.c: Likewise.
+- * bfd/reloc.c: Likewise.
+- * bfd/reloc16.c: Likewise.
+- * bfd/sparclinux.c: Likewise.
+- * bfd/sunos.c: Likewise.
+- * bfd/vms-alpha.c: Likewise.
+- * bfd/xcofflink.c: Likewise.
++ * bout.c: Likewise.
++ * coff-alpha.c: Likewise.
++ * coff-arm.c: Likewise.
++ * coff-i386.c: Likewise.
++ * coff-i960.c: Likewise.
++ * coff-m68k.c: Likewise.
++ * coff-mcore.c: Likewise.
++ * coff-mips.c: Likewise.
++ * coff-ppc.c: Likewise.
++ * coff-rs6000.c: Likewise.
++ * coff-sh.c: Likewise.
++ * coff-tic80.c: Likewise.
++ * coff-x86_64.c: Likewise.
++ * coff64-rs6000.c: Likewise.
++ * coffgen.c: Likewise.
++ * cofflink.c: Likewise.
++ * ecoff.c: Likewise.
++ * ecofflink.c: Likewise.
++ * elf-bfd.h: Likewise.
++ * elf-eh-frame.c: Likewise.
++ * elf-ifunc.c: Likewise.
++ * elf-m10200.c: Likewise.
++ * elf-m10300.c: Likewise.
++ * elf-s390-common.c: Likewise.
++ * elf-vxworks.c: Likewise.
++ * elf.c: Likewise.
++ * elf32-arm.c: Likewise.
++ * elf32-avr.c: Likewise.
++ * elf32-bfin.c: Likewise.
++ * elf32-cr16.c: Likewise.
++ * elf32-cr16c.c: Likewise.
++ * elf32-cris.c: Likewise.
++ * elf32-crx.c: Likewise.
++ * elf32-d10v.c: Likewise.
++ * elf32-dlx.c: Likewise.
++ * elf32-epiphany.c: Likewise.
++ * elf32-fr30.c: Likewise.
++ * elf32-frv.c: Likewise.
++ * elf32-ft32.c: Likewise.
++ * elf32-h8300.c: Likewise.
++ * elf32-hppa.c: Likewise.
++ * elf32-i370.c: Likewise.
++ * elf32-i386.c: Likewise.
++ * elf32-i860.c: Likewise.
++ * elf32-ip2k.c: Likewise.
++ * elf32-iq2000.c: Likewise.
++ * elf32-lm32.c: Likewise.
++ * elf32-m32c.c: Likewise.
++ * elf32-m32r.c: Likewise.
++ * elf32-m68hc11.c: Likewise.
++ * elf32-m68hc1x.c: Likewise.
++ * elf32-m68k.c: Likewise.
++ * elf32-mcore.c: Likewise.
++ * elf32-mep.c: Likewise.
++ * elf32-metag.c: Likewise.
++ * elf32-microblaze.c: Likewise.
++ * elf32-moxie.c: Likewise.
++ * elf32-msp430.c: Likewise.
++ * elf32-mt.c: Likewise.
++ * elf32-nds32.c: Likewise.
++ * elf32-nios2.c: Likewise.
++ * elf32-or1k.c: Likewise.
++ * elf32-ppc.c: Likewise.
++ * elf32-rl78.c: Likewise.
++ * elf32-rx.c: Likewise.
++ * elf32-s390.c: Likewise.
++ * elf32-score.c: Likewise.
++ * elf32-score7.c: Likewise.
++ * elf32-sh-symbian.c: Likewise.
++ * elf32-sh.c: Likewise.
++ * elf32-sh64.c: Likewise.
++ * elf32-spu.c: Likewise.
++ * elf32-tic6x.c: Likewise.
++ * elf32-tilepro.c: Likewise.
++ * elf32-v850.c: Likewise.
++ * elf32-vax.c: Likewise.
++ * elf32-visium.c: Likewise.
++ * elf32-xc16x.c: Likewise.
++ * elf32-xstormy16.c: Likewise.
++ * elf32-xtensa.c: Likewise.
++ * elf64-alpha.c: Likewise.
++ * elf64-hppa.c: Likewise.
++ * elf64-ia64-vms.c: Likewise.
++ * elf64-mmix.c: Likewise.
++ * elf64-ppc.c: Likewise.
++ * elf64-s390.c: Likewise.
++ * elf64-sh64.c: Likewise.
++ * elf64-x86-64.c: Likewise.
++ * elflink.c: Likewise.
++ * elfnn-aarch64.c: Likewise.
++ * elfnn-ia64.c: Likewise.
++ * elfxx-mips.c: Likewise.
++ * elfxx-sparc.c: Likewise.
++ * elfxx-tilegx.c: Likewise.
++ * i386linux.c: Likewise.
++ * linker.c: Likewise.
++ * m68klinux.c: Likewise.
++ * pdp11.c: Likewise.
++ * pe-mips.c: Likewise.
++ * peXXigen.c: Likewise.
++ * reloc.c: Likewise.
++ * reloc16.c: Likewise.
++ * sparclinux.c: Likewise.
++ * sunos.c: Likewise.
++ * vms-alpha.c: Likewise.
++ * xcofflink.c: Likewise.
+
+ 2015-08-18 Alan Modra <amodra@gmail.com>
+
+@@ -1387,7 +1540,7 @@
+
+ 2015-08-11 Jiong Wang <jiong.wang@arm.com>
+
+- * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
++ * elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
+ Loose the check for symbol from ABS section.
+ (elfNN_aarch64_size_stubs): Pass sym_sec.
+
+@@ -1688,10 +1841,10 @@
+
+ 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+- PR binutils/18656
+- * bfd.c (bfd_convert_section_size): New function.
+- (bfd_convert_section_contents): Likewise.
+- * bfd-in2.h: Regenerated.
++ PR binutils/18656
++ * bfd.c (bfd_convert_section_size): New function.
++ (bfd_convert_section_contents): Likewise.
++ * bfd-in2.h: Regenerated.
+
+ 2015-07-09 Catherine Moore <clm@codesourcery.com>
+
+@@ -2004,7 +2157,6 @@
+ Bernd Schmidt <bernds@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+- bfd/
+ * bfd-in2.h: Regenerated.
+ * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
+ (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
+@@ -2913,7 +3065,7 @@
+ 2015-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * compress.c (bfd_compress_section_contents): Make it static.
+- * bfd/bfd-in2.h: Regenerated.
++ * bfd-in2.h: Regenerated.
+
+ 2015-03-18 Eric Youngdale <eyoungdale@ptc.com>
+
+@@ -3062,8 +3214,8 @@
+
+ 2015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+- * bfd/bfd-in2.h: Regenerate.
+- * bfd/libbfd.h: Regenerate.
++ * bfd-in2.h: Regenerate.
++ * libbfd.h: Regenerate.
+
+ 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+@@ -3534,7 +3686,7 @@
+ is weak or pointer_equality_needed is FALSE.
+
+ * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
+- comment discussing why we clear st_value for some symbols.
++ comment discussing why we clear st_value for some symbols.
+
+ 2015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+diff --git a/bfd/archive.c b/bfd/archive.c
+index b3d03d3..1fc3a94 100644
+--- a/bfd/archive.c
++++ b/bfd/archive.c
+@@ -802,7 +802,7 @@ bfd_generic_openr_next_archived_file (bfd *archive, bfd *last_file)
+ Note that last_file->origin can be odd in the case of
+ BSD-4.4-style element with a long odd size. */
+ filestart += filestart % 2;
+- if (filestart <= last_file->proxy_origin)
++ if (filestart < last_file->proxy_origin)
+ {
+ /* Prevent looping. See PR19256. */
+ bfd_set_error (bfd_error_malformed_archive);
+diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c
+index 7478f2f..fffb9f7 100644
+--- a/bfd/coff-alpha.c
++++ b/bfd/coff-alpha.c
+@@ -2208,7 +2208,7 @@ alpha_ecoff_openr_next_archived_file (bfd *archive, bfd *last_file)
+ BSD-4.4-style element with a long odd size. */
+ filestart = last_file->proxy_origin + size;
+ filestart += filestart % 2;
+- if (filestart <= last_file->proxy_origin)
++ if (filestart < last_file->proxy_origin)
+ {
+ /* Prevent looping. See PR19256. */
+ bfd_set_error (bfd_error_malformed_archive);
+diff --git a/bfd/coff-i386.c b/bfd/coff-i386.c
+index a9725c4..1b1a815 100644
+--- a/bfd/coff-i386.c
++++ b/bfd/coff-i386.c
+@@ -139,41 +139,41 @@ coff_i386_reloc (bfd *abfd,
+ #define DOIT(x) \
+ x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
+
+- if (diff != 0)
+- {
+- reloc_howto_type *howto = reloc_entry->howto;
+- unsigned char *addr = (unsigned char *) data + reloc_entry->address;
++ if (diff != 0)
++ {
++ reloc_howto_type *howto = reloc_entry->howto;
++ unsigned char *addr = (unsigned char *) data + reloc_entry->address;
++
++ switch (howto->size)
++ {
++ case 0:
++ {
++ char x = bfd_get_8 (abfd, addr);
++ DOIT (x);
++ bfd_put_8 (abfd, x, addr);
++ }
++ break;
+
+- switch (howto->size)
++ case 1:
+ {
+- case 0:
+- {
+- char x = bfd_get_8 (abfd, addr);
+- DOIT (x);
+- bfd_put_8 (abfd, x, addr);
+- }
+- break;
+-
+- case 1:
+- {
+- short x = bfd_get_16 (abfd, addr);
+- DOIT (x);
+- bfd_put_16 (abfd, (bfd_vma) x, addr);
+- }
+- break;
+-
+- case 2:
+- {
+- long x = bfd_get_32 (abfd, addr);
+- DOIT (x);
+- bfd_put_32 (abfd, (bfd_vma) x, addr);
+- }
+- break;
+-
+- default:
+- abort ();
++ short x = bfd_get_16 (abfd, addr);
++ DOIT (x);
++ bfd_put_16 (abfd, (bfd_vma) x, addr);
+ }
+- }
++ break;
++
++ case 2:
++ {
++ long x = bfd_get_32 (abfd, addr);
++ DOIT (x);
++ bfd_put_32 (abfd, (bfd_vma) x, addr);
++ }
++ break;
++
++ default:
++ abort ();
++ }
++ }
+
+ /* Now let bfd_perform_relocation finish everything up. */
+ return bfd_reloc_continue;
+diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c
+index 4e6420a..9d7c845 100644
+--- a/bfd/coff-x86_64.c
++++ b/bfd/coff-x86_64.c
+@@ -138,59 +138,61 @@ coff_amd64_reloc (bfd *abfd,
+ #define DOIT(x) \
+ x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
+
+- if (diff != 0)
+- {
+- reloc_howto_type *howto = reloc_entry->howto;
+- unsigned char *addr = (unsigned char *) data + reloc_entry->address;
+-
+- /* FIXME: We do not have an end address for data, so we cannot
+- accurately range check any addresses computed against it.
+- cf: PR binutils/17512: file: 1085-1761-0.004.
+- For now we do the best that we can. */
+- if (addr < (unsigned char *) data || addr > ((unsigned char *) data) + input_section->size)
++ if (diff != 0)
++ {
++ reloc_howto_type *howto = reloc_entry->howto;
++ unsigned char *addr = (unsigned char *) data + reloc_entry->address;
++
++ /* FIXME: We do not have an end address for data, so we cannot
++ accurately range check any addresses computed against it.
++ cf: PR binutils/17512: file: 1085-1761-0.004.
++ For now we do the best that we can. */
++ if (addr < (unsigned char *) data
++ || addr > ((unsigned char *) data) + input_section->size)
++ {
++ bfd_set_error (bfd_error_bad_value);
++ return bfd_reloc_notsupported;
++ }
++
++ switch (howto->size)
++ {
++ case 0:
++ {
++ char x = bfd_get_8 (abfd, addr);
++ DOIT (x);
++ bfd_put_8 (abfd, x, addr);
++ }
++ break;
++
++ case 1:
++ {
++ short x = bfd_get_16 (abfd, addr);
++ DOIT (x);
++ bfd_put_16 (abfd, (bfd_vma) x, addr);
++ }
++ break;
++
++ case 2:
+ {
+- bfd_set_error (bfd_error_bad_value);
+- return bfd_reloc_notsupported;
++ long x = bfd_get_32 (abfd, addr);
++ DOIT (x);
++ bfd_put_32 (abfd, (bfd_vma) x, addr);
+ }
++ break;
+
+- switch (howto->size)
++ case 4:
+ {
+- case 0:
+- {
+- char x = bfd_get_8 (abfd, addr);
+- DOIT (x);
+- bfd_put_8 (abfd, x, addr);
+- }
+- break;
+-
+- case 1:
+- {
+- short x = bfd_get_16 (abfd, addr);
+- DOIT (x);
+- bfd_put_16 (abfd, (bfd_vma) x, addr);
+- }
+- break;
+-
+- case 2:
+- {
+- long x = bfd_get_32 (abfd, addr);
+- DOIT (x);
+- bfd_put_32 (abfd, (bfd_vma) x, addr);
+- }
+- break;
+- case 4:
+- {
+- long long x = bfd_get_64 (abfd, addr);
+- DOIT (x);
+- bfd_put_64 (abfd, (bfd_vma) x, addr);
+- }
+- break;
+-
+- default:
+- bfd_set_error (bfd_error_bad_value);
+- return bfd_reloc_notsupported;
++ long long x = bfd_get_64 (abfd, addr);
++ DOIT (x);
++ bfd_put_64 (abfd, (bfd_vma) x, addr);
+ }
+- }
++ break;
++
++ default:
++ bfd_set_error (bfd_error_bad_value);
++ return bfd_reloc_notsupported;
++ }
++ }
+
+ /* Now let bfd_perform_relocation finish everything up. */
+ return bfd_reloc_continue;
+diff --git a/bfd/cofflink.c b/bfd/cofflink.c
+index 8d98fec..88eb2b3 100644
+--- a/bfd/cofflink.c
++++ b/bfd/cofflink.c
+@@ -2977,6 +2977,12 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
+ else
+ {
+ sec = sections[symndx];
++
++ /* PR 19623: Relocations against symbols in
++ the absolute sections should ignored. */
++ if (bfd_is_abs_section (sec))
++ continue;
++
+ val = (sec->output_section->vma
+ + sec->output_offset
+ + sym->n_value);
+diff --git a/bfd/configure b/bfd/configure
+index cf3c746..7411c6d 100755
+--- a/bfd/configure
++++ b/bfd/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.64 for bfd 2.26.
++# Generated by GNU Autoconf 2.64 for bfd 2.26.0.
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+ # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
+@@ -556,8 +556,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='bfd'
+ PACKAGE_TARNAME='bfd'
+-PACKAGE_VERSION='2.26'
+-PACKAGE_STRING='bfd 2.26'
++PACKAGE_VERSION='2.26.0'
++PACKAGE_STRING='bfd 2.26.0'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1351,7 +1351,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.26 to adapt to many kinds of systems.
++\`configure' configures bfd 2.26.0 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1422,7 +1422,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of bfd 2.26:";;
++ short | recursive ) echo "Configuration of bfd 2.26.0:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1543,7 +1543,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-bfd configure 2.26
++bfd configure 2.26.0
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -2185,7 +2185,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.26, which was
++It was created by bfd $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3993,7 +3993,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='bfd'
+- VERSION='2.26'
++ VERSION='2.26.0'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -16533,7 +16533,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by bfd $as_me 2.26, which was
++This file was extended by bfd $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -16597,7 +16597,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-bfd config.status 2.26
++bfd config.status 2.26.0
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
+index 176f018..64cfe9b 100644
+--- a/bfd/dwarf2.c
++++ b/bfd/dwarf2.c
+@@ -3706,8 +3706,10 @@ _bfd_dwarf2_slurp_debug_info (bfd *abfd, bfd *debug_bfd,
+ fail more quickly. */
+ return FALSE;
+
++ /* Set BFD_DECOMPRESS to decompress debug sections. */
+ if ((debug_bfd = bfd_openr (debug_filename, NULL)) == NULL
+- || ! bfd_check_format (debug_bfd, bfd_object)
++ || !(debug_bfd->flags |= BFD_DECOMPRESS,
++ bfd_check_format (debug_bfd, bfd_object))
+ || (msec = find_debug_info (debug_bfd,
+ debug_sections, NULL)) == NULL
+ || !bfd_generic_link_read_symbols (debug_bfd))
+diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
+index ad40914..3fc1f57 100644
+--- a/bfd/elf32-hppa.c
++++ b/bfd/elf32-hppa.c
+@@ -3245,6 +3245,8 @@ tpoff (struct bfd_link_info *info, bfd_vma address)
+ static bfd_boolean
+ elf32_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
+ {
++ struct stat buf;
++
+ /* Invoke the regular ELF linker to do all the work. */
+ if (!bfd_elf_final_link (abfd, info))
+ return FALSE;
+@@ -3254,6 +3256,13 @@ elf32_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
+ if (bfd_link_relocatable (info))
+ return TRUE;
+
++ /* Do not attempt to sort non-regular files. This is here
++ especially for configure scripts and kernel builds which run
++ tests with "ld [...] -o /dev/null". */
++ if (stat (abfd->filename, &buf) != 0
++ || !S_ISREG(buf.st_mode))
++ return TRUE;
++
+ return elf_hppa_sort_unwind (abfd);
+ }
+
+diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
+index 300839b..79f339e 100644
+--- a/bfd/elf32-i386.c
++++ b/bfd/elf32-i386.c
+@@ -1830,7 +1830,8 @@ do_size:
+ && (sec->flags & SEC_ALLOC) != 0
+ && (r_type != R_386_PC32
+ || (h != NULL
+- && (! SYMBOLIC_BIND (info, h)
++ && (! (bfd_link_pie (info)
++ || SYMBOLIC_BIND (info, h))
+ || h->root.type == bfd_link_hash_defweak
+ || !h->def_regular))))
+ || (ELIMINATE_COPY_RELOCS
+@@ -2490,12 +2491,14 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
+ }
+ else
+ {
++ eh->plt_got.offset = (bfd_vma) -1;
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+ }
+ else
+ {
++ eh->plt_got.offset = (bfd_vma) -1;
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+@@ -4016,10 +4019,12 @@ elf_i386_relocate_section (bfd *output_bfd,
+
+ /* It is relative to .got.plt section. */
+ if (h->got.offset != (bfd_vma) -1)
+- /* Use GOT entry. */
++ /* Use GOT entry. Mask off the least significant bit in
++ GOT offset which may be set by R_386_GOT32 processing
++ below. */
+ relocation = (htab->elf.sgot->output_section->vma
+ + htab->elf.sgot->output_offset
+- + h->got.offset - offplt);
++ + (h->got.offset & ~1) - offplt);
+ else
+ /* Use GOTPLT entry. */
+ relocation = (h->plt.offset / plt_entry_size - 1 + 3) * 4;
+@@ -4285,8 +4290,8 @@ r_386_got32:
+ else if (h != NULL
+ && h->dynindx != -1
+ && (r_type == R_386_PC32
+- || !bfd_link_pic (info)
+- || !SYMBOLIC_BIND (info, h)
++ || !(bfd_link_executable (info)
++ || SYMBOLIC_BIND (info, h))
+ || !h->def_regular))
+ outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
+ else
+@@ -5355,19 +5360,23 @@ elf_i386_reloc_type_class (const struct bfd_link_info *info,
+ bfd *abfd = info->output_bfd;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ struct elf_link_hash_table *htab = elf_hash_table (info);
+- unsigned long r_symndx = ELF32_R_SYM (rela->r_info);
+- Elf_Internal_Sym sym;
+-
+- if (htab->dynsym == NULL
+- || !bed->s->swap_symbol_in (abfd,
+- (htab->dynsym->contents
+- + r_symndx * sizeof (Elf32_External_Sym)),
+- 0, &sym))
+- abort ();
+
+- /* Check relocation against STT_GNU_IFUNC symbol. */
+- if (ELF32_ST_TYPE (sym.st_info) == STT_GNU_IFUNC)
+- return reloc_class_ifunc;
++ if (htab->dynsym != NULL
++ && htab->dynsym->contents != NULL)
++ {
++ /* Check relocation against STT_GNU_IFUNC symbol if there are
++ dynamic symbols. */
++ unsigned long r_symndx = ELF32_R_SYM (rela->r_info);
++ Elf_Internal_Sym sym;
++ if (!bed->s->swap_symbol_in (abfd,
++ (htab->dynsym->contents
++ + r_symndx * sizeof (Elf32_External_Sym)),
++ 0, &sym))
++ abort ();
++
++ if (ELF32_ST_TYPE (sym.st_info) == STT_GNU_IFUNC)
++ return reloc_class_ifunc;
++ }
+
+ switch (ELF32_R_TYPE (rela->r_info))
+ {
+diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c
+index 3b628b4..aa9cfd2 100644
+--- a/bfd/elf64-hppa.c
++++ b/bfd/elf64-hppa.c
+@@ -2945,7 +2945,7 @@ elf_hppa_record_segment_addrs (bfd *abfd,
+ static bfd_boolean
+ elf_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
+ {
+- bfd_boolean retval;
++ struct stat buf;
+ struct elf64_hppa_link_hash_table *hppa_info = hppa_link_hash_table (info);
+
+ if (hppa_info == NULL)
+@@ -3029,7 +3029,8 @@ elf_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
+ info);
+
+ /* Invoke the regular ELF backend linker to do all the work. */
+- retval = bfd_elf_final_link (abfd, info);
++ if (!bfd_elf_final_link (abfd, info))
++ return FALSE;
+
+ elf_link_hash_traverse (elf_hash_table (info),
+ elf_hppa_remark_useless_dynamic_symbols,
+@@ -3037,10 +3038,17 @@ elf_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
+
+ /* If we're producing a final executable, sort the contents of the
+ unwind section. */
+- if (retval && !bfd_link_relocatable (info))
+- retval = elf_hppa_sort_unwind (abfd);
++ if (bfd_link_relocatable (info))
++ return TRUE;
++
++ /* Do not attempt to sort non-regular files. This is here
++ especially for configure scripts and kernel builds which run
++ tests with "ld [...] -o /dev/null". */
++ if (stat (abfd->filename, &buf) != 0
++ || !S_ISREG(buf.st_mode))
++ return TRUE;
+
+- return retval;
++ return elf_hppa_sort_unwind (abfd);
+ }
+
+ /* Relocate the given INSN. VALUE should be the actual value we want
+diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
+index 162862c..ffe23e6 100644
+--- a/bfd/elf64-ppc.c
++++ b/bfd/elf64-ppc.c
+@@ -4344,14 +4344,20 @@ create_linkage_sections (bfd *dynobj, struct bfd_link_info *info)
+
+ htab = ppc_hash_table (info);
+
+- /* Create .sfpr for code to save and restore fp regs. */
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_READONLY
+ | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED);
+- htab->sfpr = bfd_make_section_anyway_with_flags (dynobj, ".sfpr",
+- flags);
+- if (htab->sfpr == NULL
+- || ! bfd_set_section_alignment (dynobj, htab->sfpr, 2))
+- return FALSE;
++ if (htab->params->save_restore_funcs)
++ {
++ /* Create .sfpr for code to save and restore fp regs. */
++ htab->sfpr = bfd_make_section_anyway_with_flags (dynobj, ".sfpr",
++ flags);
++ if (htab->sfpr == NULL
++ || ! bfd_set_section_alignment (dynobj, htab->sfpr, 2))
++ return FALSE;
++ }
++
++ if (bfd_link_relocatable (info))
++ return TRUE;
+
+ /* Create .glink for lazy dynamic linking support. */
+ htab->glink = bfd_make_section_anyway_with_flags (dynobj, ".glink",
+@@ -4429,9 +4435,6 @@ ppc64_elf_init_stub_bfd (struct bfd_link_info *info,
+ htab->elf.dynobj = params->stub_bfd;
+ htab->params = params;
+
+- if (bfd_link_relocatable (info))
+- return TRUE;
+-
+ return create_linkage_sections (htab->elf.dynobj, info);
+ }
+
+@@ -6665,7 +6668,7 @@ sfpr_define (struct bfd_link_info *info,
+ sym[len + 0] = i / 10 + '0';
+ sym[len + 1] = i % 10 + '0';
+ h = (struct ppc_link_hash_entry *)
+- elf_link_hash_lookup (&htab->elf, sym, FALSE, FALSE, TRUE);
++ elf_link_hash_lookup (&htab->elf, sym, writing, TRUE, TRUE);
+ if (stub_sec != NULL)
+ {
+ if (h != NULL
+@@ -6706,6 +6709,7 @@ sfpr_define (struct bfd_link_info *info,
+ h->elf.root.u.def.value = htab->sfpr->size;
+ h->elf.type = STT_FUNC;
+ h->elf.def_regular = 1;
++ h->elf.non_elf = 0;
+ _bfd_elf_link_hash_hide_symbol (info, &h->elf, TRUE);
+ writing = TRUE;
+ if (htab->sfpr->contents == NULL)
+@@ -7050,14 +7054,28 @@ ppc64_elf_func_desc_adjust (bfd *obfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info)
+ {
+ struct ppc_link_hash_table *htab;
+- unsigned int i;
+
+ htab = ppc_hash_table (info);
+ if (htab == NULL)
+ return FALSE;
+
+- if (!bfd_link_relocatable (info)
+- && htab->elf.hgot != NULL)
++ /* Provide any missing _save* and _rest* functions. */
++ if (htab->sfpr != NULL)
++ {
++ unsigned int i;
++
++ htab->sfpr->size = 0;
++ for (i = 0; i < ARRAY_SIZE (save_res_funcs); i++)
++ if (!sfpr_define (info, &save_res_funcs[i], NULL))
++ return FALSE;
++ if (htab->sfpr->size == 0)
++ htab->sfpr->flags |= SEC_EXCLUDE;
++ }
++
++ if (bfd_link_relocatable (info))
++ return TRUE;
++
++ if (htab->elf.hgot != NULL)
+ {
+ _bfd_elf_link_hash_hide_symbol (info, htab->elf.hgot, TRUE);
+ /* Make .TOC. defined so as to prevent it being made dynamic.
+@@ -7076,22 +7094,8 @@ ppc64_elf_func_desc_adjust (bfd *obfd ATTRIBUTE_UNUSED,
+ | STV_HIDDEN);
+ }
+
+- if (htab->sfpr == NULL)
+- /* We don't have any relocs. */
+- return TRUE;
+-
+- /* Provide any missing _save* and _rest* functions. */
+- htab->sfpr->size = 0;
+- if (htab->params->save_restore_funcs)
+- for (i = 0; i < ARRAY_SIZE (save_res_funcs); i++)
+- if (!sfpr_define (info, &save_res_funcs[i], NULL))
+- return FALSE;
+-
+ elf_link_hash_traverse (&htab->elf, func_desc_adjust, info);
+
+- if (htab->sfpr->size == 0)
+- htab->sfpr->flags |= SEC_EXCLUDE;
+-
+ return TRUE;
+ }
+
+diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
+index 63957bb..e80fd20 100644
+--- a/bfd/elf64-x86-64.c
++++ b/bfd/elf64-x86-64.c
+@@ -2029,7 +2029,8 @@ do_size:
+ && (sec->flags & SEC_ALLOC) != 0
+ && (! IS_X86_64_PCREL_TYPE (r_type)
+ || (h != NULL
+- && (! SYMBOLIC_BIND (info, h)
++ && (! (bfd_link_pie (info)
++ || SYMBOLIC_BIND (info, h))
+ || h->root.type == bfd_link_hash_defweak
+ || !h->def_regular))))
+ || (ELIMINATE_COPY_RELOCS
+@@ -2723,12 +2724,14 @@ elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
+ }
+ else
+ {
++ eh->plt_got.offset = (bfd_vma) -1;
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+ }
+ else
+ {
++ eh->plt_got.offset = (bfd_vma) -1;
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+@@ -3190,35 +3193,43 @@ elf_x86_64_convert_load (bfd *abfd, asection *sec,
+ }
+ else
+ {
+- asection *asect;
+- bfd_size_type size;
++ bfd_signed_vma distance;
+
+ /* At this point, we don't know the load addresses of TSEC
+ section nor SEC section. We estimate the distrance between
+- SEC and TSEC. */
+- size = 0;
+- for (asect = sec->output_section;
+- asect != NULL && asect != tsec->output_section;
+- asect = asect->next)
++ SEC and TSEC. We store the estimated distances in the
++ compressed_size field of the output section, which is only
++ used to decompress the compressed input section. */
++ if (sec->output_section->compressed_size == 0)
+ {
+- asection *i;
+- for (i = asect->output_section->map_head.s;
+- i != NULL;
+- i = i->map_head.s)
++ asection *asect;
++ bfd_size_type size = 0;
++ for (asect = link_info->output_bfd->sections;
++ asect != NULL;
++ asect = asect->next)
+ {
+- size = align_power (size, i->alignment_power);
+- size += i->size;
++ asection *i;
++ for (i = asect->map_head.s;
++ i != NULL;
++ i = i->map_head.s)
++ {
++ size = align_power (size, i->alignment_power);
++ size += i->size;
++ }
++ asect->compressed_size = size;
+ }
+ }
+
+ /* Don't convert GOTPCREL relocations if TSEC isn't placed
+ after SEC. */
+- if (asect == NULL)
++ distance = (tsec->output_section->compressed_size
++ - sec->output_section->compressed_size);
++ if (distance < 0)
+ continue;
+
+ /* Take PT_GNU_RELRO segment into account by adding
+ maxpagesize. */
+- if ((toff + size + maxpagesize - roff + 0x80000000)
++ if ((toff + distance + maxpagesize - roff + 0x80000000)
+ > 0xffffffff)
+ continue;
+ }
+@@ -4631,8 +4642,8 @@ direct:
+ else if (h != NULL
+ && h->dynindx != -1
+ && (IS_X86_64_PCREL_TYPE (r_type)
+- || ! bfd_link_pic (info)
+- || ! SYMBOLIC_BIND (info, h)
++ || !(bfd_link_executable (info)
++ || SYMBOLIC_BIND (info, h))
+ || ! h->def_regular))
+ {
+ outrel.r_info = htab->r_info (h->dynindx, r_type);
+@@ -5728,19 +5739,23 @@ elf_x86_64_reloc_type_class (const struct bfd_link_info *info,
+ bfd *abfd = info->output_bfd;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ struct elf_x86_64_link_hash_table *htab = elf_x86_64_hash_table (info);
+- unsigned long r_symndx = htab->r_sym (rela->r_info);
+- Elf_Internal_Sym sym;
+-
+- if (htab->elf.dynsym == NULL
+- || !bed->s->swap_symbol_in (abfd,
+- (htab->elf.dynsym->contents
+- + r_symndx * bed->s->sizeof_sym),
+- 0, &sym))
+- abort ();
+
+- /* Check relocation against STT_GNU_IFUNC symbol. */
+- if (ELF_ST_TYPE (sym.st_info) == STT_GNU_IFUNC)
+- return reloc_class_ifunc;
++ 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_sym (rela->r_info);
++ 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))
+ {
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index 3d37bb4..842e85b 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -555,6 +555,19 @@ bfd_elf_record_link_assignment (bfd *output_bfd,
+ if (h == NULL)
+ return provide;
+
++ if (h->versioned == unknown)
++ {
++ /* Set versioned if symbol version is unknown. */
++ char *version = strrchr (name, ELF_VER_CHR);
++ if (version)
++ {
++ if (version > name && version[-1] != ELF_VER_CHR)
++ h->versioned = versioned_hidden;
++ else
++ h->versioned = versioned;
++ }
++ }
++
+ switch (h->root.type)
+ {
+ case bfd_link_hash_defined:
+@@ -1472,13 +1485,16 @@ _bfd_elf_merge_symbol (bfd *abfd,
+ represent variables; this can cause confusion in principle, but
+ any such confusion would seem to indicate an erroneous program or
+ shared library. We also permit a common symbol in a regular
+- object to override a weak symbol in a shared object. */
++ object to override a weak symbol in a shared object. A common
++ symbol in executable also overrides a symbol in a shared object. */
+
+ if (newdyn
+ && newdef
+ && (olddef
+ || (h->root.type == bfd_link_hash_common
+- && (newweak || newfunc))))
++ && (newweak
++ || newfunc
++ || (!olddyn && bfd_link_executable (info))))))
+ {
+ *override = TRUE;
+ newdef = FALSE;
+@@ -4562,8 +4578,10 @@ error_free_dyn:
+ break;
+ }
+
+- /* Don't add DT_NEEDED for references from the dummy bfd. */
++ /* Don't add DT_NEEDED for references from the dummy bfd nor
++ for unmatched symbol. */
+ if (!add_needed
++ && matched
+ && definition
+ && ((dynsym
+ && h->ref_regular_nonweak
+diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
+index 59c51cc..d83dc1b 100644
+--- a/bfd/elfnn-aarch64.c
++++ b/bfd/elfnn-aarch64.c
+@@ -2655,7 +2655,7 @@ aarch64_type_of_stub (struct bfd_link_info *info,
+ bfd_boolean via_plt_p;
+
+ if (st_type != STT_FUNC
+- && (sym_sec != bfd_abs_section_ptr))
++ && (sym_sec == input_sec))
+ return stub_type;
+
+ globals = elf_aarch64_hash_table (info);
+@@ -4174,7 +4174,7 @@ elfNN_aarch64_size_stubs (bfd *output_bfd,
+ goto error_ret_free_internal;
+ }
+
+- stub_entry->target_value = sym_value;
++ stub_entry->target_value = sym_value + irela->r_addend;
+ stub_entry->target_section = sym_sec;
+ stub_entry->stub_type = stub_type;
+ stub_entry->h = hash;
+@@ -5280,15 +5280,28 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
+ /* Check if a stub has to be inserted because the destination
+ is too far away. */
+ struct elf_aarch64_stub_hash_entry *stub_entry = NULL;
+- if (! aarch64_valid_branch_p (value, place))
++
++ /* If the branch destination is directed to plt stub, "value" will be
++ the final destination, otherwise we should plus signed_addend, it may
++ contain non-zero value, for example call to local function symbol
++ which are turned into "sec_sym + sec_off", and sec_off is kept in
++ signed_addend. */
++ if (! aarch64_valid_branch_p (via_plt_p ? value : value + signed_addend,
++ place))
+ /* The target is out of reach, so redirect the branch to
+ the local stub for this function. */
+ stub_entry = elfNN_aarch64_get_stub_entry (input_section, sym_sec, h,
+ rel, globals);
+ if (stub_entry != NULL)
+- value = (stub_entry->stub_offset
+- + stub_entry->stub_sec->output_offset
+- + stub_entry->stub_sec->output_section->vma);
++ {
++ value = (stub_entry->stub_offset
++ + stub_entry->stub_sec->output_offset
++ + stub_entry->stub_sec->output_section->vma);
++
++ /* We have redirected the destination to stub entry address,
++ so ignore any addend record in the original rela entry. */
++ signed_addend = 0;
++ }
+ }
+ value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value,
+ signed_addend, weak_undef_p);
+diff --git a/bfd/version.h b/bfd/version.h
+index ed51cc9..d70b1dc 100644
+--- a/bfd/version.h
++++ b/bfd/version.h
+@@ -1,4 +1,4 @@
+-#define BFD_VERSION_DATE 20160125
++#define BFD_VERSION_DATE 20160321
+ #define BFD_VERSION @bfd_version@
+ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
+ #define REPORT_BUGS_TO @report_bugs_to@
+diff --git a/bfd/version.m4 b/bfd/version.m4
+index 9fb81c5..607d328 100644
+--- a/bfd/version.m4
++++ b/bfd/version.m4
+@@ -1 +1 @@
+-m4_define([BFD_VERSION], [2.26])
++m4_define([BFD_VERSION], [2.26.0])
+diff --git a/binutils/ChangeLog b/binutils/ChangeLog
+index 2250b30..0a8dcd8 100644
+--- a/binutils/ChangeLog
++++ b/binutils/ChangeLog
+@@ -1,3 +1,34 @@
++2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR binutils/19523
++ * Makefile.am (check-DEJAGNU): Pass CC and CC_FOR_BUILD to
++ runtest.
++ * Makefile.in: Regenerated.
++ * testsuite/binutils-all/compress.exp (test_gnu_debuglink): New
++ proc.
++ Run test_gnu_debuglink for native ELF build.
++
++2016-03-09 Nick Clifton <nickc@redhat.com>
++
++ PR binutils/19775
++ * testsuite/binutils-all/ar.exp (proc empty_archive): New proc.
++ Run the new proc.
++ * testsuite/binutils-all/empty: New, empty, file.
++
++2016-02-12 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-12 H.J. Lu <hongjiu.lu@intel.com>
++
++ * doc/binutils.texi: Fix a typo.
++
++2016-01-25 Tristan Gingold <gingold@adacore.com>
++
++ * configure: Regenerate.
++
+ 2016-01-25 Tristan Gingold <gingold@adacore.com>
+
+ * configure: Regenerate.
+@@ -238,12 +269,12 @@
+
+ 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+- PR binutils/18656
+- * objcopy.c (setup_section): Call bfd_convert_section_size
+- to get the output section size.
+- (copy_section): Get the section size from the output section
+- and call bfd_get_full_section_contents to convert section
+- contents for output.
++ PR binutils/18656
++ * objcopy.c (setup_section): Call bfd_convert_section_size
++ to get the output section size.
++ (copy_section): Get the section size from the output section
++ and call bfd_get_full_section_contents to convert section
++ contents for output.
+
+ 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+diff --git a/binutils/Makefile.am b/binutils/Makefile.am
+index 1735022..4f618ce 100644
+--- a/binutils/Makefile.am
++++ b/binutils/Makefile.am
+@@ -192,6 +192,7 @@ check-DEJAGNU: site.exp
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
++ CC="$(CC)" CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+ CC_FOR_TARGET="$(CC_FOR_TARGET)" CFLAGS_FOR_TARGET="$(CFLAGS)" \
+ $$runtest --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite \
+ $(RUNTESTFLAGS); \
+diff --git a/binutils/Makefile.in b/binutils/Makefile.in
+index 5642925..eddd617 100644
+--- a/binutils/Makefile.in
++++ b/binutils/Makefile.in
+@@ -1290,6 +1290,7 @@ check-DEJAGNU: site.exp
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
++ CC="$(CC)" CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+ CC_FOR_TARGET="$(CC_FOR_TARGET)" CFLAGS_FOR_TARGET="$(CFLAGS)" \
+ $$runtest --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite \
+ $(RUNTESTFLAGS); \
+diff --git a/binutils/configure b/binutils/configure
+index 6e1f21e..d4f3e1e 100755
+--- a/binutils/configure
++++ b/binutils/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.64 for binutils 2.26.
++# Generated by GNU Autoconf 2.64 for binutils 2.26.0.
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+ # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
+@@ -556,8 +556,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='binutils'
+ PACKAGE_TARNAME='binutils'
+-PACKAGE_VERSION='2.26'
+-PACKAGE_STRING='binutils 2.26'
++PACKAGE_VERSION='2.26.0'
++PACKAGE_STRING='binutils 2.26.0'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1335,7 +1335,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.26 to adapt to many kinds of systems.
++\`configure' configures binutils 2.26.0 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1406,7 +1406,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of binutils 2.26:";;
++ short | recursive ) echo "Configuration of binutils 2.26.0:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1527,7 +1527,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-binutils configure 2.26
++binutils configure 2.26.0
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -2169,7 +2169,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.26, which was
++It was created by binutils $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3977,7 +3977,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='binutils'
+- VERSION='2.26'
++ VERSION='2.26.0'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -15142,7 +15142,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by binutils $as_me 2.26, which was
++This file was extended by binutils $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -15206,7 +15206,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-binutils config.status 2.26
++binutils config.status 2.26.0
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
+index 7dc09c3..2e424ef 100644
+--- a/binutils/doc/binutils.texi
++++ b/binutils/doc/binutils.texi
+@@ -1872,7 +1872,7 @@ ELF ABI. Note - if compression would actually make a section
+ @itemx --compress-debug-sections=zlib-gabi
+ For ELF files, these options control how DWARF debug sections are
+ compressed. @option{--compress-debug-sections=none} is equivalent
+-to @option{--nocompress-debug-sections}.
++to @option{--decompress-debug-sections}.
+ @option{--compress-debug-sections=zlib} and
+ @option{--compress-debug-sections=zlib-gabi} are equivalent to
+ @option{--compress-debug-sections}.
+diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
+index c579c69..52ddadc 100644
+--- a/binutils/testsuite/ChangeLog
++++ b/binutils/testsuite/ChangeLog
+@@ -90,7 +90,7 @@
+
+ * binutils-all/localize-hidden-1.d: Allow for extra symbols in the
+ output.
+- * binutils-all/strip-11.d: Skip for the RL78.
++ * binutils-all/strip-11.d: Skip for the RL78.
+
+ 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+@@ -98,9 +98,9 @@
+
+ 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+- PR binutils/18656
+- * binutils-all/compress.exp (convert_test): New proc.
+- Run conversion tests between x86-64 and x32.
++ PR binutils/18656
++ * binutils-all/compress.exp (convert_test): New proc.
++ Run conversion tests between x86-64 and x32.
+
+ 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+diff --git a/binutils/testsuite/binutils-all/ar.exp b/binutils/testsuite/binutils-all/ar.exp
+index 4c33874..e971350 100644
+--- a/binutils/testsuite/binutils-all/ar.exp
++++ b/binutils/testsuite/binutils-all/ar.exp
+@@ -555,6 +555,45 @@ proc move_an_element { } {
+ pass $testname
+ }
+
++# PR 19775: Test creating and listing archives with an empty element.
++
++proc empty_archive { } {
++ global AR
++ global srcdir
++ global subdir
++
++ set testname "archive with empty element"
++
++ # FIXME: There ought to be a way to dynamically create an empty file.
++ set empty $srcdir/$subdir/empty
++
++ if [is_remote host] {
++ set archive artest.a
++ set objfile [remote_download host $empty]
++ remote_file host delete $archive
++ } else {
++ set archive tmpdir/artest.a
++ set objfile $empty
++ }
++
++ remote_file build delete tmpdir/artest.a
++
++ set got [binutils_run $AR "-r -c $archive ${objfile}"]
++ if ![string match "" $got] {
++ fail $testname
++ return
++ }
++
++ # This commmand used to fail with: "Malformed archive".
++ set got [binutils_run $AR "-t $archive"]
++ if ![string match "empty " $got] {
++ fail $testname
++ return
++ }
++
++ pass $testname
++}
++
+ # Run the tests.
+
+ # Only run the bfdtest checks if the programs exist. Since these
+@@ -574,6 +613,7 @@ argument_parsing
+ deterministic_archive
+ delete_an_element
+ move_an_element
++empty_archive
+
+ if { [is_elf_format]
+ && ![istarget "*-*-hpux*"]
+diff --git a/binutils/testsuite/binutils-all/compress.exp b/binutils/testsuite/binutils-all/compress.exp
+index 4dac503..ac24812 100644
+--- a/binutils/testsuite/binutils-all/compress.exp
++++ b/binutils/testsuite/binutils-all/compress.exp
+@@ -667,4 +667,97 @@ if { ([istarget "x86_64-*-elf*"]
+
+ set testname "Convert x32 object to x86-64 (3)"
+ convert_test "$testname" "--nocompress-debug-sections --x32" "-O elf64-x86-64 --compress-debug-sections=zlib-gnu"
+- }
++}
++
++proc test_gnu_debuglink {} {
++ global srcdir
++ global subdir
++ global env
++ global CC_FOR_TARGET
++ global STRIP
++ global OBJCOPY
++ global OBJDUMP
++
++ set test "gnu-debuglink"
++ if {![info exists CC_FOR_TARGET]} {
++ set CC_FOR_TARGET $env(CC)
++ }
++ if { $CC_FOR_TARGET == "" } {
++ unsupported $test
++ return
++ }
++
++ if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog exectuable debug] != "" } {
++ fail "$test (build)"
++ return
++ }
++ set got [remote_exec host "$OBJDUMP -S tmpdir/testprog" "" "/dev/null" "tmpdir/testprog.dump"]
++ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
++ fail "$test (objcopy dump)"
++ return
++ }
++ if { [binutils_run $STRIP "--strip-debug --remove-section=.comment --remove-section=.note tmpdir/testprog -o tmpdir/testprog.strip"] != "" } {
++ fail "$test (strip)"
++ return
++ }
++ if { [binutils_run $OBJCOPY "--only-keep-debug --decompress-debug-sections tmpdir/testprog tmpdir/testprog.decompress"] != "" } {
++ fail "$test (objcopy decompress)"
++ return
++ }
++ if { [binutils_run $OBJCOPY "--only-keep-debug --compress-debug-sections tmpdir/testprog tmpdir/testprog.compress"] != "" } {
++ fail "$test (objcopy compress)"
++ return
++ }
++ if { [binutils_run $OBJCOPY "--add-gnu-debuglink=tmpdir/testprog.decompress tmpdir/testprog.strip tmpdir/testprog"] != "" } {
++ fail "$test (objcopy link decompress)"
++ return
++ }
++ set got [remote_exec host "$OBJDUMP -S tmpdir/testprog" "" "/dev/null" "tmpdir/testprog.decompress.dump"]
++ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
++ fail "$test (objcopy dump decompress)"
++ return
++ }
++ if { [binutils_run $OBJCOPY "--add-gnu-debuglink=tmpdir/testprog.compress tmpdir/testprog.strip tmpdir/testprog"] != "" } {
++ fail "$test (objcopy link compress)"
++ return
++ }
++ set got [remote_exec host "$OBJDUMP -S tmpdir/testprog" "" "/dev/null" "tmpdir/testprog.compress.dump"]
++ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
++ fail "$test (objcopy dump compress)"
++ return
++ }
++
++ set src1 tmpdir/testprog.dump
++ set src2 tmpdir/testprog.compress.dump
++ send_log "cmp ${src1} ${src2}\n"
++ verbose "cmp ${src1} ${src2}"
++ set status [remote_exec build cmp "${src1} ${src2}"]
++ set exec_output [lindex $status 1]
++ set exec_output [prune_warnings $exec_output]
++ if ![string match "" $exec_output] then {
++ send_log "$exec_output\n"
++ verbose "$exec_output" 1
++ fail "$test (objdump 1)"
++ } else {
++ pass "$test (objdump 1)"
++ }
++
++ set src1 tmpdir/testprog.decompress.dump
++ set src2 tmpdir/testprog.compress.dump
++ send_log "cmp ${src1} ${src2}\n"
++ verbose "cmp ${src1} ${src2}"
++ set status [remote_exec build cmp "${src1} ${src2}"]
++ set exec_output [lindex $status 1]
++ set exec_output [prune_warnings $exec_output]
++ if ![string match "" $exec_output] then {
++ send_log "$exec_output\n"
++ verbose "$exec_output" 1
++ fail "$test (objdump 2)"
++ } else {
++ pass "$test (objdump 2)"
++ }
++}
++
++if {[isnative] && [is_elf_format]} then {
++ test_gnu_debuglink
++}
+diff --git a/binutils/testsuite/binutils-all/empty b/binutils/testsuite/binutils-all/empty
+new file mode 100644
+index 0000000..e69de29
+diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog
+index 0f54787..f95130a 100644
+--- a/elfcpp/ChangeLog
++++ b/elfcpp/ChangeLog
+@@ -339,11 +339,11 @@
+
+ 2009-10-16 Doug Kwan <dougkwan@google.com>
+
+- * elfcpp/elfcpp.h (DT_PREINIT_ARRAY): Correct enum value.
++ * elfcpp.h (DT_PREINIT_ARRAY): Correct enum value.
+
+ 2009-10-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+- * elfcpp/elfcpp_file.h (Elf_file::section_name): Change shstr_size
++ * elfcpp_file.h (Elf_file::section_name): Change shstr_size
+ to Elf_WXword.
+
+ 2009-10-09 Mikolaj Zalewski <mikolajz@google.com>
+diff --git a/gas/ChangeLog b/gas/ChangeLog
+index 534a954..96a8822 100644
+--- a/gas/ChangeLog
++++ b/gas/ChangeLog
+@@ -1,3 +1,70 @@
++2016-02-20 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-20 H.J. Lu <hongjiu.lu@intel.com>
++
++ * config/tc-i386.c (register_number): Check RegVRex.
++ * testsuite/gas/i386/x86-64-avx512f.s: Add a test for vgatherqpd
++ with %zmm19 and %zmm3.
++ * testsuite/gas/i386/x86-64-avx512f-intel.d: Updated.
++ * testsuite/gas/i386/x86-64-avx512f.d: Likewise.
++
++2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR gas/19520
++ * NEWS: Mention new command line option -mrelax-relocations and
++ new configure option --enable-x86-relax-relocations for x86
++ target.
++ * config.in: Regenerated.
++ * configure.ac: Add --enable-x86-relax-relocations.
++ (ac_default_x86_relax_relocations): New. Default to 1 except
++ for x86 Solaris targets older than Solaris 12.
++ (DEFAULT_GENERATE_X86_RELAX_RELOCATIONS): Define.
++ * configure: Likewise.
++ * config/tc-i386.c (generate_relax_relocations): New.
++ (OPTION_MRELAX_RELOCATIONS): Likewise.
++ (output_disp): Don't generate relax relocations if
++ generate_relax_relocations is 0.
++ (md_longopts): Add -mrelax-relocations.
++ (md_show_usage): Likewise.
++ (md_parse_option): Handle OPTION_MRELAX_RELOCATIONS.
++ * doc/c-i386.texi: Document -mrelax-relocations=.
++ * testsuite/gas/i386/got-no-relax.d: New file.
++ * testsuite/gas/i386/x86-64-gotpcrel-no-relax.d: Likewise.
++ * testsuite/gas/i386/got.d: Pass -mrelax-relocations=yes to as.
++ * testsuite/gas/i386/localpic.d: Likewise.
++ * testsuite/gas/i386/mixed-mode-reloc32.d: Likewise.
++ * testsuite/gas/i386/reloc32.d: Likewise.
++ * testsuite/gas/i386/x86-64-gotpcrel.d: Likewise.
++ * testsuite/gas/i386/x86-64-localpic.d: Likewise.
++ * testsuite/gas/i386/ilp32/x86-64-gotpcrel.d: Likewise.
++ * testsuite/gas/i386/ilp32/x86-64-localpic.d: Likewise.
++ * testsuite/gas/i386/i386.exp: Run got-no-relax and
++ x86-64-gotpcrel-no-relax.
++
++2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
++
++ * NEWS: Remove duplicated marker for 2.26.
++
++2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR gas/19532
++ * configure.ac (compressed_debug_sections): Replace == with =.
++ * configure: Regenerated.
++
++2016-01-25 Tristan Gingold <gingold@adacore.com>
++
++ * configure: Regenerate.
++
+ 2016-01-25 Tristan Gingold <gingold@adacore.com>
+
+ * configure: Regenerate.
+@@ -8,12 +75,8 @@
+
+ 2015-12-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+- * gas/config/tc-arm.c (aeabi_set_public_attributes): Adjust
++ * config/tc-arm.c (aeabi_set_public_attributes): Adjust
+ TAG_ARCH_profile for armv8-a.
+- * gas/testsuite/gas/arm/armv8a-automatic-hlt.d: New test.
+- * gas/testsuite/gas/arm/armv8a-automatic-hlt.s: New test.
+- * gas/testsuite/gas/arm/armv8a-automatic-lda.d: New test.
+- * gas/testsuite/gas/arm/armv8a-automatic-lda.s: New test.
+
+ 2015-12-15 Nick Clifton <nickc@redhat.com>
+
+@@ -320,10 +383,10 @@
+
+ 2015-10-07 Claudiu Zissulescu <claziss@synopsys.com>
+
+- * config/tc-arc.c: Revamped file for ARC support.
+- * config/tc-arc.h: Likewise.
+- * doc/as.texinfo: Add new ARC options.
+- * doc/c-arc.texi: Likewise.
++ * config/tc-arc.c: Revamped file for ARC support.
++ * config/tc-arc.h: Likewise.
++ * doc/as.texinfo: Add new ARC options.
++ * doc/c-arc.texi: Likewise.
+
+ 2015-10-02 Renlin Li <renlin.li@arm.com>
+
+@@ -572,9 +635,9 @@
+
+ 2015-08-17 Alan Modra <amodra@gmail.com>
+
+- * gas/config/tc-arm.c (s_align): Delete.
++ * config/tc-arm.c (s_align): Delete.
+ (md_pseudo_table): Use s_align_ptwo for "align".
+- * gas/config/tc-arm.h (TC_ALIGN_ZERO_IS_DEFAULT): Define.
++ * config/tc-arm.h (TC_ALIGN_ZERO_IS_DEFAULT): Define.
+ * read.c (s_align): Modify for TC_ALIGN_ZERO_IS_DEFAULT.
+
+ 2015-08-13 Alan Modra <amodra@gmail.com>
+@@ -952,7 +1015,7 @@
+ 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
+
+ PR gas/18427
+- * gas/config/tc-hppa.c (last_label_symbol): Declare.
++ * config/tc-hppa.c (last_label_symbol): Declare.
+ (pa_get_label): Return last label in current space/segment or NULL.
+ (pa_define_label): Record last label and add to root.
+ (pa_undefine_label): Remove last label from root.
+@@ -1028,7 +1091,6 @@
+ Bernd Schmidt <bernds@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+- gas/
+ * config/tc-alpha.c (all_cfi_sections): Declare.
+ (s_alpha_ent): Initialize all_cfi_sections.
+ (alpha_elf_md_end): Invoke cfi_set_sections.
+@@ -1796,7 +1858,7 @@
+
+ 2015-01-12 Jan Beulich <jbeulich@suse.com>
+
+- * gas/dw2gencfi.c (cfi_add_label, dot_cfi_label): New.
++ * dw2gencfi.c (cfi_add_label, dot_cfi_label): New.
+ (cfi_pseudo_table): Add "cfi_label".
+ (output_cfi_insn): Handle CFI_label.
+ (select_cie_for_fde): Als terminate CIE when encountering
+@@ -1809,7 +1871,7 @@
+
+ 2015-01-12 Jan Beulich <jbeulich@suse.com>
+
+- * gas/config/tc-arm.c (do_neon_shl_imm): Check immediate range.
++ * config/tc-arm.c (do_neon_shl_imm): Check immediate range.
+ (do_neon_qshl_imm): Likewise.
+
+ 2015-01-12 Alan Modra <amodra@gmail.com>
+diff --git a/gas/NEWS b/gas/NEWS
+index 2cb2fab..e20a073 100644
+--- a/gas/NEWS
++++ b/gas/NEWS
+@@ -1,5 +1,12 @@
+ -*- text -*-
+
++* Add a configure option --enable-x86-relax-relocations to decide whether
++ x86 assembler should generate relax relocations by default. Default to
++ yes, except for x86 Solaris targets older than Solaris 12.
++
++* New command line option -mrelax-relocations= for x86 target to control
++ whether to generate relax relocations.
++
+ Changes in 2.26:
+
+ * Add a configure option --enable-compressed-debug-sections={all,gas} to
+@@ -8,8 +15,6 @@ Changes in 2.26:
+ * Add support for the ARC EM/HS, and ARC600/700 architectures. Remove
+ assembler support for Argonaut RISC architectures.
+
+-Changes in 2.26:
+-
+ * Symbol and label names can now be enclosed in double quotes (") which allows
+ them to contain characters that are not part of valid symbol names in high
+ level languages.
+diff --git a/gas/config.in b/gas/config.in
+index 35c8202..8b040fc 100644
+--- a/gas/config.in
++++ b/gas/config.in
+@@ -39,6 +39,9 @@
+ /* Define if you want compressed debug sections by default. */
+ #undef DEFAULT_FLAG_COMPRESS_DEBUG
+
++/* Define to 1 if you want to generate x86 relax relocations by default. */
++#undef DEFAULT_GENERATE_X86_RELAX_RELOCATIONS
++
+ /* Supported emulations. */
+ #undef EMULATIONS
+
+diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
+index 1573043..8676c5f 100644
+--- a/gas/config/tc-i386.c
++++ b/gas/config/tc-i386.c
+@@ -552,6 +552,10 @@ static int allow_index_reg = 0;
+ specified explicitly. */
+ static int omit_lock_prefix = 0;
+
++/* 1 if the assembler should generate relax relocations. */
++static int generate_relax_relocations
++ = DEFAULT_GENERATE_X86_RELAX_RELOCATIONS;
++
+ static enum check_kind
+ {
+ check_none = 0,
+@@ -1871,6 +1875,9 @@ register_number (const reg_entry *r)
+ if (r->reg_flags & RegRex)
+ nr += 8;
+
++ if (r->reg_flags & RegVRex)
++ nr += 16;
++
+ return nr;
+ }
+
+@@ -7241,9 +7248,14 @@ 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. */
+- if ((i.rm.mode == 2
+- || (i.rm.mode == 0 && i.rm.regmem == 5))
++ 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))
++ && (i.rm.mode == 2
++ || (i.rm.mode == 0 && i.rm.regmem == 5))
+ && ((i.operands == 1
+ && i.tm.base_opcode == 0xff
+ && (i.rm.reg == 2 || i.rm.reg == 4))
+@@ -9616,6 +9628,7 @@ const char *md_shortopts = "qn";
+ #define OPTION_MSHARED (OPTION_MD_BASE + 21)
+ #define OPTION_MAMD64 (OPTION_MD_BASE + 22)
+ #define OPTION_MINTEL64 (OPTION_MD_BASE + 23)
++#define OPTION_MRELAX_RELOCATIONS (OPTION_MD_BASE + 24)
+
+ struct option md_longopts[] =
+ {
+@@ -9647,6 +9660,7 @@ struct option md_longopts[] =
+ {"mbig-obj", no_argument, NULL, OPTION_MBIG_OBJ},
+ #endif
+ {"momit-lock-prefix", required_argument, NULL, OPTION_OMIT_LOCK_PREFIX},
++ {"mrelax-relocations", required_argument, NULL, OPTION_MRELAX_RELOCATIONS},
+ {"mevexrcig", required_argument, NULL, OPTION_MEVEXRCIG},
+ {"mamd64", no_argument, NULL, OPTION_MAMD64},
+ {"mintel64", no_argument, NULL, OPTION_MINTEL64},
+@@ -9966,6 +9980,15 @@ md_parse_option (int c, char *arg)
+ as_fatal (_("invalid -momit-lock-prefix= option: `%s'"), arg);
+ break;
+
++ case OPTION_MRELAX_RELOCATIONS:
++ if (strcasecmp (arg, "yes") == 0)
++ generate_relax_relocations = 1;
++ else if (strcasecmp (arg, "no") == 0)
++ generate_relax_relocations = 0;
++ else
++ as_fatal (_("invalid -mrelax-relocations= option: `%s'"), arg);
++ break;
++
+ case OPTION_MAMD64:
+ cpu_arch_flags.bitfield.cpuamd64 = 1;
+ cpu_arch_flags.bitfield.cpuintel64 = 0;
+@@ -10146,6 +10169,9 @@ md_show_usage (FILE *stream)
+ -momit-lock-prefix=[no|yes]\n\
+ strip all lock prefixes\n"));
+ fprintf (stream, _("\
++ -mrelax-relocations=[no|yes]\n\
++ generate relax relocations\n"));
++ fprintf (stream, _("\
+ -mamd64 accept only AMD64 ISA\n"));
+ fprintf (stream, _("\
+ -mintel64 accept only Intel64 ISA\n"));
+diff --git a/gas/configure b/gas/configure
+index f959e95..dd9c953 100755
+--- a/gas/configure
++++ b/gas/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.64 for gas 2.26.
++# Generated by GNU Autoconf 2.64 for gas 2.26.0.
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+ # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
+@@ -556,8 +556,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='gas'
+ PACKAGE_TARNAME='gas'
+-PACKAGE_VERSION='2.26'
+-PACKAGE_STRING='gas 2.26'
++PACKAGE_VERSION='2.26.0'
++PACKAGE_STRING='gas 2.26.0'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -765,6 +765,7 @@ enable_largefile
+ enable_targets
+ enable_checking
+ enable_compressed_debug_sections
++enable_x86_relax_relocations
+ enable_werror
+ enable_build_warnings
+ enable_nls
+@@ -1323,7 +1324,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.26 to adapt to many kinds of systems.
++\`configure' configures gas 2.26.0 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1394,7 +1395,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of gas 2.26:";;
++ short | recursive ) echo "Configuration of gas 2.26.0:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1415,6 +1416,8 @@ Optional Features:
+ --enable-checking enable run-time checks
+ --enable-compressed-debug-sections={all,gas,none}
+ compress debug sections by default]
++ --enable-x86-relax-relocations
++ generate x86 relax relocations by default
+ --enable-werror treat compile warnings as errors
+ --enable-build-warnings enable build-time compiler warnings
+ --disable-nls do not use Native Language Support
+@@ -1510,7 +1513,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-gas configure 2.26
++gas configure 2.26.0
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -1920,7 +1923,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.26, which was
++It was created by gas $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3728,7 +3731,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='gas'
+- VERSION='2.26'
++ VERSION='2.26.0'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -10972,7 +10975,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10975 "configure"
++#line 10978 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11078,7 +11081,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11081 "configure"
++#line 11084 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11680,6 +11683,17 @@ if test "${enable_compressed_debug_sections+set}" = set; then :
+ esac
+ fi
+
++# PR gas/19520
++# Decide if x86 assembler should generate relax relocations.
++ac_default_x86_relax_relocations=unset
++# Provide a configure time option to override our default.
++# Check whether --enable-x86_relax_relocations was given.
++if test "${enable_x86_relax_relocations+set}" = set; then :
++ enableval=$enable_x86_relax_relocations; case "${enableval}" in
++ no) ac_default_x86_relax_relocations=0 ;;
++esac
++fi
++
+ using_cgen=no
+
+
+@@ -12085,6 +12099,17 @@ $as_echo "#define STRICTCOFF 1" >>confdefs.h
+
+ ;;
+
++ i386-*-solaris2 \
++ | x86_64-*-solaris2 \
++ | i386-*-solaris2.[0-9] \
++ | i386-*-solaris2.1[01] \
++ | x86_64-*-solaris2.1[01])
++ if test ${this_target} = $target \
++ && test ${ac_default_x86_relax_relocations} = unset; then
++ ac_default_x86_relax_relocations=0
++ fi
++ ;;
++
+ i860-*-*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&5
+ $as_echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&2;}
+@@ -12505,7 +12530,16 @@ _ACEOF
+
+ done
+
+-if test x$ac_default_compressed_debug_sections == xyes ; then
++if test ${ac_default_x86_relax_relocations} = unset; then
++ ac_default_x86_relax_relocations=1
++fi
++
++cat >>confdefs.h <<_ACEOF
++#define DEFAULT_GENERATE_X86_RELAX_RELOCATIONS $ac_default_x86_relax_relocations
++_ACEOF
++
++
++if test x$ac_default_compressed_debug_sections = xyes ; then
+
+ $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
+
+@@ -15029,7 +15063,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by gas $as_me 2.26, which was
++This file was extended by gas $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -15093,7 +15127,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-gas config.status 2.26
++gas config.status 2.26.0
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+diff --git a/gas/configure.ac b/gas/configure.ac
+index 07f825d..0e22593 100644
+--- a/gas/configure.ac
++++ b/gas/configure.ac
+@@ -77,6 +77,17 @@ AC_ARG_ENABLE(compressed_debug_sections,
+ *) ac_default_compressed_debug_sections=unset ;;
+ esac])dnl
+
++# PR gas/19520
++# Decide if x86 assembler should generate relax relocations.
++ac_default_x86_relax_relocations=unset
++# Provide a configure time option to override our default.
++AC_ARG_ENABLE(x86_relax_relocations,
++ AS_HELP_STRING([--enable-x86-relax-relocations],
++ [generate x86 relax relocations by default]),
++[case "${enableval}" in
++ no) ac_default_x86_relax_relocations=0 ;;
++esac])dnl
++
+ using_cgen=no
+
+ AM_BINUTILS_WARNINGS
+@@ -168,6 +179,17 @@ for this_target in $target $canon_targets ; do
+ AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
+ ;;
+
++ i386-*-solaris2 \
++ | x86_64-*-solaris2 \
++ | i386-*-solaris2.[[0-9]] \
++ | i386-*-solaris2.1[[01]] \
++ | x86_64-*-solaris2.1[[01]])
++ if test ${this_target} = $target \
++ && test ${ac_default_x86_relax_relocations} = unset; then
++ ac_default_x86_relax_relocations=0
++ fi
++ ;;
++
+ i860-*-*)
+ AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
+ ;;
+@@ -549,7 +571,14 @@ changequote([,])dnl
+
+ done
+
+-if test x$ac_default_compressed_debug_sections == xyes ; then
++if test ${ac_default_x86_relax_relocations} = unset; then
++ ac_default_x86_relax_relocations=1
++fi
++AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_X86_RELAX_RELOCATIONS,
++ $ac_default_x86_relax_relocations,
++ [Define to 1 if you want to generate x86 relax relocations by default.])
++
++if test x$ac_default_compressed_debug_sections = xyes ; then
+ AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
+ fi
+
+diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi
+index 4af05e3..7eb1fbc 100644
+--- a/gas/doc/c-i386.texi
++++ b/gas/doc/c-i386.texi
+@@ -327,6 +327,18 @@ single-thread computers
+ @option{-momit-lock-prefix=@var{no}} will encode lock prefix as usual,
+ which is the default.
+
++@cindex @samp{-mrelax-relocations=} option, i386
++@cindex @samp{-mrelax-relocations=} option, x86-64
++@item -mrelax-relocations=@var{no}
++@itemx -mrelax-relocations=@var{yes}
++These options control whether the assembler should generate relax
++relocations, R_386_GOT32X, in 32-bit mode, or R_X86_64_GOTPCRELX and
++R_X86_64_REX_GOTPCRELX, in 64-bit mode.
++@option{-mrelax-relocations=@var{yes}} will generate relax relocations.
++@option{-mrelax-relocations=@var{no}} will not generate relax
++relocations. The default can be controlled by a configure option
++@option{--enable-x86-relax-relocations}.
++
+ @cindex @samp{-mevexrcig=} option, i386
+ @cindex @samp{-mevexrcig=} option, x86-64
+ @item -mevexrcig=@var{rne}
+diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
+index 4c86c8c..2c01d7b 100644
+--- a/gas/testsuite/ChangeLog
++++ b/gas/testsuite/ChangeLog
+@@ -15,6 +15,13 @@
+ * gas/arm/armv8-a.d: <ldaexh>: Rename mismatched mnemonics ...
+ <ldah>: ... to this.
+
++2015-12-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
++
++ * gas/arm/armv8a-automatic-hlt.d: New test.
++ * gas/arm/armv8a-automatic-hlt.s: New test.
++ * gas/arm/armv8a-automatic-lda.d: New test.
++ * gas/arm/armv8a-automatic-lda.s: New test.
++
+ 2015-12-15 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/aarch64/advsimd-fp16.d: Update expected output.
+@@ -153,7 +160,7 @@
+ Apply from master.
+ 2015-11-19 Alan Modra <amodra@gmail.com>
+ * gas/ppc/altivec3.d: Allow for padding at end of section.
+- * gas/testsuite/gas/ppc/power9.d: Likewise.
++ * gas/ppc/power9.d: Likewise.
+
+ 2015-12-09 H.J. Lu <hongjiu.lu@intel.com>
+
+@@ -207,8 +214,8 @@
+
+ 2015-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+- * gas/arm/pinsn.s: New.
+- * gas/arm/pinsn.d: Likewise.
++ * gas/arm/pinsn.s: New.
++ * gas/arm/pinsn.d: Likewise.
+
+ 2015-10-27 Nick Clifton <nickc@redhat.com>
+
+@@ -385,8 +392,8 @@
+
+ 2015-10-02 Renlin Li <renlin.li@arm.com>
+
+- * gas/aarch64/reloc-tlsgd_g0_nc.d: New.
+- * gas/aarch64/reloc-tlsgd_g0_nc.s: New.
++ * gas/aarch64/reloc-tlsgd_g0_nc.d: New.
++ * gas/aarch64/reloc-tlsgd_g0_nc.s: New.
+
+ 2015-10-02 Renlin Li <renlin.li@arm.com>
+
+@@ -958,9 +965,7 @@
+ 2015-05-28 Catherine Moore <clm@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+- gas/testsuite/
+ * gas/mips/mips.exp: Run new tests.
+-
+ * gas/mips/compact-eh-1.s: New file.
+ * gas/mips/compact-eh-2.s: New file.
+ * gas/mips/compact-eh-3.s: New file.
+diff --git a/gas/testsuite/gas/i386/got-no-relax.d b/gas/testsuite/gas/i386/got-no-relax.d
+new file mode 100644
+index 0000000..6bf138a
+--- /dev/null
++++ b/gas/testsuite/gas/i386/got-no-relax.d
+@@ -0,0 +1,31 @@
++#source: got.s
++#as: -mrelax-relocations=no
++#objdump: -dwr
++
++.*: +file format .*
++
++
++Disassembly of section .text:
++
++0+ <_start>:
++[ ]*[a-f0-9]+: b8 00 00 00 00 mov \$0x0,%eax 1: R_386_GOT32 foo
++[ ]*[a-f0-9]+: 8b 05 00 00 00 00 mov 0x0,%eax 7: R_386_GOT32X foo
++[ ]*[a-f0-9]+: 8b 80 00 00 00 00 mov 0x0\(%eax\),%eax d: R_386_GOT32 foo
++[ ]*[a-f0-9]+: 05 00 00 00 00 add \$0x0,%eax 12: R_386_GOT32 foo
++[ ]*[a-f0-9]+: 03 05 00 00 00 00 add 0x0,%eax 18: R_386_GOT32X foo
++[ ]*[a-f0-9]+: 03 80 00 00 00 00 add 0x0\(%eax\),%eax 1e: R_386_GOT32 foo
++[ ]*[a-f0-9]+: ff 15 00 00 00 00 call \*0x0 24: R_386_GOT32X foo
++[ ]*[a-f0-9]+: ff 90 00 00 00 00 call \*0x0\(%eax\) 2a: R_386_GOT32 foo
++[ ]*[a-f0-9]+: ff 25 00 00 00 00 jmp \*0x0 30: R_386_GOT32X foo
++[ ]*[a-f0-9]+: ff a0 00 00 00 00 jmp \*0x0\(%eax\) 36: R_386_GOT32 foo
++[ ]*[a-f0-9]+: b8 00 00 00 00 mov \$0x0,%eax 3b: R_386_GOT32 foo
++[ ]*[a-f0-9]+: 8b 05 00 00 00 00 mov 0x0,%eax 41: R_386_GOT32X foo
++[ ]*[a-f0-9]+: 8b 80 00 00 00 00 mov 0x0\(%eax\),%eax 47: R_386_GOT32 foo
++[ ]*[a-f0-9]+: 05 00 00 00 00 add \$0x0,%eax 4c: R_386_GOT32 foo
++[ ]*[a-f0-9]+: 03 05 00 00 00 00 add 0x0,%eax 52: R_386_GOT32X foo
++[ ]*[a-f0-9]+: 03 80 00 00 00 00 add 0x0\(%eax\),%eax 58: R_386_GOT32 foo
++[ ]*[a-f0-9]+: ff 90 00 00 00 00 call \*0x0\(%eax\) 5e: R_386_GOT32 foo
++[ ]*[a-f0-9]+: ff 15 00 00 00 00 call \*0x0 64: R_386_GOT32X foo
++[ ]*[a-f0-9]+: ff a0 00 00 00 00 jmp \*0x0\(%eax\) 6a: R_386_GOT32 foo
++[ ]*[a-f0-9]+: ff 25 00 00 00 00 jmp \*0x0 70: R_386_GOT32X foo
++#pass
+diff --git a/gas/testsuite/gas/i386/got.d b/gas/testsuite/gas/i386/got.d
+index f76ca47..7621cdf 100644
+--- a/gas/testsuite/gas/i386/got.d
++++ b/gas/testsuite/gas/i386/got.d
+@@ -1,3 +1,4 @@
++#as: -mrelax-relocations=yes
+ #objdump: -dwr
+
+ .*: +file format .*
+diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
+index d881cd8..9ad7a9e 100644
+--- a/gas/testsuite/gas/i386/i386.exp
++++ b/gas/testsuite/gas/i386/i386.exp
+@@ -406,6 +406,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
+ run_dump_test "relax-4"
+
+ run_dump_test "got"
++ run_dump_test "got-no-relax"
+
+ if {![istarget "*-*-nacl*"]} then {
+ run_dump_test "iamcu-1"
+@@ -784,6 +785,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
+ run_list_test "x86-64-branch-3" "-al -mintel64"
+
+ run_dump_test "x86-64-gotpcrel"
++ run_dump_test "x86-64-gotpcrel-no-relax"
+ }
+
+ set ASFLAGS "$old_ASFLAGS"
+diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel.d b/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel.d
+index e5a3b1c..1314e5b 100644
+--- a/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel.d
++++ b/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel.d
+@@ -1,4 +1,5 @@
+ #source: ../x86-64-gotpcrel.s
++#as: --x32 -mrelax-relocations=yes
+ #objdump: -dwr
+ #name: x86-64 (ILP32) gotpcrel
+
+diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d b/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d
+index 0ca69c7..a9528a2 100644
+--- a/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d
++++ b/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d
+@@ -1,4 +1,5 @@
+ #source: ../x86-64-localpic.s
++#as: --x32 -mrelax-relocations=yes
+ #readelf: -rsW
+ #name: x86-64 (ILP32) local PIC
+
+diff --git a/gas/testsuite/gas/i386/localpic.d b/gas/testsuite/gas/i386/localpic.d
+index 04fb5ce..0a5eec5 100644
+--- a/gas/testsuite/gas/i386/localpic.d
++++ b/gas/testsuite/gas/i386/localpic.d
+@@ -1,3 +1,4 @@
++#as: -mrelax-relocations=yes
+ #readelf: -rs
+ #name: i386 local PIC
+
+diff --git a/gas/testsuite/gas/i386/mixed-mode-reloc32.d b/gas/testsuite/gas/i386/mixed-mode-reloc32.d
+index 9affc36..a2ef6a0 100644
+--- a/gas/testsuite/gas/i386/mixed-mode-reloc32.d
++++ b/gas/testsuite/gas/i386/mixed-mode-reloc32.d
+@@ -1,3 +1,4 @@
++#as: -mrelax-relocations=yes
+ #objdump: -r
+ #source: mixed-mode-reloc.s
+ #name: x86 mixed mode relocs (32-bit object)
+diff --git a/gas/testsuite/gas/i386/reloc32.d b/gas/testsuite/gas/i386/reloc32.d
+index 45c9cd2..b6e1bbd 100644
+--- a/gas/testsuite/gas/i386/reloc32.d
++++ b/gas/testsuite/gas/i386/reloc32.d
+@@ -1,3 +1,4 @@
++#as: -mrelax-relocations=yes
+ #objdump: -Drw
+ #name: i386 relocs
+
+diff --git a/gas/testsuite/gas/i386/x86-64-avx512f-intel.d b/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
+index c6bdbc5..ff2a3d1 100644
+--- a/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
++++ b/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
+@@ -3666,6 +3666,7 @@ Disassembly of section .text:
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 b4 fe 7b 00 00 00 vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r14\+zmm31\*8\+0x7b\]
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 74 39 20 vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r9\+zmm31\*1\+0x100\]
+ [ ]*[a-f0-9]+: 62 22 fd 41 93 b4 b9 00 04 00 00 vgatherqpd zmm30\{k1\},ZMMWORD PTR \[rcx\+zmm31\*4\+0x400\]
++[ ]*[a-f0-9]+: 62 d2 fd 41 93 9c de 7b 00 00 00 vgatherqpd zmm3\{k1\},ZMMWORD PTR \[r14\+zmm19\*8\+0x7b\]
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 7b 00 00 00 vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8\+0x7b\]
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 7b 00 00 00 vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8\+0x7b\]
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 74 39 40 vgatherqps ymm30\{k1\},YMMWORD PTR \[r9\+zmm31\*1\+0x100\]
+@@ -10686,6 +10687,7 @@ Disassembly of section .text:
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 b4 fe 85 ff ff ff vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r14\+zmm31\*8-0x7b\]
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 74 39 20 vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r9\+zmm31\*1\+0x100\]
+ [ ]*[a-f0-9]+: 62 22 fd 41 93 b4 b9 00 04 00 00 vgatherqpd zmm30\{k1\},ZMMWORD PTR \[rcx\+zmm31\*4\+0x400\]
++[ ]*[a-f0-9]+: 62 d2 fd 41 93 9c de 7b 00 00 00 vgatherqpd zmm3\{k1\},ZMMWORD PTR \[r14\+zmm19\*8\+0x7b\]
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 85 ff ff ff vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8-0x7b\]
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 85 ff ff ff vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8-0x7b\]
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 74 39 40 vgatherqps ymm30\{k1\},YMMWORD PTR \[r9\+zmm31\*1\+0x100\]
+diff --git a/gas/testsuite/gas/i386/x86-64-avx512f.d b/gas/testsuite/gas/i386/x86-64-avx512f.d
+index d672fa5..2db0b3e 100644
+--- a/gas/testsuite/gas/i386/x86-64-avx512f.d
++++ b/gas/testsuite/gas/i386/x86-64-avx512f.d
+@@ -3665,6 +3665,7 @@ Disassembly of section .text:
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 b4 fe 7b 00 00 00 vgatherqpd 0x7b\(%r14,%zmm31,8\),%zmm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 74 39 20 vgatherqpd 0x100\(%r9,%zmm31,1\),%zmm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 22 fd 41 93 b4 b9 00 04 00 00 vgatherqpd 0x400\(%rcx,%zmm31,4\),%zmm30\{%k1\}
++[ ]*[a-f0-9]+: 62 d2 fd 41 93 9c de 7b 00 00 00 vgatherqpd 0x7b\(%r14,%zmm19,8\),%zmm3\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 7b 00 00 00 vgatherqps 0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 7b 00 00 00 vgatherqps 0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 74 39 40 vgatherqps 0x100\(%r9,%zmm31,1\),%ymm30\{%k1\}
+@@ -10685,6 +10686,7 @@ Disassembly of section .text:
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 b4 fe 85 ff ff ff vgatherqpd -0x7b\(%r14,%zmm31,8\),%zmm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 fd 41 93 74 39 20 vgatherqpd 0x100\(%r9,%zmm31,1\),%zmm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 22 fd 41 93 b4 b9 00 04 00 00 vgatherqpd 0x400\(%rcx,%zmm31,4\),%zmm30\{%k1\}
++[ ]*[a-f0-9]+: 62 d2 fd 41 93 9c de 7b 00 00 00 vgatherqpd 0x7b\(%r14,%zmm19,8\),%zmm3\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 85 ff ff ff vgatherqps -0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 b4 fe 85 ff ff ff vgatherqps -0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
+ [ ]*[a-f0-9]+: 62 02 7d 41 93 74 39 40 vgatherqps 0x100\(%r9,%zmm31,1\),%ymm30\{%k1\}
+diff --git a/gas/testsuite/gas/i386/x86-64-avx512f.s b/gas/testsuite/gas/i386/x86-64-avx512f.s
+index fa42326..e2cbb12 100644
+--- a/gas/testsuite/gas/i386/x86-64-avx512f.s
++++ b/gas/testsuite/gas/i386/x86-64-avx512f.s
+@@ -3973,6 +3973,7 @@ _start:
+ vgatherqpd 123(%r14,%zmm31,8), %zmm30{%k1} # AVX512F
+ vgatherqpd 256(%r9,%zmm31), %zmm30{%k1} # AVX512F
+ vgatherqpd 1024(%rcx,%zmm31,4), %zmm30{%k1} # AVX512F
++ vgatherqpd 123(%r14,%zmm19,8), %zmm3{%k1} # AVX512F
+
+ vgatherqps 123(%r14,%zmm31,8), %ymm30{%k1} # AVX512F
+ vgatherqps 123(%r14,%zmm31,8), %ymm30{%k1} # AVX512F
+@@ -11630,6 +11631,7 @@ _start:
+ vgatherqpd zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
+ vgatherqpd zmm30{k1}, ZMMWORD PTR [r9+zmm31+256] # AVX512F
+ vgatherqpd zmm30{k1}, ZMMWORD PTR [rcx+zmm31*4+1024] # AVX512F
++ vgatherqpd zmm3{k1}, ZMMWORD PTR [r14+zmm19*8+123] # AVX512F
+
+ vgatherqps ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123] # AVX512F
+ vgatherqps ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123] # AVX512F
+diff --git a/gas/testsuite/gas/i386/x86-64-gotpcrel-no-relax.d b/gas/testsuite/gas/i386/x86-64-gotpcrel-no-relax.d
+new file mode 100644
+index 0000000..a3f8943
+--- /dev/null
++++ b/gas/testsuite/gas/i386/x86-64-gotpcrel-no-relax.d
+@@ -0,0 +1,27 @@
++#source: x86-64-gotpcrel.s
++#as: -mrelax-relocations=no
++#objdump: -dwr
++
++.*: +file format .*
++
++
++Disassembly of section .text:
++
++0+ <_start>:
++[ ]*[a-f0-9]+: 48 c7 c0 00 00 00 00 mov \$0x0,%rax 3: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: 48 8b 04 25 00 00 00 00 mov 0x0,%rax b: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: 48 8b 05 00 00 00 00 mov 0x0\(%rip\),%rax # 16 <_start\+0x16> 12: R_X86_64_GOTPCREL foo-0x4
++[ ]*[a-f0-9]+: 48 8b 81 00 00 00 00 mov 0x0\(%rcx\),%rax 19: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: ff 15 00 00 00 00 callq \*0x0\(%rip\) # 23 <_start\+0x23> 1f: R_X86_64_GOTPCREL foo-0x4
++[ ]*[a-f0-9]+: ff 90 00 00 00 00 callq \*0x0\(%rax\) 25: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: ff 25 00 00 00 00 jmpq \*0x0\(%rip\) # 2f <_start\+0x2f> 2b: R_X86_64_GOTPCREL foo-0x4
++[ ]*[a-f0-9]+: ff a1 00 00 00 00 jmpq \*0x0\(%rcx\) 31: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: 48 c7 c0 00 00 00 00 mov \$0x0,%rax 38: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: 48 8b 04 25 00 00 00 00 mov 0x0,%rax 40: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: 48 8b 05 00 00 00 00 mov 0x0\(%rip\),%rax # 4b <_start\+0x4b> 47: R_X86_64_GOTPCREL foo-0x4
++[ ]*[a-f0-9]+: 48 8b 81 00 00 00 00 mov 0x0\(%rcx\),%rax 4e: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: ff 15 00 00 00 00 callq \*0x0\(%rip\) # 58 <_start\+0x58> 54: R_X86_64_GOTPCREL foo-0x4
++[ ]*[a-f0-9]+: ff 90 00 00 00 00 callq \*0x0\(%rax\) 5a: R_X86_64_GOTPCREL foo
++[ ]*[a-f0-9]+: ff 25 00 00 00 00 jmpq \*0x0\(%rip\) # 64 <_start\+0x64> 60: R_X86_64_GOTPCREL foo-0x4
++[ ]*[a-f0-9]+: ff a1 00 00 00 00 jmpq \*0x0\(%rcx\) 66: R_X86_64_GOTPCREL foo
++#pass
+diff --git a/gas/testsuite/gas/i386/x86-64-gotpcrel.d b/gas/testsuite/gas/i386/x86-64-gotpcrel.d
+index 6ca3fc7..fbe5e47 100644
+--- a/gas/testsuite/gas/i386/x86-64-gotpcrel.d
++++ b/gas/testsuite/gas/i386/x86-64-gotpcrel.d
+@@ -1,3 +1,4 @@
++#as: -mrelax-relocations=yes
+ #objdump: -dwr
+
+ .*: +file format .*
+diff --git a/gas/testsuite/gas/i386/x86-64-localpic.d b/gas/testsuite/gas/i386/x86-64-localpic.d
+index 0a07149..bafaa9c 100644
+--- a/gas/testsuite/gas/i386/x86-64-localpic.d
++++ b/gas/testsuite/gas/i386/x86-64-localpic.d
+@@ -1,3 +1,4 @@
++#as: -mrelax-relocations=yes
+ #readelf: -rsW
+ #name: x86-64 local PIC
+
+diff --git a/gold/ChangeLog b/gold/ChangeLog
+index b283a88..92b26ba 100644
+--- a/gold/ChangeLog
++++ b/gold/ChangeLog
+@@ -33,7 +33,7 @@
+ 2015-11-11 Alan Modra <amodra@gmail.com>
+ Peter Bergner <bergner@vnet.ibm.com>
+
+- * gold/powerpc.cc (Powerpc_relocate_functions::addr16_dq): New function.
++ * powerpc.cc (Powerpc_relocate_functions::addr16_dq): New function.
+ (Powerpc_relocate_functions::addr16dx_ha): Likewise.
+ (Target_powerpc::Scan::local): Handle R_POWERPC_REL16DX_HA.
+ (Target_powerpc::Scan::global): Likewise.
+@@ -339,7 +339,7 @@
+ 2015-07-26 Doug Kwan <dougkwan@google.com>
+
+ * testsuite/arm_unaligned_reloc.{s,sh}: Make test less sensitive to
+- disassembler output format.
++ disassembler output format.
+
+ 2015-07-23 Ian Coolidge <icoolidge@google.com>
+ Plumb --pic-veneer option for gold.
+@@ -566,7 +566,7 @@
+ 2015-06-29 Doug Kwan <dougkwan@google.com>
+
+ * testsuite/arm_bl_out_of_range.s: Align stub table so that it appears
+- at address expected by test.
++ at address expected by test.
+ * testsuite/arm_cortex_a8_b.s: Ditto.
+ * testsuite/arm_cortex_a8_b_cond.s: Ditto.
+ * testsuite/arm_cortex_a8_bl.s: Ditto.
+@@ -940,7 +940,6 @@
+ 2015-04-07 HC Yen <hc.yen@mediatek.com>
+
+ Add AArch32 support for gold linker.
+- gold/
+ * arm.cc: Add V8 arch combine table.
+
+ 2015-04-06 Rafael Ãvila de Espíndola <rafael.espindola@gmail.com>
+@@ -1455,7 +1454,6 @@
+ (Output_data_plt_arm::entry_count): Modified.
+ (Output_data_plt_arm::address_for_global): New method.
+ (Output_data_plt_arm::address_for_local): New method.
+-gold/
+ (Output_data_plt_arm::set_final_data_size): Add irelative_count_.
+ (Output_data_plt_arm::insert_irelative_data): New method.
+ (Output_data_plt_arm::irelative_rel_): New member.
+@@ -2490,7 +2488,7 @@ gold/
+
+ Add .gdb_index version 7 support.
+
+- * gold/dwarf_reader.cc: include <utility> (for make_pair).
++ * dwarf_reader.cc: include <utility> (for make_pair).
+ (Dwarf_abbrev_table::do_read_abbrevs): Check for compressed
+ debug sections.
+ (Dwarf_ranges_table::read_ranges_table): Likewise.
+@@ -2501,21 +2499,21 @@ gold/
+ for end of list by offset, not by offset == 0.
+ (Dwarf_info_reader::do_read_string_table): Check for compressed
+ debug sections.
+- * gold/dwarf_reader.h (Dwarf_pubnames_table::Dwarf_pubnames_table):
++ * dwarf_reader.h (Dwarf_pubnames_table::Dwarf_pubnames_table):
+ Initialize new data members.
+ (Dwarf_pubnames_table::next_name): return flag_byte.
+ (Dwarf_pubnames_table::end_of_table_): New data member.
+ (Dwarf_pubnames_table::is_gnu_style_): New data member.
+- * gold/gdb-index.cc (gdb_index_version): Update to version 7.
++ * gdb-index.cc (gdb_index_version): Update to version 7.
+ (Gdb_index_info_reader::read_pubtable): Read flag_byte.
+ (Gdb_index_info_reader::read_pubnames_and_pubtypes): Don't
+ read skeleton type unit DIEs.
+ (Gdb_index::add_symbol): Add flag_byte; adjust all callers.
+ (Gdb_index::do_write): Write flag_byte.
+- * gold/gdb-index.h (Gdb_index::add_symbol): Add flags parameter.
++ * gdb-index.h (Gdb_index::add_symbol): Add flags parameter.
+ (Gdb_index::Cu_vector): Store flags along with cu indexes.
+- * gold/testsuite/gdb_index_test_3.sh: Allow versions 4-7.
+- * gold/testsuite/gdb_index_test_comm.sh: Likewise.
++ * testsuite/gdb_index_test_3.sh: Allow versions 4-7.
++ * testsuite/gdb_index_test_comm.sh: Likewise.
+
+ 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
+
+@@ -5554,15 +5552,15 @@ gold/
+
+ 2012-01-03 Cary Coutant <ccoutant@google.com>
+
+- * gold/incremental.cc (Sized_incremental_binary::do_process_got_plt):
++ * incremental.cc (Sized_incremental_binary::do_process_got_plt):
+ Use abstract base class for GOT.
+- * gold/output.h (class Output_data_got_base): New abstract base class.
++ * output.h (class Output_data_got_base): New abstract base class.
+ (class Output_data_got): Derive from new base class, adjust ctors.
+ (Output_data_got::reserve_slot): Make virtual; rename to
+ do_reserve_slot; Adjust callers.
+- * gold/target.h (Sized_target::init_got_plt_for_update): Return
++ * target.h (Sized_target::init_got_plt_for_update): Return
+ pointer to abstract base class.
+- * gold/x86_64.cc (Target_x86_64::init_got_plt_for_update): Likewise.
++ * x86_64.cc (Target_x86_64::init_got_plt_for_update): Likewise.
+
+ 2011-12-18 Ian Lance Taylor <iant@google.com>
+
+@@ -6073,10 +6071,10 @@ gold/
+
+ 2011-08-01 Cary Coutant <ccoutant@google.com>
+
+- * gold/testsuite/Makefile.am (justsyms_exec): New testcase.
+- * gold/testsuite/Makefile.in: Regenerate.
+- * gold/testsuite/justsyms_exec.c: New source file.
+- * gold/testsuite/justsyms_lib.c: New source file.
++ * testsuite/Makefile.am (justsyms_exec): New testcase.
++ * testsuite/Makefile.in: Regenerate.
++ * testsuite/justsyms_exec.c: New source file.
++ * testsuite/justsyms_lib.c: New source file.
+
+ 2011-08-01 Cary Coutant <ccoutant@google.com>
+
+@@ -6402,7 +6400,7 @@ gold/
+
+ 2011-07-06 Cary Coutant <ccoutant@google.com>
+
+- * gold/incremental.cc
++ * incremental.cc
+ (Output_section_incremental_inputs::write_info_blocks): Check for
+ hidden and internal symbols.
+
+@@ -6943,9 +6941,9 @@ gold/
+ 2011-06-09 Cary Coutant <ccoutant@google.com>
+
+ PR gold/12804
+- * gold/gold.cc (queue_initial_tasks): Warn if --incremental is
++ * gold.cc (queue_initial_tasks): Warn if --incremental is
+ used with --compress-debug-sections.
+- * gold/object.cc (Sized_relobj_file::do_layout): Report
++ * object.cc (Sized_relobj_file::do_layout): Report
+ uncompressed size of compressed input sections.
+
+ 2011-06-08 Cary Coutant <ccoutant@google.com>
+@@ -7073,10 +7071,10 @@ gold/
+ 2011-06-02 Cary Coutant <ccoutant@google.com>
+
+ PR gold/12163
+- * gold/archive.cc (Archive::Archive): Initialize new data member.
++ * archive.cc (Archive::Archive): Initialize new data member.
+ (Archive::include_all_members): Return if archive has already been
+ included.
+- * gold/archive.h (Archive::include_all_members_): New data member.
++ * archive.h (Archive::include_all_members_): New data member.
+
+ 2011-06-02 Nick Clifton <nickc@redhat.com>
+
+@@ -7593,9 +7591,9 @@ gold/
+
+ 2011-04-14 Cary Coutant <ccoutant@google.com>
+
+- * gold/layout.cc (Layout::symtab_section_offset): New function.
+- * gold/layout.h (Layout::symtab_section_offset): New function.
+- * gold/reloc.cc (Sized_relobj::do_relocate): Call it.
++ * layout.cc (Layout::symtab_section_offset): New function.
++ * layout.h (Layout::symtab_section_offset): New function.
++ * reloc.cc (Sized_relobj::do_relocate): Call it.
+
+ 2011-04-12 Ian Lance Taylor <iant@google.com>
+
+@@ -8706,7 +8704,7 @@ gold/
+
+ 2010-10-17 Doug Kwan <dougkwan@google.com>
+
+- * gold/arm.cc (Target_arm::got_section): Use correct order and set
++ * arm.cc (Target_arm::got_section): Use correct order and set
+ GOT output section to be writable.
+
+ 2010-10-14 Cary Coutant <ccoutant@google.com>
+@@ -8858,7 +8856,7 @@ gold/
+
+ 2010-09-30 Doug Kwan <dougkwan@google.com>
+
+- * gold/testsuite/arm_branch_out_of_range.sh: Fix broken tests.
++ * testsuite/arm_branch_out_of_range.sh: Fix broken tests.
+
+ 2010-09-28 Sriraman Tallam <tmsriram@google.com>
+
+@@ -8902,13 +8900,13 @@ gold/
+
+ 2010-09-15 Doug Kwan <dougkwan@google.com>
+
+- * gold/testsuite/script_test_3.t: Add ARM special sections.
+- * gold/testsuite/script_test_4.t: Same.
+- * gold/testsuite/script_test_5.t: Same.
+- * gold/testsuite/script_test_6.t: Same.
+- * gold/testsuite/script_test_7.t: Same.
+- * gold/testsuite/script_test_7.t: Same.
+- * gold/testsuite/thumb_blx_out_of_range.s: Fix instruction alignment.
++ * testsuite/script_test_3.t: Add ARM special sections.
++ * testsuite/script_test_4.t: Same.
++ * testsuite/script_test_5.t: Same.
++ * testsuite/script_test_6.t: Same.
++ * testsuite/script_test_7.t: Same.
++ * testsuite/script_test_7.t: Same.
++ * testsuite/thumb_blx_out_of_range.s: Fix instruction alignment.
+
+ 2010-09-14 Cary Coutant <ccoutant@google.com>
+
+@@ -9041,7 +9039,7 @@ gold/
+
+ 2010-08-27 Doug Kwan <dougkwan@google.com>
+
+- * gold/resolve.cc (Symbol_table::should_override): Let a weak
++ * resolve.cc (Symbol_table::should_override): Let a weak
+ reference override an existing dynamic weak reference.
+ * testsuite/Makefile.am: Add new test dyn_weak_ref.
+ * testsuite/Makefile.in: Regenerate.
+@@ -9133,11 +9131,11 @@ gold/
+ 2010-08-19 Neil Vachharajani <nvachhar@google.com>
+ Cary Coutant <ccoutant@google.com>
+
+- * gold/archive.h (Add_lib_group_symbols): Add readsyms_blocker_, adjust
++ * archive.h (Add_lib_group_symbols): Add readsyms_blocker_, adjust
+ constructor, and set_blocker.
+- * gold/archive.cc (Add_lib_group_symbols::is_runnable): Also check
++ * archive.cc (Add_lib_group_symbols::is_runnable): Also check
+ readsyms_blocker_.
+- * gold/readsyms.cc (Read_symbols::do_lib_group): Also pass
++ * readsyms.cc (Read_symbols::do_lib_group): Also pass
+ this->this_blocker_ to Add_lib_group_symbols::set_blocker.
+ * testsuite/Makefile.am (start_lib_test): New test case.
+ * testsuite/Makefile.in: Regenerate.
+@@ -9740,9 +9738,9 @@ gold/
+ 2010-07-27 Jeffrey Yasskin <jyasskin@google.com>
+
+ * testsuite/debug_msg.sh: Test mixed weak/strong symbol behavior.
+- * gold/testsuite/debug_msg.cc: Likewise.
+- * gold/testsuite/odr_violation1.cc
+- * gold/testsuite/odr_violation2.cc
++ * testsuite/debug_msg.cc: Likewise.
++ * testsuite/odr_violation1.cc
++ * testsuite/odr_violation2.cc
+
+ 2010-07-21 Cary Coutant <ccoutant@google.com>
+
+@@ -10087,13 +10085,13 @@ gold/
+ 2010-05-26 Rafael Espindola <espindola@google.com>
+
+ PR 11604
+- * gold/object.cc(Sized_relobj::do_layout_deferred_sections): Avoid
++ * object.cc(Sized_relobj::do_layout_deferred_sections): Avoid
+ adding sections the garbage collector removed.
+- * gold/testsuite/Makefile.am: Add test.
+- * gold/testsuite/Makefile.in: Regenerate.
+- * gold/testsuite/plugin_test_7.sh: New.
+- * gold/testsuite/plugin_test_7_1.c: New.
+- * gold/testsuite/plugin_test_7_2.c: New.
++ * testsuite/Makefile.am: Add test.
++ * testsuite/Makefile.in: Regenerate.
++ * testsuite/plugin_test_7.sh: New.
++ * testsuite/plugin_test_7_1.c: New.
++ * testsuite/plugin_test_7_2.c: New.
+
+ 2010-05-26 Rafael Espindola <espindola@google.com>
+
+@@ -10577,7 +10575,7 @@ gold/
+
+ 2010-03-25 Doug Kwan <dougkwan@google.com>
+
+- * gold/arm.cc (Arm_exidx_fixup::update_offset_map): Rearrange code
++ * arm.cc (Arm_exidx_fixup::update_offset_map): Rearrange code
+ to avoid a conversion warning on a 32-bit host.
+
+ 2010-03-24 Ian Lance Taylor <iant@google.com>
+@@ -10781,7 +10779,7 @@ gold/
+
+ 2010-03-08 Doug Kwan <dougkwan@google.com>
+
+- * gold/arm.cc (Arm_exidx_fixup::update_offset_map): Fix build breakage
++ * arm.cc (Arm_exidx_fixup::update_offset_map): Fix build breakage
+ due to a conversion warning.
+ (Arm_relobj::update_output_local_symbol_count): Check for local
+ symbol with unset output index.
+@@ -11403,7 +11401,7 @@ gold/
+
+ 2010-01-29 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+
+- * gold/arm.cc: Added support for the ARM relocations: R_ARM_THM_PC8,
++ * arm.cc: Added support for the ARM relocations: R_ARM_THM_PC8,
+ R_ARM_THM_PC12, R_ARM_THM_ALU_PREL_11_0.
+ (Arm_relocate_functions::thm_alu11): New Method.
+ (Arm_relocate_functions::thm_pc8): New Method.
+@@ -11553,12 +11551,12 @@ gold/
+
+ 2010-01-22 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+
+- * gold/arm.cc (Target_arm): Updated fix_v4bx method and usage of
++ * arm.cc (Target_arm): Updated fix_v4bx method and usage of
+ Fix_v4bx enum values .
+- * gold/options.h (General_options): New option definitions.
++ * options.h (General_options): New option definitions.
+ (General_options::fix_v4bx): New method.
+ (General_options::Fix_v4bx): New enum.
+- * gold/options.cc (General_options::parse_fix_v4bx): New method.
++ * options.cc (General_options::parse_fix_v4bx): New method.
+ (General_options::parse_fix_v4bx_interworking): New method.
+
+ 2010-01-22 Doug Kwan <dougkwan@google.com>
+@@ -11618,7 +11616,7 @@ gold/
+
+ 2010-01-20 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+
+- * gold/arm.cc: Added support for R_ARM_V4BX relocation
++ * arm.cc: Added support for R_ARM_V4BX relocation
+ (class Arm_v4bx_stub): New class.
+ (DEF_STUBS): Updated definition to support v4_veneer_bx.
+ (Stub_factory::make_arm_v4bx_stub): New method.
+@@ -12675,7 +12673,7 @@ gold/
+ attributes_section and attributes_vendor.
+ * i386.cc (Target_i386::i386_info): Same.
+ * object.cc (Sized_relobj::do_layout): Skip attribute section.
+- * gold/powerpc.cc (Target_powerpc::powerpc_info): Initialize new
++ * powerpc.cc (Target_powerpc::powerpc_info): Initialize new
+ fields attributes_section and attributes_vendor.
+ * sparc.cc (Target_sparc::sparc_info): Same.
+ * target.h (Target::attributes_section, Target::attributes_vendor,
+@@ -13322,7 +13320,7 @@ gold/
+ (Segment_start_expression::value): New method definition.
+ (script_exp_function_segment_start): Return a new
+ Segment_start_expression.
+- * gold/script-c.h (script_saw_segment_start_expression): New function
++ * script-c.h (script_saw_segment_start_expression): New function
+ prototype.
+ * script-sections.cc (Script_sections::Script_sections): Initialize
+ SAW_SEGMENT_START_EXPRESSION_ to false.
+@@ -14113,9 +14111,9 @@ gold/
+ (Script_sections::attach_sections_using_phdrs_clause): Do not modify
+ segment list.
+ (Script_sections::release_segments): New method definition.
+- * gold/script-sections.h (Script_sections::release_segments): New
++ * script-sections.h (Script_sections::release_segments): New
+ method declaration.
+- * gold/target.h (Target::may_relax, Target::relax,
++ * target.h (Target::may_relax, Target::relax,
+ Target::do_may_relax, Target::do_relax): New method definitions.
+
+ 2009-09-17 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+@@ -14689,7 +14687,7 @@ gold/
+
+ 2009-06-03 Doug Kwan <dougkwan@google.com>
+
+- * gold/arm.cc (namespace utils): New.
++ * arm.cc (namespace utils): New.
+ (Target_arm::reloc_is_non_pic): Define new method.
+ (class Arm_relocate_functions): New.
+ (Target_arm::Relocate::relocate): Handle relocation types used by
+@@ -14701,7 +14699,7 @@ gold/
+
+ 2009-06-02 Doug Kwan <dougkwan@google.com>
+
+- * gold/arm.cc (Target_arm::Scan::Scan): Initialize
++ * arm.cc (Target_arm::Scan::Scan): Initialize
+ issued_non_pic_error_.
+ (class Target_arm::Scan): Declare new method check_non_pic.
+ Define new method symbol_needs_plt_entry.
+@@ -14722,7 +14720,7 @@ gold/
+
+ 2009-05-29 Doug Kwan <dougkwan@google.com>
+
+- * gold/arm.cc (Output_data_plt_arm): Forward declaration for new
++ * arm.cc (Output_data_plt_arm): Forward declaration for new
+ template class.
+ (class Target_arm): Update comment.
+ (Target_arm::Target_arm): Initialize new data members GOT_,
+diff --git a/gprof/ChangeLog b/gprof/ChangeLog
+index 9fa2109..cb3b0c3 100644
+--- a/gprof/ChangeLog
++++ b/gprof/ChangeLog
+@@ -2,6 +2,10 @@
+
+ * configure: Regenerate.
+
++2016-01-25 Tristan Gingold <gingold@adacore.com>
++
++ * configure: Regenerate.
++
+ 2015-11-13 Tristan Gingold <gingold@adacore.com>
+
+ * configure: Regenerate.
+diff --git a/gprof/configure b/gprof/configure
+index 8ea2c70..693b927 100755
+--- a/gprof/configure
++++ b/gprof/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.64 for gprof 2.26.
++# Generated by GNU Autoconf 2.64 for gprof 2.26.0.
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+ # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
+@@ -556,8 +556,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='gprof'
+ PACKAGE_TARNAME='gprof'
+-PACKAGE_VERSION='2.26'
+-PACKAGE_STRING='gprof 2.26'
++PACKAGE_VERSION='2.26.0'
++PACKAGE_STRING='gprof 2.26.0'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1299,7 +1299,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.26 to adapt to many kinds of systems.
++\`configure' configures gprof 2.26.0 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1370,7 +1370,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of gprof 2.26:";;
++ short | recursive ) echo "Configuration of gprof 2.26.0:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1476,7 +1476,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-gprof configure 2.26
++gprof configure 2.26.0
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -1841,7 +1841,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.26, which was
++It was created by gprof $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3649,7 +3649,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='gprof'
+- VERSION='2.26'
++ VERSION='2.26.0'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -12706,7 +12706,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by gprof $as_me 2.26, which was
++This file was extended by gprof $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -12770,7 +12770,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-gprof config.status 2.26
++gprof config.status 2.26.0
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+diff --git a/include/ChangeLog b/include/ChangeLog
+index 01a25de..0ceba89 100644
+--- a/include/ChangeLog
++++ b/include/ChangeLog
+@@ -30,10 +30,6 @@
+ * dwarf2.def (DW_AT_GNU_numerator, DW_AT_GNU_denominator): New
+ attributes.
+
+-2015-09-26 James Bowman <james.bowman@ftdichip.com>
+-
+- * opcode/ft32.h: Add instruction macros FT32_*()
+-
+ 2015-09-20 Rich Felker <dalias@libc.org>
+
+ * bfdlink.h (struct bfd_link_info): Add "nointerp" field.
+@@ -55,7 +51,7 @@
+
+ 2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
+
+- * include/bfdlink.h (output_type): New enum.
++ * bfdlink.h (output_type): New enum.
+ (bfd_link_executable): New macro.
+ (bfd_link_dll): Likewise.
+ (bfd_link_relocatable): Likewise.
+@@ -71,10 +67,6 @@
+
+ * ansidecl.h (GCC_FINAL): New macro.
+
+-2015-07-16 Jiong Wang <jiong.wang@arm.com>
+-
+- * elf/aarch64.h (R_AARCH64_P32_TLSLD_ADR_PREL21): New enumeration.
+-
+ 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ Sync with GCC
+@@ -97,25 +89,12 @@
+ PR target/65261
+ * ansidecl.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.
+
+-2015-07-09 Catherine Moore <clm@codesourcery.com>
+-
+- * elf/mips/mips.h (Val_GNU_MIPS_ABI_FP_NAN2008): New.
+-
+-2015-07-08 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
+-
+- * elf/avr.h: Add new 32 bit PC relative relocation.
+-
+-2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
+-
+- * elf/mips.h (DT_MIPS_RLD_MAP_REL): New macro.
+-
+ 2015-06-22 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h (struct disassemble_info): Add stop_vma field.
+
+ 2015-05-28 Catherine Moore <clm@codesourcery.com>
+
+- include/
+ * bfdlink.h: Rename eh_frame_hdr to eh_frame_hdr_type.
+
+ 2015-05-22 Yunlian Jiang <yunlian@google.com>
+@@ -123,10 +102,6 @@
+ * libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is
+ not defined.
+
+-2015-05-12 Jiong Wang <jiong.wang@arm.com>
+-
+- * elf/aarch64.h (R_AARCH64_P32_LD32_GOTPAGE_LO14): New enumeration.
+-
+ 2015-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ Merge with gcc:
+@@ -160,11 +135,6 @@
+ PR ld/pr17709
+ * bfdlink.h (bfd_link_info): Add extern_protected_data.
+
+-2015-03-10 Matthew Wahab <matthew.wahab@arm.com>
+-
+- PR ld/16572
+- * elf/arm.h (EF_ARM_HASENTRY): Remove.
+-
+ 2015-02-19 Pedro Alves <palves@redhat.com>
+
+ * floatformat.h [__cplusplus]: Wrap in extern "C".
+@@ -247,31 +217,14 @@
+ PR debug/63239
+ * dwarf2.def (DW_AT_GNU_deleted): New attribute.
+
+-2014-11-21 Terry Guo <terry.guo@arm.com>
+-
+- * opcode/arm.h (FPU_VFP_EXT_ARMV8xD): New macro.
+- (FPU_VFP_V5D16): Likewise.
+- (FPU_VFP_V5_SP_D16): Likewise.
+- (FPU_ARCH_VFP_V5D16): Likewise.
+- (FPU_ARCH_VFP_V5_SP_D16): Likewise.
+-
+ 2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ * bfdlink.h (struct bfd_link_info): Add bndplt.
+
+-2014-10-30 Andrew Pinski <apinski@cavium.com>
+-
+- * elf/mips.h (AFL_EXT_OCTEON3): Define.
+- INSN_OCTEON3, CPU_OCTEON3): Define.
+-
+ 2014-10-28 Yury Gribov <y.gribov@samsung.com>
+
+ * libiberty.h (strtol, strtoul, strtoll, strtoull): New prototypes.
+
+-2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com>
+-
+- * elf/mips.h (AFL_ASE_MASK): Define.
+-
+ 2014-10-15 David Malcolm <dmalcolm@redhat.com>
+
+ * libiberty.h (choose_tmpdir): New prototype.
+@@ -303,28 +256,6 @@
+
+ * bfdlink.h (struct bfd_link_info): Add lto_plugin_active.
+
+-2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
+-
+- * elf/mips.h (PT_MIPS_ABIFLAGS, SHT_MIPS_ABIFLAGS): Define.
+- (Val_GNU_MIPS_ABI_FP_OLD_64): Rename from Val_GNU_MIPS_ABI_FP_64.
+- (Val_GNU_MIPS_ABI_FP_64): Redefine.
+- (Val_GNU_MIPS_ABI_FP_XX): Define.
+- (Elf_External_ABIFlags_v0, Elf_Internal_ABIFlags_v0): New structures.
+- (AFL_REG_NONE, AFL_REG_32, AFL_REG_64, AFL_REG_128): Define.
+- (AFL_ASE_DSP, AFL_ASE_DSPR2, AFL_ASE_EVA, AFL_ASE_MCU): Likewise.
+- (AFL_ASE_MDMX, AFL_ASE_MIPS3D, AFL_ASE_MT, AFL_ASE_SMARTMIPS): Likewise.
+- (AFL_ASE_VIRT, AFL_ASE_MSA, AFL_ASE_MIPS16): Likewise.
+- (AFL_ASE_MICROMIPS, AFL_ASE_XPA): Likewise.
+- (AFL_EXT_XLR, AFL_EXT_OCTEON2, AFL_EXT_OCTEONP): Likewise.
+- (AFL_EXT_LOONGSON_3A, AFL_EXT_OCTEON, AFL_EXT_5900): Likewise.
+- (AFL_EXT_4650, AFL_EXT_4010, AFL_EXT_4100, AFL_EXT_3900): Likewise.
+- (AFL_EXT_10000, AFL_EXT_SB1, AFL_EXT_4111, AFL_EXT_4120): Likewise.
+- (AFL_EXT_5400, AFL_EXT_5500, AFL_EXT_LOONGSON_2E): Likewise.
+- (AFL_EXT_LOONGSON_2F): Likewise.
+- (bfd_mips_elf_swap_abiflags_v0_in): Prototype.
+- (bfd_mips_elf_swap_abiflags_v0_out): Likewise.
+- (bfd_mips_isa_ext): Likewise.
+-
+ 2014-06-13 Alan Modra <amodra@gmail.com>
+
+ * bfdlink.h (struct bfd_link_hash_table): Add hash_table_free field.
+@@ -340,20 +271,12 @@
+
+ 2014-05-01 Steve Ellcey <sellcey@mips.com>
+
+- * include/longlong.h: Import latest version from GCC tree.
+-
+-2014-04-23 Andrew Bennett <andrew.bennett@imgtec.com>
+-
+- * opcode/mips.h (ASE_XPA): New define.
++ * longlong.h: Import latest version from GCC tree.
+
+ 2014-04-22 Christian Svensson <blue@cmd.nu>
+
+ * dis-asm.h: Remove openrisc and or32 support. Add support for or1k.
+
+-2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+-
+- * elf/avr.h: Add new DIFF relocs.
+-
+ 2014-03-05 Alan Modra <amodra@gmail.com>
+
+ Update copyright years.
+@@ -386,11 +309,6 @@
+
+ * longlong.h: New file.
+
+-2013-11-11 Catherine Moore <clm@codesourcery.com>
+-
+- * opcode/mips.h (INSN_LOAD_MEMORY_DELAY): Rename to...
+- (INSN_LOAD_MEMORY): ...this.
+-
+ 2013-10-29 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/58689
+@@ -401,10 +319,6 @@
+ xmalloc, xrealloc, xcalloc, xstrdup, xstrndup, xmemdup, pex_init):
+ Mark with attribute returns_nonnull.
+
+-2013-10-22 Sterling Augustine <saugustine@google.com>
+-
+- * gdb/gdb-index.h: Merge from gdb tree.
+-
+ 2013-10-10 Sean Keys <skeys@ipdatasys.com>
+
+ * xgate.h : Cleanup after opcode
+@@ -424,31 +338,6 @@
+
+ * vtv-change-permission.h: New file.
+
+-2013-08-05 Eric Botcazou <ebotcazou@adacore.com>
+- Konrad Eisele <konrad@gaisler.com>
+-
+- * opcode/sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_LEON.
+-
+-2013-06-08 Catherine Moore <clm@codesourcery.com>
+-
+- * opcode/mips.h (mips_opcode): Add ase field.
+- (INSN_ASE_MASK): Delete.
+- (INSN_DSP): Rename to ASE_DSP. Provide new value.
+- (INSN_DSPR2): Rename to ASE_DSPR2. Provide new value.
+- (INSN_MCU): Rename to ASE_MCU. Provide new value.
+- (INSN_MDMX): Rename to ASE_MDMX. Provide new value.
+- (INSN_MIPS3d): Rename to ASE_MIPS3D. Provide new value.
+- (INSN_MT): Rename to ASE_MT. Provide new value.
+- (INSN_SMARTMIPS): Rename to ASE_SMARTMIPS. Provide new value.
+- (INSN_VIRT): Rename to ASE_VIRT. Provide new value.
+- (INSN_VIRT64): Rename to ASE_VIRT64. Provide new value.
+- (opcode_is_member): Add ase argument. Check ase.
+-
+-2013-05-06 Paul Brook <paul@codesourcery.com>
+-
+- include/elf/
+- * mips.h (R_MIPS_PC32): Update comment.
+-
+ 2013-04-03 Jason Merrill <jason@redhat.com>
+
+ Demangle C++11 ref-qualifier.
+@@ -456,20 +345,6 @@
+ DEMANGLE_COMPONENT_REFERENCE_THIS,
+ DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
+
+-2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de>
+-
+- * opcode/nios2.h: Edit comment.
+-
+-2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
+-
+- * opcode/nios2.h (OPX_WRPRS): New define.
+- (OP_MATCH_WRPRS): Likewise.
+-
+-2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
+-
+- * opcode/nios2.h (OP_RDPRS): New define.
+- (OP_MATCH_RDPRS): Likewise.
+-
+ 2013-03-01 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2.h (enum dwarf_sect): New enum type.
+@@ -516,12 +391,6 @@
+ * fopen-bin.h: Likewise.
+ * fopen-same.h: Likewise.
+ * fopen-vms.h: Likewise.
+- * aout/hppa.h: Likewise.
+- * opcode/tahoe.h: Likewise.
+-
+-2012-12-11 Edgar E. Iglesias <edgar.iglesias@gmail.com>
+-
+- * elf/microblaze.h: Add TLS relocs to START_RELOC_NUMBERS
+
+ 2012-11-09 Jason Merrill <jason@redhat.com>
+
+@@ -570,14 +439,6 @@
+ PR other/54411
+ * objalloc.h (objalloc_alloc): Do not use fast path on wraparound.
+
+-2012-09-27 Anthony Green <green@moxielogic.com>
+-
+- * opcode/moxie.h (MOXIE_BAD): New define.
+-
+-2012-09-12 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
+-
+- * elf/aarch64.h (R_AARCH64_GOT_LD_PREL19): New reloc.
+-
+ 2012-09-06 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2.def: Edit comment.
+@@ -592,30 +453,6 @@
+ (tv_allow_unique_segment_for_sections): New member.
+ (tv_unique_segment_for_sections): New member.
+
+-2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+-
+- * opcode/arm.h (ARM_CPU_IS_ANY): New define.
+-
+-2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+-
+- * elf/arm.h (TAG_CPU_ARCH_V8): New define.
+- (MAX_TAG_CPU_ARCH): Update.
+- * opcode/arm.h (ARM_EXT_V8): New define.
+- (FPU_VFP_EXT_ARMV8): Likewise.
+- (FPU_NEON_EXT_ARMV8): Likewise.
+- (FPU_CRYPTO_EXT_ARMV8): Likewise.
+- (ARM_AEXT_V8A): Likewise.
+- (FPU_VFP_ARMV8): Likwise.
+- (FPU_NEON_ARMV8): Likewise.
+- (FPU_CRYPTO_ARMV8): Likewise.
+- (FPU_ARCH_VFP_ARMV8): Likewise.
+- (FPU_ARCH_NEON_VFP_ARMV8): Likewise.
+- (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8): Likewise.
+- (ARM_ARCH_V8A): Likwise.
+- (ARM_ARCH_V8A_FP): Likewise.
+- (ARM_ARCH_V8A_SIMD): Likewise.
+- (ARM_ARCH_V8A_CRYPTO): Likewise.
+-
+ 2012-08-13 Ian Bolton <ian.bolton@arm.com>
+ Laurent Desnogues <laurent.desnogues@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+@@ -631,10 +468,6 @@
+ (print_aarch64_disassembler_options): New declaration.
+ (aarch64_symbol_is_valid): New declaration.
+
+-2012-08-02 Sean Keys <skeys@ipdatasys.com>
+-
+- * elf/m68hc11.h: #define E_M68HC11_NO_BANK_WARNING 0x000000200
+-
+ 2012-07-24 Stephan McCamant <smcc@cs.berkeley.edu>
+ Dr David Alan Gilbert <dave@treblig.org>
+
+@@ -646,15 +479,6 @@
+ * filenames.h: #include "hashtab.h".
+ (filename_hash, filename_eq): Declare.
+
+-2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+-
+- * elf/s390.h (START_RELOC_NUMBERS): Define R_390_IRELATIVE reloc.
+-
+-2012-07-05 Sean Keys <skeys@ipdatasys.com>
+-
+- * opcode/xgate.h: Changed the format string for mode
+- XGATE_OP_DYA_MON.
+-
+ 2012-06-18 Doug Evans <dje@google.com>
+
+ * dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
+@@ -724,11 +548,6 @@
+ (get_DW_OP_name, get_DW_ATE_name): Declare.
+ * dwarf2.def: New file, from dwarf2.h.
+
+-2012-04-12 David S. Miller <davem@davemloft.net>
+-
+- * elf/sparc.h (R_SPARC_WDISP10): New reloc.
+- * opcode/sparc.h: Define '=' as generating R_SPARC_WDISP10.
+-
+ 2012-04-10 Tristan Gingold <gingold@adacore.com>
+
+ * splay-tree.h: Conditionnaly includes stdint.h and inttypes.h
+@@ -746,7 +565,7 @@
+
+ Add DWARF attribute value for the "Borland fastcall" calling
+ convention.
+- * elf/dwarf2.h: Add DW_CC_GNU_borland_fastcall_i386 constant.
++ * dwarf2.h: Add DW_CC_GNU_borland_fastcall_i386 constant.
+
+ 2012-01-31 H.J. Lu <hongjiu.lu@intel.com>
+
+@@ -1049,14 +868,6 @@
+
+ * libiberty.h (setproctitle): Add prototype.
+
+-2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
+-
+- * opcode/tic6x-control-registers.h (tscl): Now read_write.
+-
+-2010-09-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+-
+- * opcode/s390.h: Add S390_OPCODE_Z196 to enum s390_opcode_cpu_val.
+-
+ 2010-09-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * arm.h (ARM_EXT_V6Z): Remove.
+@@ -1259,7 +1070,7 @@
+
+ 2009-10-15 Jakub Jelinek <jakub@redhat.com>
+
+- * include/dwarf2.h (DW_LANG_Python): Add comment that it is
++ * dwarf2.h (DW_LANG_Python): Add comment that it is
+ a DWARF 4 addition.
+
+ 2009-10-14 Alan Modra <amodra@bigpond.net.au>
+@@ -1348,16 +1159,6 @@
+ * bfdlink.h (struct bfd_link_hash_common_entry): Move to top
+ level.
+
+-2009-09-04 Jie Zhang <jie.zhang@analog.com>
+-
+- * opcode/bfin.h (PseudoDbg_Assert): Add bits_grp and mask_grp.
+- (PseudoDbg_Assert_grp_bits, PseudoDbg_Assert_grp_mask): Define.
+- (PseudoDbg_Assert_dbgop_bits, PseudoDbg_Assert_dbgop_mask,
+- PseudoDbg_Assert_dontcare_bits, PseudoDbg_Assert_dontcare_mask):
+- Adjust accordingly.
+- (init_PseudoDbg_Assert): Add PseudoDbg_Assert_grp_bits and
+- PseudoDbg_Assert_grp_mask.
+-
+ 2009-08-06 Michael Eager <eager@eagercon.com>
+
+ * dis-asm.h: Decl print_insn_microblaze().
+@@ -1518,10 +1319,6 @@
+ * demangle.h (enum demangle_component_type): Add
+ DEMANGLE_COMPONENT_PACK_EXPANSION.
+
+-2008-09-24 Richard Henderson <rth@redhat.com>
+-
+- * elf/dwarf2.h (DW_OP_GNU_encoded_addr): New.
+-
+ 2008-09-22 Rafael Espindola <espindola@google.com>
+
+ * plugin-api.h (ld_plugin_status): Remove comma from the last item.
+@@ -1550,32 +1347,17 @@
+
+ * bfdlink.h (bfd_generic_link_read_symbols): Declare.
+
+-2008-08-08 Anatoly Sokolov <aesok@post.ru>
+-
+- * elf/avr.h (E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
+- E_AVR_MACH_AVR35, E_AVR_MACH_AVR51): Define.
+- (EF_AVR_MACH): Redefine to 0x7F.
+- * opcode/avr.h (AVR_ISA_TINY3, AVR_ISA_ALL, AVR_ISA_USB162): Remove.
+- (AVR_ISA_AVR3): Redefine.
+- (AVR_ISA_AVR1, AVR_ISA_AVR2, AVR_ISA_AVR31, AVR_ISA_AVR35,
+- AVR_ISA_AVR3_ALL, AVR_ISA_AVR4, AVR_ISA_AVR5, AVR_ISA_AVR51,
+- AVR_ISA_AVR6): Define.
+-
+ 2008-07-12 Jie Zhang <jie.zhang@analog.com>
+
+ Revert
+ 2008-07-12 Jie Zhang <jie.zhang@analog.com>
+ * bfdlink.h (struct bfd_link_info): Add sep_code member
+ variable.
+- * elf/bfin.h (EF_BFIN_CODE_IN_L1): Define.
+- (EF_BFIN_DATA_IN_L1): Define.
+
+ 2008-07-12 Jie Zhang <jie.zhang@analog.com>
+
+ * bfdlink.h (struct bfd_link_info): Add sep_code member
+ variable.
+- * elf/bfin.h (EF_BFIN_CODE_IN_L1): Define.
+- (EF_BFIN_DATA_IN_L1): Define.
+
+ 2008-07-07 Stan Shebs <stan@codesourcery.com>
+
+@@ -1938,10 +1720,6 @@
+
+ * libiberty.h (strverscmp): Prototype.
+
+-2005-06-17 Jakub Jelinek <jakub@redhat.com>
+-
+- * elf/external.h (GRP_ENTRY_SIZE): Define.
+-
+ 2005-06-08 Zack Weinberg <zack@codesourcery.com>
+
+ * dis-asm.h (get_arm_regnames): Update prototype.
+diff --git a/include/aout/ChangeLog b/include/aout/ChangeLog
+index 790763b..7caa35b 100644
+--- a/include/aout/ChangeLog
++++ b/include/aout/ChangeLog
+@@ -6,6 +6,10 @@
+
+ Update copyright years.
+
++2012-12-17 Nick Clifton <nickc@redhat.com>
++
++ * hppa.h: Add copyright notice.
++
+ 2010-04-15 Nick Clifton <nickc@redhat.com>
+
+ * adobe.h: Update copyright notice to use GPLv3.
+diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
+index 3c6eddc..c10e95e 100644
+--- a/include/elf/ChangeLog
++++ b/include/elf/ChangeLog
+@@ -58,6 +58,18 @@
+
+ * aarch64.h (R_AARCH64_P32_TLSLD_ADR_PAGE21): Define.
+
++2015-07-16 Jiong Wang <jiong.wang@arm.com>
++
++ * aarch64.h (R_AARCH64_P32_TLSLD_ADR_PREL21): New enumeration.
++
++2015-07-09 Catherine Moore <clm@codesourcery.com>
++
++ * mips.h (Val_GNU_MIPS_ABI_FP_NAN2008): New.
++
++2015-07-08 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
++
++ * avr.h: Add new 32 bit PC relative relocation.
++
+ 2015-07-01 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+@@ -81,11 +93,19 @@
+
+ * nios2.h (EF_NIOS2_ARCH_R1, EF_NIOS2_ARCH_R2): Define.
+
++2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
++
++ * mips.h (DT_MIPS_RLD_MAP_REL): New macro.
++
+ 2015-05-29 Roland McGrath <mcgrathr@google.com>
+
+ * common.h (GNU_ABI_TAG_SYLLABLE): New macro.
+ (GNU_ABI_TAG_NACL): New macro.
+
++2015-05-12 Jiong Wang <jiong.wang@arm.com>
++
++ * aarch64.h (R_AARCH64_P32_LD32_GOTPAGE_LO14): New enumeration.
++
+ 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * common.h (EM_486): Renamed to ...
+@@ -133,6 +153,11 @@
+ (E_FLAG_RL78_CPU_MASK, E_FLAG_RL78_ANY_CPU, E_FLAG_RL78_G13
+ E_FLAG_RL78_G14): New flags.
+
++2015-03-10 Matthew Wahab <matthew.wahab@arm.com>
++
++ PR ld/16572
++ * arm.h (EF_ARM_HASENTRY): Remove.
++
+ 2015-02-19 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * aarch64.h (R_AARCH64_P32_TLSGD_ADR_PREL21): Add.
+@@ -188,6 +213,15 @@
+
+ * x86-64.h (R_X86_64_GOTPLT64): Mark it obsolete.
+
++2014-10-30 Andrew Pinski <apinski@cavium.com>
++
++ * mips.h (AFL_EXT_OCTEON3): Define.
++ (INSN_OCTEON3, CPU_OCTEON3): Define.
++
++2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com>
++
++ * mips.h (AFL_ASE_MASK): Define.
++
+ 2014-10-17 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * sparc.h (ELF_SPARC_HWCAP2_VIS3B): Documentation improved.
+@@ -227,6 +261,28 @@
+
+ * rl78.h (RL78_RELAXA_MASK): New. Relax types are enums, not bits
+
++2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
++
++ * mips.h (PT_MIPS_ABIFLAGS, SHT_MIPS_ABIFLAGS): Define.
++ (Val_GNU_MIPS_ABI_FP_OLD_64): Rename from Val_GNU_MIPS_ABI_FP_64.
++ (Val_GNU_MIPS_ABI_FP_64): Redefine.
++ (Val_GNU_MIPS_ABI_FP_XX): Define.
++ (Elf_External_ABIFlags_v0, Elf_Internal_ABIFlags_v0): New structures.
++ (AFL_REG_NONE, AFL_REG_32, AFL_REG_64, AFL_REG_128): Define.
++ (AFL_ASE_DSP, AFL_ASE_DSPR2, AFL_ASE_EVA, AFL_ASE_MCU): Likewise.
++ (AFL_ASE_MDMX, AFL_ASE_MIPS3D, AFL_ASE_MT, AFL_ASE_SMARTMIPS): Likewise.
++ (AFL_ASE_VIRT, AFL_ASE_MSA, AFL_ASE_MIPS16): Likewise.
++ (AFL_ASE_MICROMIPS, AFL_ASE_XPA): Likewise.
++ (AFL_EXT_XLR, AFL_EXT_OCTEON2, AFL_EXT_OCTEONP): Likewise.
++ (AFL_EXT_LOONGSON_3A, AFL_EXT_OCTEON, AFL_EXT_5900): Likewise.
++ (AFL_EXT_4650, AFL_EXT_4010, AFL_EXT_4100, AFL_EXT_3900): Likewise.
++ (AFL_EXT_10000, AFL_EXT_SB1, AFL_EXT_4111, AFL_EXT_4120): Likewise.
++ (AFL_EXT_5400, AFL_EXT_5500, AFL_EXT_LOONGSON_2E): Likewise.
++ (AFL_EXT_LOONGSON_2F): Likewise.
++ (bfd_mips_elf_swap_abiflags_v0_in): Prototype.
++ (bfd_mips_elf_swap_abiflags_v0_out): Likewise.
++ (bfd_mips_isa_ext): Likewise.
++
+ 2014-07-07 Barney Stratford <barney_stratford@fastmail.fm>
+
+ * avr.h: Add R_AVR_PORT5 and R_AVR_PORT6.
+@@ -252,6 +308,10 @@
+ * openrisc.h: Delete.
+ * or32.h: Delete.
+
++2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
++
++ * avr.h: Add new DIFF relocs.
++
+ 2014-03-05 Alan Modra <amodra@gmail.com>
+
+ Update copyright years.
+@@ -395,6 +455,10 @@
+ (EM_INTEL208): Likewise.
+ (EM_INTEL209): Likewise.
+
++2013-05-06 Paul Brook <paul@codesourcery.com>
++
++ * mips.h (R_MIPS_PC32): Update comment.
++
+ 2013-05-02 Nick Clifton <nickc@redhat.com>
+
+ * msp430.h: Add MSP430X relocs.
+@@ -443,6 +507,10 @@
+ * mips.h: Add MIPS machine variant number for r5900 which is
+ compatible with old Playstation 2 software.
+
++2012-12-11 Edgar E. Iglesias <edgar.iglesias@gmail.com>
++
++ * microblaze.h: Add TLS relocs to START_RELOC_NUMBERS
++
+ 2012-11-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * common.h (DF_1_CONLFAT): Renamed to ...
+@@ -477,13 +545,17 @@
+
+ 2012-10-30 Steve McIntyre <steve.mcintyre@linaro.org>
+
+- * elf/arm.h (EF_ARM_ABI_FLOAT_SOFT): New define.
++ * arm.h (EF_ARM_ABI_FLOAT_SOFT): New define.
+ (EF_ARM_ABI_FLOAT_HARD): Likewise.
+
+ 2012-10-23 Tom Tromey <tromey@redhat.com>
+
+ * common.h (NT_SIGINFO, NT_FILE): New defines.
+
++2012-09-12 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
++
++ * aarch64.h (R_AARCH64_GOT_LD_PREL19): New reloc.
++
+ 2012-08-27 Walter Lee <walt@tilera.com>
+
+ * tilegx.h (R_TILEGX_IMM16_X0_HW0_PLT_PCREL): New relocation.
+@@ -501,6 +573,11 @@
+ (R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL ): Ditto.
+ (R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): Ditto.
+
++2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
++
++ * arm.h (TAG_CPU_ARCH_V8): New define.
++ (MAX_TAG_CPU_ARCH): Update.
++
+ 2012-08-13 Ian Bolton <ian.bolton@arm.com>
+ Laurent Desnogues <laurent.desnogues@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+@@ -516,6 +593,14 @@
+ * common.h (EM_res183): Rename to EM_AARCH64.
+ (EM_res184): Rename to EM_ARM184.
+
++2012-08-02 Sean Keys <skeys@ipdatasys.com>
++
++ * m68hc11.h: #define E_M68HC11_NO_BANK_WARNING 0x000000200
++
++2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
++
++ * s390.h (START_RELOC_NUMBERS): Define R_390_IRELATIVE reloc.
++
+ 2012-06-28 Iain Sandoe <iain@codesourcery.com>
+
+ * common.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE,
+@@ -565,7 +650,7 @@
+ 2012-05-11 Georg-Johann Lay <avr@gjlay.de
+
+ PR target/13503
+- * elf/avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8,
++ * avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8,
+ R_AVR_8_HI8, R_AVR_8_HHI8.
+
+ 2012-05-03 Sean Keys <skeys@ipdatasys.com>
+@@ -577,6 +662,10 @@
+ * sparc.h: Add new ELF_SPARC_HWCAP_* defines for crypto,
+ pause, and compare-and-branch instructions.
+
++2012-04-12 David S. Miller <davem@davemloft.net>
++
++ * sparc.h (R_SPARC_WDISP10): New reloc.
++
+ 2012-03-07 Nick Clifton <nickc@redhat.com>
+
+ * mn10300.h (elf_mn10300_reloc_type): Add R_MN10300_TLS_GD,
+@@ -1096,13 +1185,13 @@
+
+ 2009-08-09 Michael Eager <eager@eagercon.com>
+
+- * elf/common.h: Define EM_resnnn reserved values. Add EM_AVR32,
++ * common.h: Define EM_resnnn reserved values. Add EM_AVR32,
+ EM_STM8, EM_TILE64, EM_TILEPRO. Change EM_MICROBLAZE.
+
+ 2009-08-06 Michael Eager <eager@eagercon.com>
+
+- * elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD.
+- * elf/microblaze.h: New reloc definitions.
++ * common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD.
++ * microblaze.h: New reloc definitions.
+
+ 2009-07-30 Alan Modra <amodra@bigpond.net.au>
+
+@@ -1171,7 +1260,7 @@
+
+ 2009-04-24 Cary Coutant <ccoutant@google.com>
+
+- * dwarf2.h (DW_LNE_set_discriminator): New enum value.
++ * dwarf2.h (DW_LNE_set_discriminator): New enum value.
+
+ 2009-04-15 Anthony Green <green@moxielogic.com>
+
+@@ -1303,12 +1392,22 @@
+ (R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL)
+ (R_CRIS_16_TPREL): New relocations.
+
++2008-09-24 Richard Henderson <rth@redhat.com>
++
++ * dwarf2.h (DW_OP_GNU_encoded_addr): New.
++
+ 2008-08-20 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa.h (R_XTENSA_TLSDESC_FN, R_XTENSA_TLSDESC_ARG)
+ (R_XTENSA_TLS_DTPOFF, R_XTENSA_TLS_TPOFF, R_XTENSA_TLS_FUNC)
+ (R_XTENSA_TLS_ARG, R_XTENSA_TLS_CALL): New.
+
++2008-08-08 Anatoly Sokolov <aesok@post.ru>
++
++ * avr.h (E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
++ E_AVR_MACH_AVR35, E_AVR_MACH_AVR51): Define.
++ (EF_AVR_MACH): Redefine to 0x7F.
++
+ 2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
+ Daniel Jacobowitz <dan@codesourcery.com>
+ Catherine Moore <clm@codesourcery.com>
+@@ -1329,6 +1428,18 @@
+
+ * common.h: Define NT_PPC_VSX.
+
++2008-07-12 Jie Zhang <jie.zhang@analog.com>
++
++ Revert
++ 2008-07-12 Jie Zhang <jie.zhang@analog.com>
++ * bfin.h (EF_BFIN_CODE_IN_L1): Define.
++ (EF_BFIN_DATA_IN_L1): Define.
++
++2008-07-12 Jie Zhang <jie.zhang@analog.com>
++
++ * bfin.h (EF_BFIN_CODE_IN_L1): Define.
++ (EF_BFIN_DATA_IN_L1): Define.
++
+ 2008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * mips.h (ELF_ST_IS_MIPS16, ELF_ST_SET_MIPS16): New macros.
+@@ -1366,7 +1477,7 @@
+
+ 2008-04-16 David S. Miller <davem@davemloft.net>
+
+- * elf/sparc.h (R_SPARC_GOTDATA_HIX22,
++ * sparc.h (R_SPARC_GOTDATA_HIX22,
+ R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22,
+ R_SPARC_GOTDATA_OP_LOX10, R_SPARC_GOTDATA_OP,
+ R_SPARC_H34, R_SPARC_SIZE32, R_SPARC_SIZE64): New relocs.
+@@ -1689,6 +1800,7 @@
+
+ 2006-05-24 Carlos O'Donell <carlos@systemhalted.org>
+ Randolph Chung <randolph@tausq.org>
++
+ * hppa.h (R_PARISC_TLS_GD21L, R_PARISC_TLS_GD14R, R_PARISC_TLS_GDCALL,
+ R_PARISC_TLS_LDM21L, R_PARISC_TLS_LDM14R, R_PARISC_TLS_LDMCALL,
+ R_PARISC_TLS_LDO21L, R_PARISC_TLS_LDO14R, R_PARISC_TLS_DTPMOD32,
+diff --git a/include/gdb/ChangeLog b/include/gdb/ChangeLog
+index 57a83ce..5a3ecee 100644
+--- a/include/gdb/ChangeLog
++++ b/include/gdb/ChangeLog
+@@ -51,9 +51,13 @@
+
+ * section-scripts.h: New file.
+
++2013-10-22 Sterling Augustine <saugustine@google.com>
++
++ * gdb-index.h: Merge from gdb tree.
++
+ 2013-03-15 Steve Ellcey <sellcey@mips.com>
+
+- * gdb/remote-sim.h (sim_command_completer): Make char arguments const.
++ * remote-sim.h (sim_command_completer): Make char arguments const.
+
+ 2013-01-01 Joel Brobecker <brobecker@adacore.com>
+
+@@ -218,7 +222,7 @@
+
+ 2003-06-10 Corinna Vinschen <vinschen@redhat.com>
+
+- * gdb/fileio.h: New file.
++ * fileio.h: New file.
+
+ 2003-05-07 Andrew Cagney <cagney@redhat.com>
+
+@@ -256,7 +260,7 @@
+ 2002-07-29 Andrey Volkov <avolkov@transas.com>
+
+ * sim-h8300.h: Rename all enums from H8300_ to SIM_H8300_
+- prefix.
++ prefix.
+
+ 2002-07-23 Andrey Volkov <avolkov@transas.com>
+
+diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
+index 0aee194..87d4653 100644
+--- a/include/opcode/ChangeLog
++++ b/include/opcode/ChangeLog
+@@ -95,10 +95,10 @@
+ * aarch64.h [__cplusplus]: Wrap in extern "C".
+
+ 2015-10-07 Claudiu Zissulescu <claziss@synopsys.com>
+- Cupertino Miranda <cmiranda@synopsys.com>
++ Cupertino Miranda <cmiranda@synopsys.com>
+
+- * arc-func.h: New file.
+- * arc.h: Likewise.
++ * arc-func.h: New file.
++ * arc.h: Likewise.
+
+ 2015-10-02 Yao Qi <yao.qi@linaro.org>
+
+@@ -115,6 +115,10 @@
+ (S390_INSTR_FLAG_VX): New flag.
+ (S390_INSTR_FLAG_FACILITY_MASK): New flag mask.
+
++2015-09-26 James Bowman <james.bowman@ftdichip.com>
++
++ * ft32.h: Add instruction macros FT32_*()
++
+ 2015-09-23 Nick Clifton <nickc@redhat.com>
+
+ * ppc.h (PPC_OPSHIFT_INV): Use an unsigned constant when left
+@@ -258,6 +262,14 @@
+ (NIOS2_INSN_ORI, NIOS2_INSN_XORI): Delete.
+ (NIOS2_INSN_OPTARG): Renumber.
+
++2014-11-21 Terry Guo <terry.guo@arm.com>
++
++ * arm.h (FPU_VFP_EXT_ARMV8xD): New macro.
++ (FPU_VFP_V5D16): Likewise.
++ (FPU_VFP_V5_SP_D16): Likewise.
++ (FPU_ARCH_VFP_V5D16): Likewise.
++ (FPU_ARCH_VFP_V5_SP_D16): Likewise.
++
+ 2014-11-06 Sandra Loosemore <sandra@codesourcery.com>
+
+ * nios2.h (nios2_find_opcode_hash): Add mach parameter to
+@@ -347,7 +359,7 @@
+ * mips.h (mips_operand_type): Add new entries: OP_SAME_RS_RT,
+ OP_CHECK_PREV and OP_NON_ZERO_REG. Add descriptions for the MIPS R6
+ instruction arguments: -a, -b, -d, -s, -t, -u, -v, -w, -x, -y, -A, -B,
+- +I, +O, +R, +:, +\, +", +;
++ +I, +O, +R, +:, +\, +", +;
+ (mips_check_prev_operand): New struct.
+ (INSN2_FORBIDDEN_SLOT): New define.
+ (INSN_ISA32R6): New define.
+@@ -425,6 +437,10 @@
+
+ * mips.h (mips_isa_table): Avoid hard-coding INSN_ISA* values.
+
++2014-04-23 Andrew Bennett <andrew.bennett@imgtec.com>
++
++ * mips.h (ASE_XPA): New define.
++
+ 2014-04-22 Christian Svensson <blue@cmd.nu>
+
+ * or32.h: Delete.
+@@ -472,6 +488,11 @@
+ * aarch64.h (aarch64_sys_reg_readonly_p): New declaration.
+ (aarch64_sys_reg_writeonly_p): Ditto.
+
++2013-11-11 Catherine Moore <clm@codesourcery.com>
++
++ * mips.h (INSN_LOAD_MEMORY_DELAY): Rename to...
++ (INSN_LOAD_MEMORY): ...this.
++
+ 2013-11-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * aarch64.h (aarch64_sys_reg): New typedef.
+@@ -514,6 +535,11 @@
+ * mips.h (OP_OPTIONAL_REG): New mips_operand_type.
+ (mips_optional_operand_p): New function.
+
++2013-08-05 Eric Botcazou <ebotcazou@adacore.com>
++ Konrad Eisele <konrad@gaisler.com>
++
++ * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_LEON.
++
+ 2013-08-04 Jürgen Urban <JuergenUrban@gmx.de>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+@@ -677,6 +703,21 @@
+
+ * nios2.h (OP_MATCH_ERET): Correct eret encoding.
+
++2013-06-08 Catherine Moore <clm@codesourcery.com>
++
++ * mips.h (mips_opcode): Add ase field.
++ (INSN_ASE_MASK): Delete.
++ (INSN_DSP): Rename to ASE_DSP. Provide new value.
++ (INSN_DSPR2): Rename to ASE_DSPR2. Provide new value.
++ (INSN_MCU): Rename to ASE_MCU. Provide new value.
++ (INSN_MDMX): Rename to ASE_MDMX. Provide new value.
++ (INSN_MIPS3d): Rename to ASE_MIPS3D. Provide new value.
++ (INSN_MT): Rename to ASE_MT. Provide new value.
++ (INSN_SMARTMIPS): Rename to ASE_SMARTMIPS. Provide new value.
++ (INSN_VIRT): Rename to ASE_VIRT. Provide new value.
++ (INSN_VIRT64): Rename to ASE_VIRT64. Provide new value.
++ (opcode_is_member): Add ase argument. Check ase.
++
+ 2013-05-22 Jürgen Urban <JuergenUrban@gmx.de>
+
+ * mips.h (M_LQC2_AB, M_SQC2_AB): New macros.
+@@ -741,6 +782,20 @@
+ * tic6x-opcode-table.h: Modify absdp, dpint, dpsp, dptrunc, rcpdp
+ and rsqrdp opcodes to use the new field coding types.
+
++2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de>
++
++ * nios2.h: Edit comment.
++
++2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
++
++ * nios2.h (OPX_WRPRS): New define.
++ (OP_MATCH_WRPRS): Likewise.
++
++2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
++
++ * nios2.h (OP_RDPRS): New define.
++ (OP_MATCH_RDPRS): Likewise.
++
+ 2013-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * arm.h (CRC_EXT_ARMV8): New constant.
+@@ -798,6 +853,10 @@
+ (make_instruction,match_opcode): Added function prototypes.
+ (cr16_words,cr16_allWords,cr16_currInsn): Declare as extern.
+
++2012-12-17 Nick Clifton <nickc@redhat.com>
++
++ * tahoe.h: Add copyright notice.
++
+ 2012-11-23 Alan Modra <amodra@gmail.com>
+
+ * ppc.h (ppc_parse_cpu): Update prototype.
+@@ -811,10 +870,36 @@
+
+ * s390.h (s390_opcode_cpu_val): Add S390_OPCODE_ZEC12.
+
++2012-09-27 Anthony Green <green@moxielogic.com>
++
++ * moxie.h (MOXIE_BAD): New define.
++
+ 2012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com>
+
+ * ia64.h (ia64_opnd): Add new operand types.
+
++2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
++
++ * arm.h (ARM_CPU_IS_ANY): New define.
++
++2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
++
++ * arm.h (ARM_EXT_V8): New define.
++ (FPU_VFP_EXT_ARMV8): Likewise.
++ (FPU_NEON_EXT_ARMV8): Likewise.
++ (FPU_CRYPTO_EXT_ARMV8): Likewise.
++ (ARM_AEXT_V8A): Likewise.
++ (FPU_VFP_ARMV8): Likwise.
++ (FPU_NEON_ARMV8): Likewise.
++ (FPU_CRYPTO_ARMV8): Likewise.
++ (FPU_ARCH_VFP_ARMV8): Likewise.
++ (FPU_ARCH_NEON_VFP_ARMV8): Likewise.
++ (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8): Likewise.
++ (ARM_ARCH_V8A): Likwise.
++ (ARM_ARCH_V8A_FP): Likewise.
++ (ARM_ARCH_V8A_SIMD): Likewise.
++ (ARM_ARCH_V8A_CRYPTO): Likewise.
++
+ 2012-08-21 David S. Miller <davem@davemloft.net>
+
+ * sparc.h (F3F4): New macro.
+@@ -859,6 +944,10 @@
+
+ * mips.h: Fix a typo in description.
+
++2012-07-05 Sean Keys <skeys@ipdatasys.com>
++
++ * xgate.h: Changed the format string for mode XGATE_OP_DYA_MON.
++
+ 2012-06-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * avr.h: (AVR_ISA_XCH): New define.
+@@ -906,6 +995,10 @@
+ HWCAP_SHA256, HWCAP_SHA512, HWCAP_MPMUL, HWCAP_MONT, HWCAP_PAUSE,
+ HWCAP_CBCOND, HWCAP_CRC32): New defines.
+
++2012-04-12 David S. Miller <davem@davemloft.net>
++
++ * sparc.h: Define '=' as generating R_SPARC_WDISP10.
++
+ 2012-03-10 Edmar Wienskoski <edmar@freescale.com>
+
+ * ppc.h: Add PPC_OPCODE_ALTIVEC2, PPC_OPCODE_E6500, PPC_OPCODE_TMR.
+@@ -1275,6 +1368,14 @@
+ * cgen.h (CGEN_ATTR, CGEN_ATTR_TYPE): Rename bool attribute to bool_.
+ (CGEN_ATTR_BOOLS, CGEN_ATTR_CGEN_INSN_ALIAS_VALUE): Likewise.
+
++2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
++
++ * tic6x-control-registers.h (tscl): Now read_write.
++
++2010-09-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
++
++ * s390.h: Add S390_OPCODE_Z196 to enum s390_opcode_cpu_val.
++
+ 2010-09-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * arm.h (ARM_EXT_VIRT): New define.
+@@ -1306,6 +1407,16 @@
+
+ * bfin.h: Strip trailing whitespace.
+
++2009-09-04 Jie Zhang <jie.zhang@analog.com>
++
++ * bfin.h (PseudoDbg_Assert): Add bits_grp and mask_grp.
++ (PseudoDbg_Assert_grp_bits, PseudoDbg_Assert_grp_mask): Define.
++ (PseudoDbg_Assert_dbgop_bits, PseudoDbg_Assert_dbgop_mask,
++ PseudoDbg_Assert_dontcare_bits, PseudoDbg_Assert_dontcare_mask):
++ Adjust accordingly.
++ (init_PseudoDbg_Assert): Add PseudoDbg_Assert_grp_bits and
++ PseudoDbg_Assert_grp_mask.
++
+ 2010-07-29 DJ Delorie <dj@redhat.com>
+
+ * rx.h (RX_Operand_Type): Add TwoReg.
+@@ -1358,7 +1469,7 @@
+
+ 2010-05-26 Catherine Moore <clm@codesourcery.com>
+
+- * opcode/mips.h (INSN_MIPS16): Remove.
++ * mips.h (INSN_MIPS16): Remove.
+
+ 2010-04-21 Joseph Myers <joseph@codesourcery.com>
+
+@@ -1428,7 +1539,7 @@
+
+ 2010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+- * opcode/ppc.h (PPC_OPCODE_TITAN): Define.
++ * ppc.h (PPC_OPCODE_TITAN): Define.
+
+ 2010-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+@@ -1552,7 +1663,7 @@
+
+ 2009-01-28 Doug Evans <dje@google.com>
+
+- * opcode/i386.h: Add multiple inclusion protection.
++ * i386.h: Add multiple inclusion protection.
+ (EAX_REG_NUM,ECX_REG_NUM,EDX_REGNUM,EBX_REG_NUM,ESI_REG_NUM)
+ (EDI_REG_NUM): New macros.
+ (MODRM_MOD_FIELD,MODRM_REG_FIELD,MODRM_RM_FIELD): New macros.
+@@ -1583,6 +1694,14 @@
+ * ia64.h (ia64_resource_specifier): Add IA64_RS_CR_IIB. Update
+ IA64_RS_CR.
+
++2008-08-08 Anatoly Sokolov <aesok@post.ru>
++
++ * avr.h (AVR_ISA_TINY3, AVR_ISA_ALL, AVR_ISA_USB162): Remove.
++ (AVR_ISA_AVR3): Redefine.
++ (AVR_ISA_AVR1, AVR_ISA_AVR2, AVR_ISA_AVR31, AVR_ISA_AVR35,
++ AVR_ISA_AVR3_ALL, AVR_ISA_AVR4, AVR_ISA_AVR5, AVR_ISA_AVR51,
++ AVR_ISA_AVR6): Define.
++
+ 2008-08-01 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ppc.h (PPC_OPCODE_VSX, PPC_OPERAND_VSR): New.
+@@ -2039,7 +2158,7 @@
+ 2005-07-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR gas/336
+- * hppa.h (pa_opcodes): Allow 0 immediates in PA 2.0 variants of pdtlb
++ * hppa.h (pa_opcodes): Allow 0 immediates in PA 2.0 variants of pdtlb
+ and pitlb.
+
+ 2005-07-27 Jan Beulich <jbeulich@novell.com>
+diff --git a/ld/ChangeLog b/ld/ChangeLog
+index 75fd708..e74db8c 100644
+--- a/ld/ChangeLog
++++ b/ld/ChangeLog
+@@ -1,3 +1,194 @@
++2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19827
++ * testsuite/ld-i386/i386.exp: Run PR ld/19827 tests.
++ * testsuite/ld-x86-64/x86-64.exp: Likewise.
++ * testsuite/ld-i386/pr19827.rd: New file.
++ * testsuite/ld-i386/pr19827a.S: Likewise.
++ * testsuite/ld-i386/pr19827b.S: Likewise.
++ * testsuite/ld-x86-64/pr19827.rd: Likewise.
++ * testsuite/ld-x86-64/pr19827a.S: Likewise.
++ * testsuite/ld-x86-64/pr19827b.S: Likewise.
++
++2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-20 H.J. Lu <hongjiu.lu@intel.com>
++
++ * testsuite/ld-elf/pr19539.d: Skip cris*-*-* targets.
++
++ 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19539
++ * testsuite/ld-elf/pr19539.d: New file.
++ * testsuite/ld-elf/pr19539.s: Likewise.
++ * testsuite/ld-elf/pr19539.t: Likewise.
++
++2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2015-12-07 Jan Beulich <jbeulich@suse.com>
++
++ * ld-elf/gabiend.rt: Accept any alignment.
++ * ld-elf/gabinormal.rt: Likewise.
++
++2016-03-09 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19579
++ * testsuite/ld-elf/pr19579a.c: New file.
++ * testsuite/ld-elf/pr19579b.c: Likewise.
++ * testsuite/ld-elf/shared.exp: Run PR ld/19579 test.
++
++2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19739
++ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
++ merge flags of other input sections for relocatable link.
++ * emultempl/mmo.em (mmo_place_orphan): Likewise.
++ * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
++ * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
++
++2016-03-01 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-03-01 H.J. Lu <hongjiu.lu@intel.com>
++
++ * testsuite/ld-plugin/lto.exp: Update PR ld/12365 test for GCC 6.
++
++2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19698
++ * testsuite/ld-elf/pr19698.d: New file.
++ * testsuite/ld-elf/pr19698.s: Likewise.
++ * testsuite/ld-elf/pr19698.t: Likewise.
++
++2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19553
++ * testsuite/ld-elf/indirect.exp: Run tests for PR ld/19553.
++ * testsuite/ld-elf/pr19553.map: New file.
++ * testsuite/ld-elf/pr19553.map: Likewise.
++ * testsuite/ld-elf/pr19553a.c: Likewise.
++ * testsuite/ld-elf/pr19553b.c: Likewise.
++ * testsuite/ld-elf/pr19553b.out: Likewise.
++ * testsuite/ld-elf/pr19553c.c: Likewise.
++ * testsuite/ld-elf/pr19553c.out: Likewise.
++ * testsuite/ld-elf/pr19553d.c: Likewise.
++ * testsuite/ld-elf/pr19553d.out: Likewise.
++
++2016-02-25 Jiong Wang <jiong.wang@arm.com>
++
++ Backport from master
++ 2016-01-20 Jiong Wang <jiong.wang@arm.com>
++
++ * testsuite/ld-aarch64/farcall-section.d: Delete.
++ * testsuite/ld-aarch64/farcall-section.s: Delete.
++ * testsuite/ld-aarch64/farcall-b-section.d: New expectation file.
++ * testsuite/ld-aarch64/farcall-bl-section.d: Likewise.
++ * testsuite/ld-aarch64/farcall-b-section.s: New testcase.
++ * testsuite/ld-aarch64/farcall-bl-section.s: Likewise.
++ * testsuite/ld-aarch64/aarch64-elf.exp: Likewise.
++
++2016-02-11 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-11 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19615
++ * ld.texinfo: Document -Bsymbolic and -Bsymbolic-functions for
++ PIE.
++ * lexsup.c (parse_args): Enable -Bsymbolic and
++ -Bsymbolic-functions for PIE.
++ * testsuite/ld-i386/i386.exp: Run pr19615.
++ * testsuite/ld-i386/pr19615.d: New file.
++ * testsuite/ld-i386/pr19615.s: Likewise.
++ * testsuite/ld-x86-64/pr19615.d: Likewise.
++ * testsuite/ld-x86-64/pr19615.s: Likewise.
++
++2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR gas/19520
++ * testsuite/ld-i386/branch1.d: Pass -mrelax-relocations=yes to as.
++ * testsuite/ld-i386/call1.d: Likewise.
++ * testsuite/ld-i386/call2.d: Likewise.
++ * testsuite/ld-i386/call3a.d: Likewise.
++ * testsuite/ld-i386/call3b.d: Likewise.
++ * testsuite/ld-i386/call3c.d: Likewise.
++ * testsuite/ld-i386/call3d.d: Likewise.
++ * testsuite/ld-i386/call3e.d: Likewise.
++ * testsuite/ld-i386/call3f.d: Likewise.
++ * testsuite/ld-i386/call3g.d: Likewise.
++ * testsuite/ld-i386/call3h.d: Likewise.
++ * testsuite/ld-i386/jmp1.d: Likewise.
++ * testsuite/ld-i386/jmp2.d: Likewise.
++ * testsuite/ld-i386/lea1c.d: Likewise.
++ * testsuite/ld-i386/load1.d: Likewise.
++ * testsuite/ld-i386/load2.d: Likewise.
++ * testsuite/ld-i386/load3.d: Likewise.
++ * testsuite/ld-i386/load4a.d: Likewise.
++ * testsuite/ld-i386/load5a.d: Likewise.
++ * testsuite/ld-i386/mov2b.d: Likewise.
++ * testsuite/ld-i386/mov3.d: Likewise.
++ * testsuite/ld-ifunc/ifunc-21-x86-64.d: Likewise.
++ * testsuite/ld-ifunc/ifunc-22-x86-64.d: Likewise.
++ * testsuite/ld-ifunc/ifunc-5r-local-x86-64.d: Likewise.
++ * testsuite/ld-x86-64/call1a.d: Likewise.
++ * testsuite/ld-x86-64/call1b.d: Likewise.
++ * testsuite/ld-x86-64/call1c.d: Likewise.
++ * testsuite/ld-x86-64/call1d.d: Likewise.
++ * testsuite/ld-x86-64/call1e.d: Likewise.
++ * testsuite/ld-x86-64/call1f.d: Likewise.
++ * testsuite/ld-x86-64/call1h.d: Likewise.
++ * testsuite/ld-x86-64/call1i.d: Likewise.
++ * testsuite/ld-x86-64/load1a.d: Likewise.
++ * testsuite/ld-x86-64/load1b.d: Likewise.
++ * testsuite/ld-i386/got1a.S: Load GOT into %ecx and use it.
++ * testsuite/ld-i386/got1.dd: Updated.
++ * testsuite/ld-i386/got1d.S (1): Removed.
++ * testsuite/ld-i386/i386.exp: Add -Wa,-mrelax-relocations=yes.
++ * testsuite/ld-x86-64/x86-64.exp: Likewise.
++
++2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/18591
++ * testsuite/ld-x86-64/pr18591.d: New file.
++ * testsuite/ld-x86-64/pr18591.s: Likewise.
++ * testsuite/ld-x86-64/x86-64.exp: Run pr18591.
++
++2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/19533
++ * configure.ac (compressed_debug_sections): Replace == with =.
++ * configure: Regenerated.
++
++2016-01-25 Tristan Gingold <gingold@adacore.com>
++
++ * configure: Regenerate.
++
+ 2016-01-25 Tristan Gingold <gingold@adacore.com>
+
+ * configure: Regenerate.
+@@ -89,7 +280,7 @@
+ decide placement.
+
+ 2015-10-27 Laurent Alfonsi <laurent.alfonsi@st.com>
+- Christophe Monat <christophe.monat@st.com>
++ Christophe Monat <christophe.monat@st.com>
+
+ * ld.texinfo: Add description of the STM32L4xx erratum
+ workaround.
+@@ -129,7 +320,7 @@
+
+ 2015-10-22 H.J. Lu <hongjiu.lu@intel.com>
+
+- * ld/ld.texinfo: Document "-z call-nop=PADDING" option.
++ * ld.texinfo: Document "-z call-nop=PADDING" option.
+ * emulparams/call_nop.sh: New file.
+ * emulparams/elf_i386_be.sh: Source
+ ${srcdir}/emulparams/call_nop.sh.
+@@ -165,7 +356,7 @@
+
+ 2015-10-15 Simon Dardis <Simon.Dardis@imgtec.com>
+
+- * ld/ldexp.c: (try_copy_symbol_flags): New. Factored out from...
++ * ldexp.c: (try_copy_symbol_flags): New. Factored out from...
+ (exp_fold_tree_1): Here. Cope with ternary operator in
+ assignments. Use new helper.
+
+@@ -308,7 +499,7 @@
+ 2015-09-09 James Bowman <james.bowman@ftdichip.com>
+
+ * scripttempl/ft32.sc: default linker script RAM and
+- FLASH size symbols
++ FLASH size symbols
+
+ 2015-09-09 Nick Clifton <nickc@redhat.com>
+
+@@ -359,58 +550,58 @@
+
+ 2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
+
+- * ld/ldctor.c: Replace shared, executable, relocatable and pie
++ * ldctor.c: Replace shared, executable, relocatable and pie
+ fields with bfd_link_executable, bfd_link_dll,
+ bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
+- * ld/ldemul.c: Likewise.
+- * ld/ldfile.c: Likewise.
+- * ld/ldlang.c: Likewise.
+- * ld/ldmain.c: Likewise.
+- * ld/ldwrite.c: Likewise.
+- * ld/lexsup.c: Likewise.
+- * ld/pe-dll.c: Likewise.
+- * ld/plugin.c: Likewise.
+- * ld/emultempl/aarch64elf.em: Likewise.
+- * ld/emultempl/aix.em: Likewise.
+- * ld/emultempl/alphaelf.em: Likewise.
+- * ld/emultempl/armcoff.em: Likewise.
+- * ld/emultempl/armelf.em: Likewise.
+- * ld/emultempl/avrelf.em: Likewise.
+- * ld/emultempl/beos.em: Likewise.
+- * ld/emultempl/cr16elf.em: Likewise.
+- * ld/emultempl/elf-generic.em: Likewise.
+- * ld/emultempl/elf32.em: Likewise.
+- * ld/emultempl/genelf.em: Likewise.
+- * ld/emultempl/generic.em: Likewise.
+- * ld/emultempl/gld960.em: Likewise.
+- * ld/emultempl/gld960c.em: Likewise.
+- * ld/emultempl/hppaelf.em: Likewise.
+- * ld/emultempl/irix.em: Likewise.
+- * ld/emultempl/linux.em: Likewise.
+- * ld/emultempl/lnk960.em: Likewise.
+- * ld/emultempl/m68hc1xelf.em: Likewise.
+- * ld/emultempl/m68kcoff.em: Likewise.
+- * ld/emultempl/m68kelf.em: Likewise.
+- * ld/emultempl/metagelf.em: Likewise.
+- * ld/emultempl/mipself.em: Likewise.
+- * ld/emultempl/mmo.em: Likewise.
+- * ld/emultempl/msp430.em: Likewise.
+- * ld/emultempl/nds32elf.em: Likewise.
+- * ld/emultempl/needrelax.em: Likewise.
+- * ld/emultempl/nios2elf.em: Likewise.
+- * ld/emultempl/pe.em: Likewise.
+- * ld/emultempl/pep.em: Likewise.
+- * ld/emultempl/ppc32elf.em: Likewise.
+- * ld/emultempl/ppc64elf.em: Likewise.
+- * ld/emultempl/sh64elf.em: Likewise.
+- * ld/emultempl/solaris2.em: Likewise.
+- * ld/emultempl/spuelf.em: Likewise.
+- * ld/emultempl/sunos.em: Likewise.
+- * ld/emultempl/tic6xdsbt.em: Likewise.
+- * ld/emultempl/ticoff.em: Likewise.
+- * ld/emultempl/v850elf.em: Likewise.
+- * ld/emultempl/vms.em: Likewise.
+- * ld/emultempl/vxworks.em: Likewise.
++ * ldemul.c: Likewise.
++ * ldfile.c: Likewise.
++ * ldlang.c: Likewise.
++ * ldmain.c: Likewise.
++ * ldwrite.c: Likewise.
++ * lexsup.c: Likewise.
++ * pe-dll.c: Likewise.
++ * plugin.c: Likewise.
++ * emultempl/aarch64elf.em: Likewise.
++ * emultempl/aix.em: Likewise.
++ * emultempl/alphaelf.em: Likewise.
++ * emultempl/armcoff.em: Likewise.
++ * emultempl/armelf.em: Likewise.
++ * emultempl/avrelf.em: Likewise.
++ * emultempl/beos.em: Likewise.
++ * emultempl/cr16elf.em: Likewise.
++ * emultempl/elf-generic.em: Likewise.
++ * emultempl/elf32.em: Likewise.
++ * emultempl/genelf.em: Likewise.
++ * emultempl/generic.em: Likewise.
++ * emultempl/gld960.em: Likewise.
++ * emultempl/gld960c.em: Likewise.
++ * emultempl/hppaelf.em: Likewise.
++ * emultempl/irix.em: Likewise.
++ * emultempl/linux.em: Likewise.
++ * emultempl/lnk960.em: Likewise.
++ * emultempl/m68hc1xelf.em: Likewise.
++ * emultempl/m68kcoff.em: Likewise.
++ * emultempl/m68kelf.em: Likewise.
++ * emultempl/metagelf.em: Likewise.
++ * emultempl/mipself.em: Likewise.
++ * emultempl/mmo.em: Likewise.
++ * emultempl/msp430.em: Likewise.
++ * emultempl/nds32elf.em: Likewise.
++ * emultempl/needrelax.em: Likewise.
++ * emultempl/nios2elf.em: Likewise.
++ * emultempl/pe.em: Likewise.
++ * emultempl/pep.em: Likewise.
++ * emultempl/ppc32elf.em: Likewise.
++ * emultempl/ppc64elf.em: Likewise.
++ * emultempl/sh64elf.em: Likewise.
++ * emultempl/solaris2.em: Likewise.
++ * emultempl/spuelf.em: Likewise.
++ * emultempl/sunos.em: Likewise.
++ * emultempl/tic6xdsbt.em: Likewise.
++ * emultempl/ticoff.em: Likewise.
++ * emultempl/v850elf.em: Likewise.
++ * emultempl/vms.em: Likewise.
++ * emultempl/vxworks.em: Likewise.
+
+ 2015-08-18 Alan Modra <amodra@gmail.com>
+
+diff --git a/ld/configure b/ld/configure
+index a446283..8095b71 100755
+--- a/ld/configure
++++ b/ld/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.64 for ld 2.26.
++# Generated by GNU Autoconf 2.64 for ld 2.26.0.
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+ # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
+@@ -556,8 +556,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='ld'
+ PACKAGE_TARNAME='ld'
+-PACKAGE_VERSION='2.26'
+-PACKAGE_STRING='ld 2.26'
++PACKAGE_VERSION='2.26.0'
++PACKAGE_STRING='ld 2.26.0'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1350,7 +1350,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.26 to adapt to many kinds of systems.
++\`configure' configures ld 2.26.0 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1421,7 +1421,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of ld 2.26:";;
++ short | recursive ) echo "Configuration of ld 2.26.0:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1545,7 +1545,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-ld configure 2.26
++ld configure 2.26.0
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -2254,7 +2254,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.26, which was
++It was created by ld $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -4063,7 +4063,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='ld'
+- VERSION='2.26'
++ VERSION='2.26.0'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -17134,7 +17134,7 @@ do
+ fi
+ done
+
+-if test x$ac_default_compressed_debug_sections == xyes ; then
++if test x$ac_default_compressed_debug_sections = xyes ; then
+
+ $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
+
+@@ -17740,7 +17740,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by ld $as_me 2.26, which was
++This file was extended by ld $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -17804,7 +17804,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-ld config.status 2.26
++ld config.status 2.26.0
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+diff --git a/ld/configure.ac b/ld/configure.ac
+index 188172d..e28f38e 100644
+--- a/ld/configure.ac
++++ b/ld/configure.ac
+@@ -384,7 +384,7 @@ do
+ fi
+ done
+
+-if test x$ac_default_compressed_debug_sections == xyes ; then
++if test x$ac_default_compressed_debug_sections = xyes ; then
+ AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
+ fi
+
+diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
+index 0405d4f..809b27c 100644
+--- a/ld/emultempl/elf32.em
++++ b/ld/emultempl/elf32.em
+@@ -1946,25 +1946,32 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
+ return os;
+ }
+
++ flags = s->flags;
++ if (!bfd_link_relocatable (&link_info))
++ {
++ nexts = s;
++ while ((nexts = bfd_get_next_section_by_name (nexts->owner, nexts))
++ != NULL)
++ if (nexts->output_section == NULL
++ && (nexts->flags & SEC_EXCLUDE) == 0
++ && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
++ && (nexts->owner->flags & DYNAMIC) == 0
++ && nexts->owner->usrdata != NULL
++ && !(((lang_input_statement_type *) nexts->owner->usrdata)
++ ->flags.just_syms)
++ && _bfd_elf_match_sections_by_type (nexts->owner, nexts,
++ s->owner, s))
++ flags = (((flags ^ SEC_READONLY)
++ | (nexts->flags ^ SEC_READONLY))
++ ^ SEC_READONLY);
++ }
++
+ /* Decide which segment the section should go in based on the
+ section name and section flags. We put loadable .note sections
+ right after the .interp section, so that the PT_NOTE segment is
+ stored right after the program headers where the OS can read it
+ in the first page. */
+
+- flags = s->flags;
+- nexts = s;
+- while ((nexts = bfd_get_next_section_by_name (nexts->owner, nexts)) != NULL)
+- if (nexts->output_section == NULL
+- && (nexts->flags & SEC_EXCLUDE) == 0
+- && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
+- && (nexts->owner->flags & DYNAMIC) == 0
+- && nexts->owner->usrdata != NULL
+- && !(((lang_input_statement_type *) nexts->owner->usrdata)
+- ->flags.just_syms)
+- && _bfd_elf_match_sections_by_type (nexts->owner, nexts, s->owner, s))
+- flags = (((flags ^ SEC_READONLY) | (nexts->flags ^ SEC_READONLY))
+- ^ SEC_READONLY);
+ place = NULL;
+ if ((flags & (SEC_ALLOC | SEC_DEBUGGING)) == 0)
+ place = &hold[orphan_nonalloc];
+diff --git a/ld/emultempl/mmo.em b/ld/emultempl/mmo.em
+index 8949aed..3a382ec 100644
+--- a/ld/emultempl/mmo.em
++++ b/ld/emultempl/mmo.em
+@@ -107,22 +107,28 @@ mmo_place_orphan (asection *s,
+ return os;
+ }
+
++ flags = s->flags;
++ if (!bfd_link_relocatable (&link_info))
++ {
++ nexts = s;
++ while ((nexts = bfd_get_next_section_by_name (nexts->owner, nexts))
++ != NULL)
++ if (nexts->output_section == NULL
++ && (nexts->flags & SEC_EXCLUDE) == 0
++ && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
++ && (nexts->owner->flags & DYNAMIC) == 0
++ && nexts->owner->usrdata != NULL
++ && !(((lang_input_statement_type *) nexts->owner->usrdata)
++ ->flags.just_syms))
++ flags = (((flags ^ SEC_READONLY) | (nexts->flags ^ SEC_READONLY))
++ ^ SEC_READONLY);
++ }
++
+ /* Check for matching section type flags for sections we care about.
+ A section without contents can have SEC_LOAD == 0, but we still
+ want it attached to a sane section so the symbols appear as
+ expected. */
+- flags = s->flags;
+- nexts = s;
+- while ((nexts = bfd_get_next_section_by_name (nexts->owner, nexts)) != NULL)
+- if (nexts->output_section == NULL
+- && (nexts->flags & SEC_EXCLUDE) == 0
+- && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
+- && (nexts->owner->flags & DYNAMIC) == 0
+- && nexts->owner->usrdata != NULL
+- && !(((lang_input_statement_type *) nexts->owner->usrdata)
+- ->flags.just_syms))
+- flags = (((flags ^ SEC_READONLY) | (nexts->flags ^ SEC_READONLY))
+- ^ SEC_READONLY);
++
+ if ((flags & (SEC_ALLOC | SEC_READONLY)) != SEC_READONLY)
+ for (i = 0; i < sizeof (holds) / sizeof (holds[0]); i++)
+ if ((flags & holds[i].nonzero_flags) != 0)
+diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
+index 0370c5a..bddd9a8 100644
+--- a/ld/emultempl/pe.em
++++ b/ld/emultempl/pe.em
+@@ -2225,21 +2225,27 @@ gld_${EMULATION_NAME}_place_orphan (asection *s,
+ orphan_init_done = 1;
+ }
+
++ flags = s->flags;
++ if (!bfd_link_relocatable (&link_info))
++ {
++ nexts = s;
++ while ((nexts = bfd_get_next_section_by_name (nexts->owner,
++ nexts)))
++ if (nexts->output_section == NULL
++ && (nexts->flags & SEC_EXCLUDE) == 0
++ && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
++ && (nexts->owner->flags & DYNAMIC) == 0
++ && nexts->owner->usrdata != NULL
++ && !(((lang_input_statement_type *) nexts->owner->usrdata)
++ ->flags.just_syms))
++ flags = (((flags ^ SEC_READONLY)
++ | (nexts->flags ^ SEC_READONLY))
++ ^ SEC_READONLY);
++ }
++
+ /* Try to put the new output section in a reasonable place based
+ on the section name and section flags. */
+
+- flags = s->flags;
+- nexts = s;
+- while ((nexts = bfd_get_next_section_by_name (nexts->owner, nexts)))
+- if (nexts->output_section == NULL
+- && (nexts->flags & SEC_EXCLUDE) == 0
+- && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
+- && (nexts->owner->flags & DYNAMIC) == 0
+- && nexts->owner->usrdata != NULL
+- && !(((lang_input_statement_type *) nexts->owner->usrdata)
+- ->flags.just_syms))
+- flags = (((flags ^ SEC_READONLY) | (nexts->flags ^ SEC_READONLY))
+- ^ SEC_READONLY);
+ place = NULL;
+ if ((flags & SEC_ALLOC) == 0)
+ ;
+diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
+index 91de501..5ddeffc 100644
+--- a/ld/emultempl/pep.em
++++ b/ld/emultempl/pep.em
+@@ -1996,21 +1996,27 @@ gld_${EMULATION_NAME}_place_orphan (asection *s,
+ orphan_init_done = 1;
+ }
+
++ flags = s->flags;
++ if (!bfd_link_relocatable (&link_info))
++ {
++ nexts = s;
++ while ((nexts = bfd_get_next_section_by_name (nexts->owner,
++ nexts)))
++ if (nexts->output_section == NULL
++ && (nexts->flags & SEC_EXCLUDE) == 0
++ && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
++ && (nexts->owner->flags & DYNAMIC) == 0
++ && nexts->owner->usrdata != NULL
++ && !(((lang_input_statement_type *) nexts->owner->usrdata)
++ ->flags.just_syms))
++ flags = (((flags ^ SEC_READONLY)
++ | (nexts->flags ^ SEC_READONLY))
++ ^ SEC_READONLY);
++ }
++
+ /* Try to put the new output section in a reasonable place based
+ on the section name and section flags. */
+
+- flags = s->flags;
+- nexts = s;
+- while ((nexts = bfd_get_next_section_by_name (nexts->owner, nexts)))
+- if (nexts->output_section == NULL
+- && (nexts->flags & SEC_EXCLUDE) == 0
+- && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
+- && (nexts->owner->flags & DYNAMIC) == 0
+- && nexts->owner->usrdata != NULL
+- && !(((lang_input_statement_type *) nexts->owner->usrdata)
+- ->flags.just_syms))
+- flags = (((flags ^ SEC_READONLY) | (nexts->flags ^ SEC_READONLY))
+- ^ SEC_READONLY);
+ place = NULL;
+ if ((flags & SEC_ALLOC) == 0)
+ ;
+diff --git a/ld/ld.texinfo b/ld/ld.texinfo
+index 1dd7492..2389661 100644
+--- a/ld/ld.texinfo
++++ b/ld/ld.texinfo
+@@ -1325,15 +1325,21 @@ libraries.
+ When creating a shared library, bind references to global symbols to the
+ definition within the shared library, if any. Normally, it is possible
+ for a program linked against a shared library to override the definition
+-within the shared library. This option is only meaningful on ELF
+-platforms which support shared libraries.
++within the shared library. This option can also be used with the
++@option{--export-dynamic} option, when creating a position independent
++executable, to bind references to global symbols to the definition within
++the executable. This option is only meaningful on ELF platforms which
++support shared libraries and position independent executables.
+
+ @kindex -Bsymbolic-functions
+ @item -Bsymbolic-functions
+ When creating a shared library, bind references to global function
+ symbols to the definition within the shared library, if any.
++This option can also be used with the @option{--export-dynamic} option,
++when creating a position independent executable, to bind references
++to global function symbols to the definition within the executable.
+ This option is only meaningful on ELF platforms which support shared
+-libraries.
++libraries and position independent executables.
+
+ @kindex --dynamic-list=@var{dynamic-list-file}
+ @item --dynamic-list=@var{dynamic-list-file}
+diff --git a/ld/lexsup.c b/ld/lexsup.c
+index 4cad209..e2fb212 100644
+--- a/ld/lexsup.c
++++ b/ld/lexsup.c
+@@ -1586,15 +1586,14 @@ parse_args (unsigned argc, char **argv)
+ /* We may have -Bsymbolic, -Bsymbolic-functions, --dynamic-list-data,
+ --dynamic-list-cpp-new, --dynamic-list-cpp-typeinfo and
+ --dynamic-list FILE. -Bsymbolic and -Bsymbolic-functions are
+- for shared libraries. -Bsymbolic overrides all others and vice
+- versa. */
++ for PIC outputs. -Bsymbolic overrides all others and vice versa. */
+ switch (command_line.symbolic)
+ {
+ case symbolic_unset:
+ break;
+ case symbolic:
+- /* -Bsymbolic is for shared library only. */
+- if (bfd_link_dll (&link_info))
++ /* -Bsymbolic is for PIC output only. */
++ if (bfd_link_pic (&link_info))
+ {
+ link_info.symbolic = TRUE;
+ /* Should we free the unused memory? */
+@@ -1603,8 +1602,8 @@ parse_args (unsigned argc, char **argv)
+ }
+ break;
+ case symbolic_functions:
+- /* -Bsymbolic-functions is for shared library only. */
+- if (bfd_link_dll (&link_info))
++ /* -Bsymbolic-functions is for PIC output only. */
++ if (bfd_link_pic (&link_info))
+ command_line.dynamic_list = dynamic_list_data;
+ break;
+ }
+diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
+index cb51928..d09a332 100644
+--- a/ld/testsuite/ChangeLog
++++ b/ld/testsuite/ChangeLog
+@@ -117,12 +117,12 @@
+ * ld-x86-64/plt-main3.rd: Also check GOTPCRELX.
+
+ 2015-10-29 Catherine Moore <clm@codesourcery.com>
+-
+- * ld-mips-elf/mips16-fp-stub-1.s: New.
+- * ld-mips-elf/mips16-fp-stub-2.s: New.
+- * ld-mips-elf/mips16-fp-stub.d: New.
+- * ld-mips-elf/mips-elf.exp: Run new tests.
+- * ld-mips-elf/mips16-intermix.d: Update expected output.
++
++ * ld-mips-elf/mips16-fp-stub-1.s: New.
++ * ld-mips-elf/mips16-fp-stub-2.s: New.
++ * ld-mips-elf/mips16-fp-stub.d: New.
++ * ld-mips-elf/mips-elf.exp: Run new tests.
++ * ld-mips-elf/mips16-intermix.d: Update expected output.
+
+ 2015-10-28 H.J. Lu <hongjiu.lu@intel.com>
+
+@@ -133,7 +133,7 @@
+ * ld-x86-64/pr19162b.s: Likewise.
+
+ 2015-10-27 Laurent Alfonsi <laurent.alfonsi@st.com>
+- Christophe Monat <christophe.monat@st.com>
++ Christophe Monat <christophe.monat@st.com>
+
+ * ld-arm/arm-elf.exp (armelftests_common): Add STM32L4XX
+ tests.
+@@ -1069,7 +1069,6 @@
+
+ 2015-05-28 Catherine Moore <clm@codesourcery.com>
+
+- ld/testsuite/
+ * ld-mips-elf/compact-eh.ld: New linker script.
+ * ld-mips-elf/compact-eh1.d: New.
+ * ld-mips-elf/compact-eh1.s: New.
+diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp
+index 0e5b31e..576cc65 100644
+--- a/ld/testsuite/ld-aarch64/aarch64-elf.exp
++++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp
+@@ -170,7 +170,6 @@ run_dump_test "pcrel_pic_defined_local"
+
+ run_dump_test "limit-b"
+ run_dump_test "limit-bl"
+-run_dump_test "farcall-section"
+ run_dump_test "farcall-back"
+ run_dump_test "farcall-b-defsym"
+ run_dump_test "farcall-bl-defsym"
+@@ -181,6 +180,8 @@ run_dump_test "farcall-bl"
+ run_dump_test "farcall-b"
+ run_dump_test "farcall-b-none-function"
+ run_dump_test "farcall-bl-none-function"
++run_dump_test "farcall-b-section"
++run_dump_test "farcall-bl-section"
+
+ run_dump_test "tls-relax-all"
+ run_dump_test "tls-relax-gd-le"
+diff --git a/ld/testsuite/ld-aarch64/farcall-b-none-function.d b/ld/testsuite/ld-aarch64/farcall-b-none-function.d
+index 34a6568..ba2981f 100644
+--- a/ld/testsuite/ld-aarch64/farcall-b-none-function.d
++++ b/ld/testsuite/ld-aarch64/farcall-b-none-function.d
+@@ -2,4 +2,23 @@
+ #source: farcall-b-none-function.s
+ #as:
+ #ld: -Ttext 0x1000 --section-start .foo=0x8001000
+-#error: .*\(.text\+0x0\): relocation truncated to fit: R_AARCH64_JUMP26 against symbol `bar'.*
++#objdump: -dr
++#...
++
++Disassembly of section .text:
++
++.* <_start>:
++ 1000: 14000003 b 100c <__bar_veneer>
++ 1004: d65f03c0 ret
++ 1008: 14000007 b 1024 <__bar_veneer\+0x18>
++
++.* <__bar_veneer>:
++ 100c: 90040010 adrp x16, 8001000 <bar>
++ 1010: 91000210 add x16, x16, #0x0
++ 1014: d61f0200 br x16
++ ...
++
++Disassembly of section .foo:
++
++.* <bar>:
++ 8001000: d65f03c0 ret
+diff --git a/ld/testsuite/ld-aarch64/farcall-b-section.d b/ld/testsuite/ld-aarch64/farcall-b-section.d
+new file mode 100644
+index 0000000..4745c0f
+--- /dev/null
++++ b/ld/testsuite/ld-aarch64/farcall-b-section.d
+@@ -0,0 +1,34 @@
++#name: aarch64-farcall-b-section
++#source: farcall-b-section.s
++#as:
++#ld: -Ttext 0x1000 --section-start .foo=0x8001000
++#objdump: -dr
++#...
++
++Disassembly of section .text:
++
++.* <_start>:
++ 1000: 14000008 b 1020 <___veneer>
++ 1004: 14000003 b 1010 <___veneer>
++ 1008: d65f03c0 ret
++ 100c: 1400000d b 1040 <___veneer\+0x20>
++
++.* <___veneer>:
++ 1010: 90040010 adrp x16, 8001000 <bar>
++ 1014: 91001210 add x16, x16, #0x4
++ 1018: d61f0200 br x16
++ 101c: 00000000 .inst 0x00000000 ; undefined
++
++.* <___veneer>:
++ 1020: 90040010 adrp x16, 8001000 <bar>
++ 1024: 91000210 add x16, x16, #0x0
++ 1028: d61f0200 br x16
++ ...
++
++Disassembly of section .foo:
++
++.* <bar>:
++ 8001000: d65f03c0 ret
++
++.* <bar2>:
++ 8001004: d65f03c0 ret
+diff --git a/ld/testsuite/ld-aarch64/farcall-b-section.s b/ld/testsuite/ld-aarch64/farcall-b-section.s
+new file mode 100644
+index 0000000..1a135ef
+--- /dev/null
++++ b/ld/testsuite/ld-aarch64/farcall-b-section.s
+@@ -0,0 +1,20 @@
++.global _start
++
++# We will place the section .text at 0x1000.
++
++ .text
++
++_start:
++ b bar
++ b bar2
++ ret
++
++# We will place the section .foo at 0x8001000.
++
++ .section .foo, "xa"
++ .type bar, @function
++bar:
++ ret
++ .type bar2, @function
++bar2:
++ ret
+diff --git a/ld/testsuite/ld-aarch64/farcall-bl-none-function.d b/ld/testsuite/ld-aarch64/farcall-bl-none-function.d
+index 6ce9ca4..b6a4dda 100644
+--- a/ld/testsuite/ld-aarch64/farcall-bl-none-function.d
++++ b/ld/testsuite/ld-aarch64/farcall-bl-none-function.d
+@@ -2,4 +2,23 @@
+ #source: farcall-bl-none-function.s
+ #as:
+ #ld: -Ttext 0x1000 --section-start .foo=0x8001000
+-#error: .*\(.text\+0x0\): relocation truncated to fit: R_AARCH64_CALL26 against symbol `bar'.*
++#objdump: -dr
++#...
++
++Disassembly of section .text:
++
++.* <_start>:
++ 1000: 94000003 bl 100c <__bar_veneer>
++ 1004: d65f03c0 ret
++ 1008: 14000007 b 1024 <__bar_veneer\+0x18>
++
++.* <__bar_veneer>:
++ 100c: 90040010 adrp x16, 8001000 <bar>
++ 1010: 91000210 add x16, x16, #0x0
++ 1014: d61f0200 br x16
++ ...
++
++Disassembly of section .foo:
++
++.* <bar>:
++ 8001000: d65f03c0 ret
+diff --git a/ld/testsuite/ld-aarch64/farcall-bl-section.d b/ld/testsuite/ld-aarch64/farcall-bl-section.d
+new file mode 100644
+index 0000000..2bd4f85
+--- /dev/null
++++ b/ld/testsuite/ld-aarch64/farcall-bl-section.d
+@@ -0,0 +1,34 @@
++#name: aarch64-farcall-bl-section
++#source: farcall-bl-section.s
++#as:
++#ld: -Ttext 0x1000 --section-start .foo=0x8001000
++#objdump: -dr
++#...
++
++Disassembly of section .text:
++
++.* <_start>:
++ 1000: 94000008 bl 1020 <___veneer>
++ 1004: 94000003 bl 1010 <___veneer>
++ 1008: d65f03c0 ret
++ 100c: 1400000d b 1040 <___veneer\+0x20>
++
++.* <___veneer>:
++ 1010: 90040010 adrp x16, 8001000 <bar>
++ 1014: 91001210 add x16, x16, #0x4
++ 1018: d61f0200 br x16
++ 101c: 00000000 .inst 0x00000000 ; undefined
++
++.* <___veneer>:
++ 1020: 90040010 adrp x16, 8001000 <bar>
++ 1024: 91000210 add x16, x16, #0x0
++ 1028: d61f0200 br x16
++ ...
++
++Disassembly of section .foo:
++
++.* <bar>:
++ 8001000: d65f03c0 ret
++
++.* <bar2>:
++ 8001004: d65f03c0 ret
+diff --git a/ld/testsuite/ld-aarch64/farcall-bl-section.s b/ld/testsuite/ld-aarch64/farcall-bl-section.s
+new file mode 100644
+index 0000000..4469d4d
+--- /dev/null
++++ b/ld/testsuite/ld-aarch64/farcall-bl-section.s
+@@ -0,0 +1,20 @@
++ .global _start
++
++# We will place the section .text at 0x1000.
++
++ .text
++
++_start:
++ bl bar
++ bl bar2
++ ret
++
++# We will place the section .foo at 0x8001000.
++
++ .section .foo, "xa"
++ .type bar, @function
++bar:
++ ret
++ .type bar2, @function
++bar2:
++ ret
+diff --git a/ld/testsuite/ld-aarch64/farcall-section.d b/ld/testsuite/ld-aarch64/farcall-section.d
+deleted file mode 100644
+index 85775e1..0000000
+--- a/ld/testsuite/ld-aarch64/farcall-section.d
++++ /dev/null
+@@ -1,5 +0,0 @@
+-#name: Aarch64 farcall to symbol of type STT_SECTION
+-#source: farcall-section.s
+-#as:
+-#ld: -Ttext 0x1000 --section-start .foo=0x8001014
+-#error: .*\(.text\+0x0\): relocation truncated to fit: R_AARCH64_CALL26 against `.foo'
+diff --git a/ld/testsuite/ld-aarch64/farcall-section.s b/ld/testsuite/ld-aarch64/farcall-section.s
+deleted file mode 100644
+index 86a070c..0000000
+--- a/ld/testsuite/ld-aarch64/farcall-section.s
++++ /dev/null
+@@ -1,19 +0,0 @@
+-# Test to ensure that an Aarch64 call exceeding 128MB generates an error
+-# if the destination is of type STT_SECTION (eg non-global symbol)
+-
+- .global _start
+-
+-# We will place the section .text at 0x1000.
+-
+- .text
+-
+-_start:
+- bl bar
+-
+-# We will place the section .foo at 0x8001020.
+-
+- .section .foo, "xa"
+-
+-bar:
+- ret
+-
+diff --git a/ld/testsuite/ld-elf/gabiend.rt b/ld/testsuite/ld-elf/gabiend.rt
+index 23bc36c..75b5ba7 100644
+--- a/ld/testsuite/ld-elf/gabiend.rt
++++ b/ld/testsuite/ld-elf/gabiend.rt
+@@ -1,4 +1,4 @@
+ #...
+ +\[[0-9a-f]+\]: .*COMPRESSED
+- +ZLIB, [0-9a-f]+, 1
++ +ZLIB, [0-9a-f]+, [1-9][0-9]*
+ #pass
+diff --git a/ld/testsuite/ld-elf/gabinormal.rt b/ld/testsuite/ld-elf/gabinormal.rt
+index 23bc36c..75b5ba7 100644
+--- a/ld/testsuite/ld-elf/gabinormal.rt
++++ b/ld/testsuite/ld-elf/gabinormal.rt
+@@ -1,4 +1,4 @@
+ #...
+ +\[[0-9a-f]+\]: .*COMPRESSED
+- +ZLIB, [0-9a-f]+, 1
++ +ZLIB, [0-9a-f]+, [1-9][0-9]*
+ #pass
+diff --git a/ld/testsuite/ld-elf/indirect.exp b/ld/testsuite/ld-elf/indirect.exp
+index e8ac1ae..25845a0 100644
+--- a/ld/testsuite/ld-elf/indirect.exp
++++ b/ld/testsuite/ld-elf/indirect.exp
+@@ -66,7 +66,11 @@ if { ![ld_compile $CC $srcdir/$subdir/indirect1a.c tmpdir/indirect1a.o]
+ || ![ld_compile $CC $srcdir/$subdir/indirect4a.c tmpdir/indirect4a.o]
+ || ![ld_compile $CC $srcdir/$subdir/indirect4b.c tmpdir/indirect4b.o]
+ || ![ld_compile "$CC -O2 -fPIC -I../bfd" $srcdir/$subdir/pr18720a.c tmpdir/pr18720a.o]
+- || ![ld_compile $CC $srcdir/$subdir/pr18720b.c tmpdir/pr18720b.o] } {
++ || ![ld_compile $CC $srcdir/$subdir/pr18720b.c tmpdir/pr18720b.o]
++ || ![ld_compile "$CC -fPIC" $srcdir/$subdir/pr19553d.c tmpdir/pr19553d.o]
++ || ![ld_compile "$CC -fPIC" $srcdir/$subdir/pr19553c.c tmpdir/pr19553c.o]
++ || ![ld_compile "$CC -fPIC" $srcdir/$subdir/pr19553b.c tmpdir/pr19553b.o]
++ || ![ld_compile $CC $srcdir/$subdir/pr19553a.c tmpdir/pr19553a.o] } {
+ unresolved "Indirect symbol tests"
+ return
+ }
+@@ -87,6 +91,15 @@ set build_tests {
+ {"Build pr18720b1.o"
+ "-r -nostdlib tmpdir/pr18720b.o" ""
+ {dummy.c} {} "pr18720b1.o"}
++ {"Build libpr19553b.so"
++ "-shared -Wl,--version-script=pr19553.map" "-fPIC"
++ {pr19553b.c} {} "libpr19553b.so"}
++ {"Build libpr19553c.so"
++ "-shared -Wl,--version-script=pr19553.map" "-fPIC"
++ {pr19553c.c} {} "libpr19553c.so"}
++ {"Build libpr19553d.so"
++ "-shared tmpdir/libpr19553c.so" "-fPIC"
++ {pr19553d.c} {} "libpr19553d.so"}
+ }
+
+ run_cc_link_tests $build_tests
+@@ -155,6 +168,15 @@ set run_tests {
+ {"Run with libpr18720c.so 5"
+ "tmpdir/libpr18720c.so tmpdir/pr18720b1.o tmpdir/pr18720a.o" ""
+ {check-ptr-eq.c} "pr18720d" "pr18720.out"}
++ {"Run with libpr19553b.so"
++ "tmpdir/libpr19553b.so tmpdir/libpr19553d.so -rpath-link ." ""
++ {pr19553a.c} "pr19553b" "pr19553b.out"}
++ {"Run with libpr19553c.so"
++ "tmpdir/libpr19553c.so tmpdir/libpr19553b.so tmpdir/libpr19553d.so" ""
++ {pr19553a.c} "pr19553c" "pr19553c.out"}
++ {"Run with libpr19553d.so"
++ "tmpdir/libpr19553d.so tmpdir/libpr19553b.so -rpath-link ." ""
++ {pr19553a.c} "pr19553d" "pr19553d.out"}
+ }
+
+ run_ld_link_exec_tests [] $run_tests
+diff --git a/ld/testsuite/ld-elf/pr19539.d b/ld/testsuite/ld-elf/pr19539.d
+new file mode 100644
+index 0000000..87c2b1b
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19539.d
+@@ -0,0 +1,9 @@
++#source: start.s
++#source: pr19539.s
++#ld: -pie -T pr19539.t
++#readelf : --dyn-syms --wide
++#target: *-*-linux* *-*-gnu* *-*-solaris*
++#notarget: cris*-*-*
++
++Symbol table '\.dynsym' contains [0-9]+ entries:
++#pass
+diff --git a/ld/testsuite/ld-elf/pr19539.s b/ld/testsuite/ld-elf/pr19539.s
+new file mode 100644
+index 0000000..0f55d3f
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19539.s
+@@ -0,0 +1,2 @@
++ .section .prefix,"a",%progbits
++ .dc.a foo
+diff --git a/ld/testsuite/ld-elf/pr19539.t b/ld/testsuite/ld-elf/pr19539.t
+new file mode 100644
+index 0000000..b6b48e7
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19539.t
+@@ -0,0 +1 @@
++HIDDEN (foo = .);
+diff --git a/ld/testsuite/ld-elf/pr19553.map b/ld/testsuite/ld-elf/pr19553.map
+new file mode 100644
+index 0000000..f2c03ac
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553.map
+@@ -0,0 +1,5 @@
++FOO
++{
++global:
++ foo;
++};
+diff --git a/ld/testsuite/ld-elf/pr19553a.c b/ld/testsuite/ld-elf/pr19553a.c
+new file mode 100644
+index 0000000..f1cb6b4
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553a.c
+@@ -0,0 +1,8 @@
++extern void foo (void);
++
++int
++main (void)
++{
++ foo ();
++ return 0;
++}
+diff --git a/ld/testsuite/ld-elf/pr19553b.c b/ld/testsuite/ld-elf/pr19553b.c
+new file mode 100644
+index 0000000..0c438a2
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553b.c
+@@ -0,0 +1,8 @@
++#include <stdio.h>
++
++__attribute__ ((weak))
++void
++foo (void)
++{
++ printf ("pr19553b\n");
++}
+diff --git a/ld/testsuite/ld-elf/pr19553b.out b/ld/testsuite/ld-elf/pr19553b.out
+new file mode 100644
+index 0000000..a5575d9
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553b.out
+@@ -0,0 +1 @@
++pr19553b
+diff --git a/ld/testsuite/ld-elf/pr19553c.c b/ld/testsuite/ld-elf/pr19553c.c
+new file mode 100644
+index 0000000..d80dfc9
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553c.c
+@@ -0,0 +1,9 @@
++#include <stdio.h>
++
++void
++foo (void)
++{
++ printf ("pr19553c\n");
++}
++
++asm (".symver foo,foo@FOO");
+diff --git a/ld/testsuite/ld-elf/pr19553c.out b/ld/testsuite/ld-elf/pr19553c.out
+new file mode 100644
+index 0000000..9d23215
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553c.out
+@@ -0,0 +1 @@
++pr19553c
+diff --git a/ld/testsuite/ld-elf/pr19553d.c b/ld/testsuite/ld-elf/pr19553d.c
+new file mode 100644
+index 0000000..d48f8f3
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553d.c
+@@ -0,0 +1,8 @@
++#include <stdio.h>
++
++__attribute__ ((weak))
++void
++foo (void)
++{
++ printf ("pr19553d\n");
++}
+diff --git a/ld/testsuite/ld-elf/pr19553d.out b/ld/testsuite/ld-elf/pr19553d.out
+new file mode 100644
+index 0000000..2b4cf0b
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19553d.out
+@@ -0,0 +1 @@
++pr19553d
+diff --git a/ld/testsuite/ld-elf/pr19579a.c b/ld/testsuite/ld-elf/pr19579a.c
+new file mode 100644
+index 0000000..e4a6eb1
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19579a.c
+@@ -0,0 +1,15 @@
++#include <stdio.h>
++
++int foo[1];
++int bar[2];
++
++extern int *foo_p (void);
++extern int *bar_p (void);
++
++int
++main ()
++{
++ if (foo[0] == 0 && foo == foo_p () && bar[0] == 0 && bar == bar_p ())
++ printf ("PASS\n");
++ return 0;
++}
+diff --git a/ld/testsuite/ld-elf/pr19579b.c b/ld/testsuite/ld-elf/pr19579b.c
+new file mode 100644
+index 0000000..d906545
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19579b.c
+@@ -0,0 +1,14 @@
++int foo[2];
++int bar[2] = { -1, -1 };
++
++int *
++foo_p (void)
++{
++ return foo;
++}
++
++int *
++bar_p (void)
++{
++ return bar;
++}
+diff --git a/ld/testsuite/ld-elf/pr19698.d b/ld/testsuite/ld-elf/pr19698.d
+new file mode 100644
+index 0000000..a39f67a
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19698.d
+@@ -0,0 +1,10 @@
++#ld: -shared $srcdir/$subdir/pr19698.t
++#readelf : --dyn-syms --wide
++#target: *-*-linux* *-*-gnu* *-*-solaris*
++
++Symbol table '\.dynsym' contains [0-9]+ entries:
++#...
++ +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +foo@VERS.1
++#...
++ +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +foo@@VERS.2
++#pass
+diff --git a/ld/testsuite/ld-elf/pr19698.s b/ld/testsuite/ld-elf/pr19698.s
+new file mode 100644
+index 0000000..875dca4
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19698.s
+@@ -0,0 +1,5 @@
++ .text
++ .globl foo
++ .type foo, %function
++foo:
++ .byte 0
+diff --git a/ld/testsuite/ld-elf/pr19698.t b/ld/testsuite/ld-elf/pr19698.t
+new file mode 100644
+index 0000000..09d9125
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr19698.t
+@@ -0,0 +1,11 @@
++"foo@VERS.1" = foo;
++
++VERSION {
++VERS.2 {
++ global:
++ foo;
++};
++
++VERS.1 {
++};
++}
+diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
+index 731eef3..b8c12cb 100644
+--- a/ld/testsuite/ld-elf/shared.exp
++++ b/ld/testsuite/ld-elf/shared.exp
+@@ -524,6 +524,21 @@ if { [istarget *-*-linux*]
+ {} \
+ "libpr2404b.a" \
+ ] \
++ [list \
++ "Build pr19579a.o" \
++ "" "-fPIE" \
++ {pr19579a.c} \
++ {} \
++ "libpr19579a.a" \
++ ] \
++ [list \
++ "Build libpr19579.so" \
++ "-shared" \
++ "-fPIC" \
++ {pr19579b.c} \
++ {} \
++ "libpr19579.so" \
++ ] \
+ ]
+ run_ld_link_exec_tests [] [list \
+ [list \
+@@ -580,5 +595,14 @@ if { [istarget *-*-linux*]
+ "pass.out" \
+ "-O2 -fPIC -I../bfd" \
+ ] \
++ [list \
++ "Run pr19579" \
++ "-pie -z text tmpdir/pr19579a.o tmpdir/libpr19579.so" \
++ "" \
++ {dummy.c} \
++ "pr19579" \
++ "pass.out" \
++ "-fPIE" \
++ ] \
+ ]
+ }
+diff --git a/ld/testsuite/ld-i386/branch1.d b/ld/testsuite/ld-i386/branch1.d
+index a078f1d..81b069e 100644
+--- a/ld/testsuite/ld-i386/branch1.d
++++ b/ld/testsuite/ld-i386/branch1.d
+@@ -1,4 +1,4 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call1.d b/ld/testsuite/ld-i386/call1.d
+index 69383b2..e3ebedc 100644
+--- a/ld/testsuite/ld-i386/call1.d
++++ b/ld/testsuite/ld-i386/call1.d
+@@ -1,3 +1,3 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -shared -melf_i386
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/call2.d b/ld/testsuite/ld-i386/call2.d
+index 69383b2..e3ebedc 100644
+--- a/ld/testsuite/ld-i386/call2.d
++++ b/ld/testsuite/ld-i386/call2.d
+@@ -1,3 +1,3 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -shared -melf_i386
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/call3a.d b/ld/testsuite/ld-i386/call3a.d
+index a8ff27f..5a1e1df 100644
+--- a/ld/testsuite/ld-i386/call3a.d
++++ b/ld/testsuite/ld-i386/call3a.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call3b.d b/ld/testsuite/ld-i386/call3b.d
+index 06af6f5..de98ce4 100644
+--- a/ld/testsuite/ld-i386/call3b.d
++++ b/ld/testsuite/ld-i386/call3b.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -z call-nop=prefix-addr
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call3c.d b/ld/testsuite/ld-i386/call3c.d
+index 64e8372..0fdbee4 100644
+--- a/ld/testsuite/ld-i386/call3c.d
++++ b/ld/testsuite/ld-i386/call3c.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -z call-nop=prefix-nop
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call3d.d b/ld/testsuite/ld-i386/call3d.d
+index a9274c8..4d965b3 100644
+--- a/ld/testsuite/ld-i386/call3d.d
++++ b/ld/testsuite/ld-i386/call3d.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -z call-nop=suffix-nop
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call3e.d b/ld/testsuite/ld-i386/call3e.d
+index 2876b49..608682c 100644
+--- a/ld/testsuite/ld-i386/call3e.d
++++ b/ld/testsuite/ld-i386/call3e.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -z call-nop=prefix-0x67
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call3f.d b/ld/testsuite/ld-i386/call3f.d
+index 5ab0cf1..f3a4869 100644
+--- a/ld/testsuite/ld-i386/call3f.d
++++ b/ld/testsuite/ld-i386/call3f.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -z call-nop=prefix-0x90
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call3g.d b/ld/testsuite/ld-i386/call3g.d
+index 8287770..f3e3f36 100644
+--- a/ld/testsuite/ld-i386/call3g.d
++++ b/ld/testsuite/ld-i386/call3g.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -z call-nop=suffix-0x90
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/call3h.d b/ld/testsuite/ld-i386/call3h.d
+index 83f371a..afd1ce8 100644
+--- a/ld/testsuite/ld-i386/call3h.d
++++ b/ld/testsuite/ld-i386/call3h.d
+@@ -1,5 +1,5 @@
+ #source: call3.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -z call-nop=suffix-144
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/got1.dd b/ld/testsuite/ld-i386/got1.dd
+index e46153d..e6e82de 100644
+--- a/ld/testsuite/ld-i386/got1.dd
++++ b/ld/testsuite/ld-i386/got1.dd
+@@ -10,6 +10,8 @@
+ [ ]*[a-f0-9]+: ff d0 call \*%eax
+ [ ]*[a-f0-9]+: [ a-f0-9]+ mov *0x[a-f0-9]+,%eax
+ [ ]*[a-f0-9]+: ff d0 call \*%eax
++[ ]*[a-f0-9]+: [ a-f0-9]+ call [a-f0-9]+ <__x86.get_pc_thunk.cx>
++[ ]*[a-f0-9]+: [ a-f0-9]+ add \$0x[a-f0-9]+,%ecx
+ [ ]*[a-f0-9]+: [ a-f0-9]+ lea *0x[a-f0-9]+,%ecx
+ [ ]*[a-f0-9]+: ff d1 call \*%ecx
+ [ ]*[a-f0-9]+: 83 ec 0c sub \$0xc,%esp
+diff --git a/ld/testsuite/ld-i386/got1a.S b/ld/testsuite/ld-i386/got1a.S
+index f3d5330..7a3f7b5 100644
+--- a/ld/testsuite/ld-i386/got1a.S
++++ b/ld/testsuite/ld-i386/got1a.S
+@@ -12,10 +12,19 @@ main:
+ call *%eax
+ movl plt@GOT, %eax
+ call *%eax
+- movl foo@GOT(%ebx), %ecx
++ call __x86.get_pc_thunk.cx
++ addl $_GLOBAL_OFFSET_TABLE_, %ecx
++ movl foo@GOT(%ecx), %ecx
+ call *%ecx
+ subl $12, %esp
+ pushl $0
+ pushl $0 # Push a dummy return address onto stack.
+ jmp *myexit@GOT
+ .size main, .-main
++ .section .text.__x86.get_pc_thunk.cx,"axG",@progbits,__x86.get_pc_thunk.cx,comdat
++ .globl __x86.get_pc_thunk.cx
++ .hidden __x86.get_pc_thunk.cx
++ .type __x86.get_pc_thunk.cx, @function
++__x86.get_pc_thunk.cx:
++ movl (%esp), %ecx
++ ret
+diff --git a/ld/testsuite/ld-i386/got1d.S b/ld/testsuite/ld-i386/got1d.S
+index a6d51c6..7e4c9b1 100644
+--- a/ld/testsuite/ld-i386/got1d.S
++++ b/ld/testsuite/ld-i386/got1d.S
+@@ -19,7 +19,6 @@ plt:
+ pushl %esi
+ pushl %ebx
+ call __x86.get_pc_thunk.bx
+-1:
+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ subl $20, %esp
+ leal __FUNCTION__.1866@GOTOFF(%ebx), %esi
+diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
+index fb1d3ea..1916c24 100644
+--- a/ld/testsuite/ld-i386/i386.exp
++++ b/ld/testsuite/ld-i386/i386.exp
+@@ -195,6 +195,14 @@ set i386tests {
+ "--32" {pr17709a.s} {} "libpr17709.so"}
+ {"PR ld/17709 (2)" "-melf_i386 tmpdir/libpr17709.so" ""
+ "--32" {pr17709b.s} {{readelf -r pr17709.rd}} "pr17709"}
++ {"Build pr19827a.o" "" ""
++ "--32" { pr19827a.S }}
++ {"Build pr19827b.so" "-melf_i386 -shared" ""
++ "--32" { pr19827b.S } {} "pr19827b.so"}
++ {"Build pr19827" "-melf_i386 -pie tmpdir/pr19827a.o tmpdir/pr19827b.so" ""
++ "--32" { dummy.s } {{readelf {-rW} pr19827.rd}} "pr19827"}
++ {"Build pr19827.so" "-melf_i386 -shared -Bsymbolic" ""
++ "--32" { pr19827a.S } {{readelf {-rW} pr19827.rd}} "pr19827.so"}
+ }
+
+ # So as to avoid rewriting every last test case here in a nacl variant,
+@@ -319,6 +327,7 @@ run_dump_test "load5a"
+ run_dump_test "load5b"
+ run_dump_test "load6"
+ run_dump_test "pr19175"
++run_dump_test "pr19615"
+
+ if { !([istarget "i?86-*-linux*"]
+ || [istarget "i?86-*-gnu*"]
+@@ -357,7 +366,7 @@ if { [isnative]
+ [list \
+ "Build libplt-main1.a" \
+ "" \
+- "-fPIC" \
++ "-fPIC -Wa,-mrelax-relocations=yes" \
+ { plt-main1.c } \
+ {{readelf {-Wr} plt-main1.rd}} \
+ "libplt-main1.a" \
+@@ -365,7 +374,7 @@ if { [isnative]
+ [list \
+ "Build libplt-main2.a" \
+ "" \
+- "-fPIC" \
++ "-fPIC -Wa,-mrelax-relocations=yes" \
+ { plt-main2.c } \
+ {{readelf {-Wr} plt-main2.rd}} \
+ "libplt-main2.a" \
+@@ -373,7 +382,7 @@ if { [isnative]
+ [list \
+ "Build libplt-main3.a" \
+ "" \
+- "-fPIC $PLT_CFLAGS" \
++ "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ { plt-main3.c } \
+ {{readelf {-Wr} plt-main3.rd}} \
+ "libplt-main3.a" \
+@@ -381,7 +390,7 @@ if { [isnative]
+ [list \
+ "Build libplt-main4.a" \
+ "" \
+- "-fPIC $PLT_CFLAGS" \
++ "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ { plt-main4.c } \
+ {{readelf {-Wr} plt-main4.rd}} \
+ "libplt-main4.a" \
+@@ -535,7 +544,7 @@ if { [isnative]
+ [list \
+ "Build gotpc1" \
+ "tmpdir/got1d.so" \
+- "" \
++ "-Wa,-mrelax-relocations=yes" \
+ { got1a.S got1b.c got1c.c } \
+ {{objdump {-dw} got1.dd}} \
+ "got1" \
+diff --git a/ld/testsuite/ld-i386/jmp1.d b/ld/testsuite/ld-i386/jmp1.d
+index 69383b2..e3ebedc 100644
+--- a/ld/testsuite/ld-i386/jmp1.d
++++ b/ld/testsuite/ld-i386/jmp1.d
+@@ -1,3 +1,3 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -shared -melf_i386
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/jmp2.d b/ld/testsuite/ld-i386/jmp2.d
+index 69383b2..e3ebedc 100644
+--- a/ld/testsuite/ld-i386/jmp2.d
++++ b/ld/testsuite/ld-i386/jmp2.d
+@@ -1,3 +1,3 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -shared -melf_i386
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/lea1c.d b/ld/testsuite/ld-i386/lea1c.d
+index dd76258..0c3580d 100644
+--- a/ld/testsuite/ld-i386/lea1c.d
++++ b/ld/testsuite/ld-i386/lea1c.d
+@@ -1,5 +1,5 @@
+ #source: lea1.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/load1.d b/ld/testsuite/ld-i386/load1.d
+index 062ea18..a252a15 100644
+--- a/ld/testsuite/ld-i386/load1.d
++++ b/ld/testsuite/ld-i386/load1.d
+@@ -1,4 +1,4 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386
+ #objdump: -dw --sym
+ #notarget: i?86-*-nacl* x86_64-*-nacl*
+diff --git a/ld/testsuite/ld-i386/load2.d b/ld/testsuite/ld-i386/load2.d
+index 87c2509..467fee0 100644
+--- a/ld/testsuite/ld-i386/load2.d
++++ b/ld/testsuite/ld-i386/load2.d
+@@ -1,3 +1,3 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -shared
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/load3.d b/ld/testsuite/ld-i386/load3.d
+index 87c2509..467fee0 100644
+--- a/ld/testsuite/ld-i386/load3.d
++++ b/ld/testsuite/ld-i386/load3.d
+@@ -1,3 +1,3 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386 -shared
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/load4a.d b/ld/testsuite/ld-i386/load4a.d
+index 3aa56bd..f3f02ea 100644
+--- a/ld/testsuite/ld-i386/load4a.d
++++ b/ld/testsuite/ld-i386/load4a.d
+@@ -1,4 +1,4 @@
+ #source: load4.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -Bsymbolic -shared -melf_i386
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/load5a.d b/ld/testsuite/ld-i386/load5a.d
+index 88c225a..9744316 100644
+--- a/ld/testsuite/ld-i386/load5a.d
++++ b/ld/testsuite/ld-i386/load5a.d
+@@ -1,4 +1,4 @@
+ #source: load5.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -Bsymbolic -shared -melf_i386
+ #error: direct GOT relocation R_386_GOT32X against `foo' without base register can not be used when making a shared object
+diff --git a/ld/testsuite/ld-i386/mov2b.d b/ld/testsuite/ld-i386/mov2b.d
+index ea5dd9b..295a7c5 100644
+--- a/ld/testsuite/ld-i386/mov2b.d
++++ b/ld/testsuite/ld-i386/mov2b.d
+@@ -1,5 +1,5 @@
+ #source: mov2.s
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -pie -melf_i386
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/mov3.d b/ld/testsuite/ld-i386/mov3.d
+index 17da244..4ce5cd8 100644
+--- a/ld/testsuite/ld-i386/mov3.d
++++ b/ld/testsuite/ld-i386/mov3.d
+@@ -1,4 +1,4 @@
+-#as: --32
++#as: --32 -mrelax-relocations=yes
+ #ld: -melf_i386
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-i386/pr19615.d b/ld/testsuite/ld-i386/pr19615.d
+new file mode 100644
+index 0000000..86aebd1
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr19615.d
+@@ -0,0 +1,13 @@
++#as: --32
++#ld: -pie -Bsymbolic -E -melf_i386
++#readelf: -r --wide --dyn-syms
++
++Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
++ Offset Info Type Sym. Value Symbol's Name
++[0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE +
++
++Symbol table '.dynsym' contains [0-9]+ entries:
++ Num: Value Size Type Bind Vis Ndx Name
++#...
++[ ]*[a-f0-9]+: [a-f0-9]+ 0 FUNC GLOBAL DEFAULT [a-f0-9]+ xyzzy
++#...
+diff --git a/ld/testsuite/ld-i386/pr19615.s b/ld/testsuite/ld-i386/pr19615.s
+new file mode 100644
+index 0000000..1d85926
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr19615.s
+@@ -0,0 +1,13 @@
++ .text
++ .globl _start
++ .type _start, @function
++_start:
++ ret
++
++ .globl xyzzy /* This symbol should be exported */
++ .type xyzzy, @function
++xyzzy:
++ ret
++
++ .section ".xyzzy_ptr","aw",%progbits
++ .dc.a xyzzy
+diff --git a/ld/testsuite/ld-i386/pr19827.rd b/ld/testsuite/ld-i386/pr19827.rd
+new file mode 100644
+index 0000000..5d2a885
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr19827.rd
+@@ -0,0 +1,5 @@
++#readelf: -r --wide
++
++Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
++ Offset Info Type Sym. Value Symbol's Name
++[0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE +
+diff --git a/ld/testsuite/ld-i386/pr19827a.S b/ld/testsuite/ld-i386/pr19827a.S
+new file mode 100644
+index 0000000..cdf1d4b
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr19827a.S
+@@ -0,0 +1,8 @@
++ .text
++ .global _start
++_start:
++ .dc.a foo
++ .data
++ .globl foo
++foo:
++ .byte 0
+diff --git a/ld/testsuite/ld-i386/pr19827b.S b/ld/testsuite/ld-i386/pr19827b.S
+new file mode 100644
+index 0000000..bb46e1d
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr19827b.S
+@@ -0,0 +1,2 @@
++ .data
++ .dc.a foo
+diff --git a/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d
+index 53ccd5a..ae75487 100644
+--- a/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d
++++ b/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d
+@@ -1,4 +1,4 @@
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64
+ #objdump: -dw
+ #target: x86_64-*-*
+diff --git a/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d
+index 53ccd5a..ae75487 100644
+--- a/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d
++++ b/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d
+@@ -1,4 +1,4 @@
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64
+ #objdump: -dw
+ #target: x86_64-*-*
+diff --git a/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d
+index 18021e7..2ce53a9 100644
+--- a/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d
++++ b/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d
+@@ -1,5 +1,5 @@
+ #source: ifunc-5-local-x86-64.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -r -melf_x86_64
+ #readelf: -r --wide
+ #target: x86_64-*-*
+diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
+index 81e72b4..982ffee 100644
+--- a/ld/testsuite/ld-plugin/lto.exp
++++ b/ld/testsuite/ld-plugin/lto.exp
+@@ -400,9 +400,20 @@ if { [at_least_gcc_version 4 7] } {
+ || [istarget "x86_64-*-linux*"]
+ || [istarget "amd64-*-linux*"]) } {
+ set testname "PR ld/12365"
+- set exec_output [run_host_cmd "$CC" "-O2 -flto -flto-partition=none -fuse-linker-plugin tmpdir/pr12365a.o tmpdir/pr12365b.o tmpdir/pr12365c.o"]
++ set exec_output [run_host_cmd "$CC" "-O2 -flto -flto-partition=none -fuse-linker-plugin -o tmpdir/pr12365 tmpdir/pr12365a.o tmpdir/pr12365b.o tmpdir/pr12365c.o"]
+ if { [ regexp "undefined reference to `my_bcopy'" $exec_output ] } {
++ # Linker should catch the reference to undefined `my_bcopy'
++ # error caused by a GCC bug.
+ pass $testname
++ } elseif { [ string match "" $exec_output ] } {
++ global READELF
++ set exec_output [run_host_cmd "$READELF" "-s -W tmpdir/pr12365"]
++ if { [ regexp "my_bcopy" $exec_output ] } {
++ # Verify that there is no `my_bcopy' symbol in executable.
++ fail $testname
++ } {
++ pass $testname
++ }
+ } {
+ fail $testname
+ }
+diff --git a/ld/testsuite/ld-x86-64/call1a.d b/ld/testsuite/ld-x86-64/call1a.d
+index 2a63b1c..2b131ee 100644
+--- a/ld/testsuite/ld-x86-64/call1a.d
++++ b/ld/testsuite/ld-x86-64/call1a.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1b.d b/ld/testsuite/ld-x86-64/call1b.d
+index e782fa2..e2fef07 100644
+--- a/ld/testsuite/ld-x86-64/call1b.d
++++ b/ld/testsuite/ld-x86-64/call1b.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64 -z call-nop=prefix-addr
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1c.d b/ld/testsuite/ld-x86-64/call1c.d
+index d058fc7..7fe8056 100644
+--- a/ld/testsuite/ld-x86-64/call1c.d
++++ b/ld/testsuite/ld-x86-64/call1c.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64 -z call-nop=prefix-nop
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1d.d b/ld/testsuite/ld-x86-64/call1d.d
+index 8871cc6..c93756b 100644
+--- a/ld/testsuite/ld-x86-64/call1d.d
++++ b/ld/testsuite/ld-x86-64/call1d.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64 -z call-nop=suffix-nop
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1e.d b/ld/testsuite/ld-x86-64/call1e.d
+index 7127f1a..c7c467c 100644
+--- a/ld/testsuite/ld-x86-64/call1e.d
++++ b/ld/testsuite/ld-x86-64/call1e.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64 -z call-nop=prefix-0x67
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1f.d b/ld/testsuite/ld-x86-64/call1f.d
+index 587bade..d0c3f11 100644
+--- a/ld/testsuite/ld-x86-64/call1f.d
++++ b/ld/testsuite/ld-x86-64/call1f.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64 -z call-nop=prefix-0x90
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1g.d b/ld/testsuite/ld-x86-64/call1g.d
+index 3bb512e..6a8d790 100644
+--- a/ld/testsuite/ld-x86-64/call1g.d
++++ b/ld/testsuite/ld-x86-64/call1g.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64 -z call-nop=suffix-0x90
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1h.d b/ld/testsuite/ld-x86-64/call1h.d
+index c7c8dde..f8e1d07 100644
+--- a/ld/testsuite/ld-x86-64/call1h.d
++++ b/ld/testsuite/ld-x86-64/call1h.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64 -z call-nop=suffix-144
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/call1i.d b/ld/testsuite/ld-x86-64/call1i.d
+index b3684ad..d5a157b 100644
+--- a/ld/testsuite/ld-x86-64/call1i.d
++++ b/ld/testsuite/ld-x86-64/call1i.d
+@@ -1,5 +1,5 @@
+ #source: call1.s
+-#as: --x32
++#as: --x32 -mrelax-relocations=yes
+ #ld: -melf32_x86_64 -z call-nop=suffix-0x90
+ #objdump: -dw
+
+diff --git a/ld/testsuite/ld-x86-64/load1a.d b/ld/testsuite/ld-x86-64/load1a.d
+index 5c9349e..0eb4880 100644
+--- a/ld/testsuite/ld-x86-64/load1a.d
++++ b/ld/testsuite/ld-x86-64/load1a.d
+@@ -1,5 +1,5 @@
+ #source: load1.s
+-#as: --64
++#as: --64 -mrelax-relocations=yes
+ #ld: -melf_x86_64
+ #objdump: -dw --sym
+ #notarget: x86_64-*-nacl*
+diff --git a/ld/testsuite/ld-x86-64/load1b.d b/ld/testsuite/ld-x86-64/load1b.d
+index 70ef274..8827f38 100644
+--- a/ld/testsuite/ld-x86-64/load1b.d
++++ b/ld/testsuite/ld-x86-64/load1b.d
+@@ -1,5 +1,5 @@
+ #source: load1.s
+-#as: --x32
++#as: --x32 -mrelax-relocations=yes
+ #ld: -melf32_x86_64
+ #objdump: -dw --sym
+ #notarget: x86_64-*-nacl*
+diff --git a/ld/testsuite/ld-x86-64/pr18591.d b/ld/testsuite/ld-x86-64/pr18591.d
+new file mode 100644
+index 0000000..9f60622
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr18591.d
+@@ -0,0 +1,12 @@
++#as: --64
++#ld: -melf_x86_64 -shared -z max-page-size=0x200000
++#objdump: -dw
++
++.*: +file format .*
++
++
++Disassembly of section .text:
++
++[a-f0-9]+ <bar>:
++[ ]*[a-f0-9]+: 48 8b 05 ([0-9a-f]{2} ){4} mov 0x[a-f0-9]+\(%rip\),%rax # [a-f0-9]+ <_DYNAMIC\+0x[a-f0-9]+>
++#pass
+diff --git a/ld/testsuite/ld-x86-64/pr18591.s b/ld/testsuite/ld-x86-64/pr18591.s
+new file mode 100644
+index 0000000..d726f08
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr18591.s
+@@ -0,0 +1,8 @@
++ .hidden foo
++ .comm pad,0x80000000,8
++ .comm foo,8,8
++ .text
++ .globl bar
++ .type bar, @function
++bar:
++ movq foo@GOTPCREL(%rip), %rax
+diff --git a/ld/testsuite/ld-x86-64/pr19615.d b/ld/testsuite/ld-x86-64/pr19615.d
+new file mode 100644
+index 0000000..f09bcf3
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr19615.d
+@@ -0,0 +1,13 @@
++#as: --64
++#ld: -pie -Bsymbolic -E -melf_x86_64
++#readelf: -r --wide --dyn-syms
++
++Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
++ Offset Info Type Symbol's Value Symbol's Name \+ Addend
++[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9]+
++
++Symbol table '.dynsym' contains [0-9]+ entries:
++ Num: Value Size Type Bind Vis Ndx Name
++#...
++[ ]*[a-f0-9]+: [a-f0-9]+ 0 FUNC GLOBAL DEFAULT [a-f0-9]+ xyzzy
++#...
+diff --git a/ld/testsuite/ld-x86-64/pr19615.s b/ld/testsuite/ld-x86-64/pr19615.s
+new file mode 100644
+index 0000000..1d85926
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr19615.s
+@@ -0,0 +1,13 @@
++ .text
++ .globl _start
++ .type _start, @function
++_start:
++ ret
++
++ .globl xyzzy /* This symbol should be exported */
++ .type xyzzy, @function
++xyzzy:
++ ret
++
++ .section ".xyzzy_ptr","aw",%progbits
++ .dc.a xyzzy
+diff --git a/ld/testsuite/ld-x86-64/pr19827.rd b/ld/testsuite/ld-x86-64/pr19827.rd
+new file mode 100644
+index 0000000..67eaacc
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr19827.rd
+@@ -0,0 +1,5 @@
++#readelf: -r --wide
++
++Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
++ Offset Info Type Symbol's Value Symbol's Name \+ Addend
++[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
+diff --git a/ld/testsuite/ld-x86-64/pr19827a.S b/ld/testsuite/ld-x86-64/pr19827a.S
+new file mode 100644
+index 0000000..cdf1d4b
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr19827a.S
+@@ -0,0 +1,8 @@
++ .text
++ .global _start
++_start:
++ .dc.a foo
++ .data
++ .globl foo
++foo:
++ .byte 0
+diff --git a/ld/testsuite/ld-x86-64/pr19827b.S b/ld/testsuite/ld-x86-64/pr19827b.S
+new file mode 100644
+index 0000000..bb46e1d
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr19827b.S
+@@ -0,0 +1,2 @@
++ .data
++ .dc.a foo
+diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
+index 45b7f09..378c13f 100644
+--- a/ld/testsuite/ld-x86-64/x86-64.exp
++++ b/ld/testsuite/ld-x86-64/x86-64.exp
+@@ -148,6 +148,14 @@ set x86_64tests {
+ "--64" {pr17709a.s} {} "libpr17709.so"}
+ {"PR ld/17709 (2)" "-melf_x86_64 tmpdir/libpr17709.so" ""
+ "--64" {pr17709b.s} {{readelf -rW pr17709.rd}} "pr17709"}
++ {"Build pr19827a.o" "" ""
++ "--64" { pr19827a.S }}
++ {"Build pr19827b.so" "-melf_x86_64 -shared" ""
++ "--64" { pr19827b.S } {} "pr19827b.so"}
++ {"Build pr19827" "-melf_x86_64 -pie tmpdir/pr19827a.o tmpdir/pr19827b.so" ""
++ "--64" { dummy.s } {{readelf {-rW} pr19827.rd}} "pr19827"}
++ {"Build pr19827.so" "-melf_x86_64 -shared -Bsymbolic" ""
++ "--64" { pr19827a.S } {{readelf {-rW} pr19827.rd}} "pr19827.so"}
+ }
+
+ # So as to avoid rewriting every last test case here in a nacl variant,
+@@ -353,6 +361,8 @@ run_dump_test "pr19013-x32"
+ run_dump_test "pr19013-nacl"
+ run_dump_test "pr19162"
+ run_dump_test "pr19175"
++run_dump_test "pr18591"
++run_dump_test "pr19615"
+
+ # Add $PLT_CFLAGS if PLT is expected.
+ global PLT_CFLAGS
+@@ -391,7 +401,7 @@ if { [isnative] && [which $CC] != 0 } {
+ [list \
+ "Build libplt-main1.a" \
+ "" \
+- "-fPIC" \
++ "-fPIC -Wa,-mrelax-relocations=yes" \
+ { plt-main1.c } \
+ {{readelf {-Wr} plt-main1.rd}} \
+ "libplt-main1.a" \
+@@ -399,7 +409,7 @@ if { [isnative] && [which $CC] != 0 } {
+ [list \
+ "Build libplt-main2.a" \
+ "" \
+- "-fPIC" \
++ "-fPIC -Wa,-mrelax-relocations=yes" \
+ { plt-main2.c } \
+ {{readelf {-Wr} plt-main2.rd}} \
+ "libplt-main2.a" \
+@@ -407,7 +417,7 @@ if { [isnative] && [which $CC] != 0 } {
+ [list \
+ "Build libplt-main3.a" \
+ "" \
+- "-fPIC $PLT_CFLAGS" \
++ "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ { plt-main3.c } \
+ {{readelf {-Wr} plt-main3.rd}} \
+ "libplt-main3.a" \
+@@ -415,7 +425,7 @@ if { [isnative] && [which $CC] != 0 } {
+ [list \
+ "Build libplt-main4.a" \
+ "" \
+- "-fPIC $PLT_CFLAGS" \
++ "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ { plt-main4.c } \
+ {{readelf {-Wr} plt-main4.rd}} \
+ "libplt-main4.a" \
+@@ -545,7 +555,7 @@ if { [isnative] && [which $CC] != 0 } {
+ [list \
+ "Build gotpcrel1" \
+ "tmpdir/gotpcrel1d.so" \
+- "" \
++ "-Wa,-mrelax-relocations=yes" \
+ { gotpcrel1a.S gotpcrel1b.c gotpcrel1c.c } \
+ {{objdump {-dw} gotpcrel1.dd}} \
+ "gotpcrel1" \
+diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
+index 726335d..e7f539a 100644
+--- a/opcodes/ChangeLog
++++ b/opcodes/ChangeLog
+@@ -1,3 +1,24 @@
++2016-02-26 Alan Modra <amodra@gmail.com>
++
++ Apply from master.
++ 2015-12-12 Alan Modra <amodra@gmail.com>
++ PR 19359
++ * ppc-opc.c (insert_fxm): Remove "ignored" from error message.
++ (powerpc_opcodes): Remove single-operand mfcr.
++
++2016-02-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from master
++ 2016-02-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ * i386-dis.c (print_insn): Parenthesize expression to prevent
++ truncated addresses.
++ (OP_J): Likewise.
++
++2016-01-25 Tristan Gingold <gingold@adacore.com>
++
++ * configure: Regenerate.
++
+ 2016-01-25 Tristan Gingold <gingold@adacore.com>
+
+ * configure: Regenerate.
+@@ -810,7 +831,7 @@
+
+ 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+- * opcodes/i386-opc.tbl (call): Remove Disp16|Disp32 from 64-bit
++ * i386-opc.tbl (call): Remove Disp16|Disp32 from 64-bit
+ direct branch.
+ (jmp): Likewise.
+ * i386-tbl.h: Regenerated.
+diff --git a/opcodes/configure b/opcodes/configure
+index 3be129b..eedb184 100755
+--- a/opcodes/configure
++++ b/opcodes/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.64 for opcodes 2.26.
++# Generated by GNU Autoconf 2.64 for opcodes 2.26.0.
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+ # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
+@@ -556,8 +556,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='opcodes'
+ PACKAGE_TARNAME='opcodes'
+-PACKAGE_VERSION='2.26'
+-PACKAGE_STRING='opcodes 2.26'
++PACKAGE_VERSION='2.26.0'
++PACKAGE_STRING='opcodes 2.26.0'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1319,7 +1319,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.26 to adapt to many kinds of systems.
++\`configure' configures opcodes 2.26.0 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1390,7 +1390,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of opcodes 2.26:";;
++ short | recursive ) echo "Configuration of opcodes 2.26.0:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1497,7 +1497,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-opcodes configure 2.26
++opcodes configure 2.26.0
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -1907,7 +1907,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.26, which was
++It was created by opcodes $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3715,7 +3715,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='opcodes'
+- VERSION='2.26'
++ VERSION='2.26.0'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -13223,7 +13223,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by opcodes $as_me 2.26, which was
++This file was extended by opcodes $as_me 2.26.0, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -13287,7 +13287,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-opcodes config.status 2.26
++opcodes config.status 2.26.0
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
+index 1b4c51a..3712b59 100644
+--- a/opcodes/i386-dis.c
++++ b/opcodes/i386-dis.c
+@@ -13644,7 +13644,7 @@ print_insn (bfd_vma pc, disassemble_info *info)
+ if (op_index[i] != -1 && op_riprel[i])
+ {
+ (*info->fprintf_func) (info->stream, " # ");
+- (*info->print_address_func) ((bfd_vma) (start_pc + codep - start_codep
++ (*info->print_address_func) ((bfd_vma) (start_pc + (codep - start_codep)
+ + op_address[op_index[i]]), info);
+ break;
+ }
+@@ -16158,7 +16158,7 @@ OP_J (int bytemode, int sizeflag)
+ the displacement is added! */
+ mask = 0xffff;
+ if ((prefixes & PREFIX_DATA) == 0)
+- segment = ((start_pc + codep - start_codep)
++ segment = ((start_pc + (codep - start_codep))
+ & ~((bfd_vma) 0xffff));
+ }
+ if (address_mode != mode_64bit
+diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
+index e8c92f6..9b25b60 100644
+--- a/opcodes/ppc-opc.c
++++ b/opcodes/ppc-opc.c
+@@ -1434,7 +1434,7 @@ insert_fxm (unsigned long insn,
+ /* A value of -1 means we used the one operand form of
+ mfcr which is valid. */
+ if (value != -1)
+- *errmsg = _("ignoring invalid mfcr mask");
++ *errmsg = _("invalid mfcr mask");
+ value = 0;
+ }
+
+@@ -4742,8 +4742,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+ {"tlbilxva", XTO(31,18,3), XTO_MASK, E500MC|PPCA2, PPCNONE, {RA0, RB}},
+ {"tlbilx", X(31,18), X_MASK, E500MC|PPCA2, PPCNONE, {T, RA0, RB}},
+
+-{"mfcr", XFXM(31,19,0,0), XFXFXM_MASK, POWER4, PPCNONE, {RT, FXM4}},
+-{"mfcr", XFXM(31,19,0,0), XRARB_MASK, COM|PPCVLE, POWER4, {RT}},
++{"mfcr", XFXM(31,19,0,0), XFXFXM_MASK, COM|PPCVLE, PPCNONE, {RT, FXM4}},
+ {"mfocrf", XFXM(31,19,0,1), XFXFXM_MASK, COM|PPCVLE, PPCNONE, {RT, FXM}},
+
+ {"lwarx", X(31,20), XEH_MASK, PPC|PPCVLE, PPCNONE, {RT, RA0, RB, EH}},
diff --git a/debian/patches/branch-version.diff b/debian/patches/branch-version.diff
new file mode 100644
index 0000000..c2d6dce
--- /dev/null
+++ b/debian/patches/branch-version.diff
@@ -0,0 +1,523 @@
+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.26.0.
++# Generated by GNU Autoconf 2.64 for bfd 2.26.
+ #
+ # 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.26.0'
+-PACKAGE_STRING='bfd 2.26.0'
++PACKAGE_VERSION='2.26'
++PACKAGE_STRING='bfd 2.26'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1351,7 +1351,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.26.0 to adapt to many kinds of systems.
++\`configure' configures bfd 2.26 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1422,7 +1422,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of bfd 2.26.0:";;
++ short | recursive ) echo "Configuration of bfd 2.26:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1543,7 +1543,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-bfd configure 2.26.0
++bfd configure 2.26
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -2185,7 +2185,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.26.0, which was
++It was created by bfd $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3993,7 +3993,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='bfd'
+- VERSION='2.26.0'
++ VERSION='2.26'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -16533,7 +16533,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.26.0, which was
++This file was extended by bfd $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -16597,7 +16597,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-bfd config.status 2.26.0
++bfd config.status 2.26
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Index: b/bfd/version.m4
+===================================================================
+--- a/bfd/version.m4
++++ b/bfd/version.m4
+@@ -1 +1 @@
+-m4_define([BFD_VERSION], [2.26.0])
++m4_define([BFD_VERSION], [2.26])
+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.26.0.
++# Generated by GNU Autoconf 2.64 for binutils 2.26.
+ #
+ # 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.26.0'
+-PACKAGE_STRING='binutils 2.26.0'
++PACKAGE_VERSION='2.26'
++PACKAGE_STRING='binutils 2.26'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1335,7 +1335,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.26.0 to adapt to many kinds of systems.
++\`configure' configures binutils 2.26 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1406,7 +1406,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of binutils 2.26.0:";;
++ short | recursive ) echo "Configuration of binutils 2.26:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1527,7 +1527,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-binutils configure 2.26.0
++binutils configure 2.26
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -2169,7 +2169,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.26.0, which was
++It was created by binutils $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3977,7 +3977,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='binutils'
+- VERSION='2.26.0'
++ VERSION='2.26'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -15142,7 +15142,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.26.0, which was
++This file was extended by binutils $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -15206,7 +15206,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-binutils config.status 2.26.0
++binutils config.status 2.26
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+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.26.0.
++# Generated by GNU Autoconf 2.64 for gas 2.26.
+ #
+ # 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.26.0'
+-PACKAGE_STRING='gas 2.26.0'
++PACKAGE_VERSION='2.26'
++PACKAGE_STRING='gas 2.26'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1323,7 +1323,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.26.0 to adapt to many kinds of systems.
++\`configure' configures gas 2.26 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1394,7 +1394,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of gas 2.26.0:";;
++ short | recursive ) echo "Configuration of gas 2.26:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1510,7 +1510,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-gas configure 2.26.0
++gas configure 2.26
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -1920,7 +1920,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.26.0, which was
++It was created by gas $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3728,7 +3728,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='gas'
+- VERSION='2.26.0'
++ VERSION='2.26'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -15029,7 +15029,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.26.0, which was
++This file was extended by gas $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -15093,7 +15093,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-gas config.status 2.26.0
++gas config.status 2.26
+ 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.26.0.
++# Generated by GNU Autoconf 2.64 for gprof 2.26.
+ #
+ # 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.26.0'
+-PACKAGE_STRING='gprof 2.26.0'
++PACKAGE_VERSION='2.26'
++PACKAGE_STRING='gprof 2.26'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1299,7 +1299,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.26.0 to adapt to many kinds of systems.
++\`configure' configures gprof 2.26 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1370,7 +1370,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of gprof 2.26.0:";;
++ short | recursive ) echo "Configuration of gprof 2.26:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1476,7 +1476,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-gprof configure 2.26.0
++gprof configure 2.26
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -1841,7 +1841,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.26.0, which was
++It was created by gprof $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3649,7 +3649,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='gprof'
+- VERSION='2.26.0'
++ VERSION='2.26'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -12706,7 +12706,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.26.0, which was
++This file was extended by gprof $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -12770,7 +12770,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-gprof config.status 2.26.0
++gprof config.status 2.26
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+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.26.0.
++# Generated by GNU Autoconf 2.64 for ld 2.26.
+ #
+ # 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.26.0'
+-PACKAGE_STRING='ld 2.26.0'
++PACKAGE_VERSION='2.26'
++PACKAGE_STRING='ld 2.26'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1350,7 +1350,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.26.0 to adapt to many kinds of systems.
++\`configure' configures ld 2.26 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1421,7 +1421,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of ld 2.26.0:";;
++ short | recursive ) echo "Configuration of ld 2.26:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1545,7 +1545,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-ld configure 2.26.0
++ld configure 2.26
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -2254,7 +2254,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.26.0, which was
++It was created by ld $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -4063,7 +4063,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='ld'
+- VERSION='2.26.0'
++ VERSION='2.26'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -17740,7 +17740,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.26.0, which was
++This file was extended by ld $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -17804,7 +17804,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-ld config.status 2.26.0
++ld config.status 2.26
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+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.26.0.
++# Generated by GNU Autoconf 2.64 for opcodes 2.26.
+ #
+ # 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.26.0'
+-PACKAGE_STRING='opcodes 2.26.0'
++PACKAGE_VERSION='2.26'
++PACKAGE_STRING='opcodes 2.26'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1319,7 +1319,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.26.0 to adapt to many kinds of systems.
++\`configure' configures opcodes 2.26 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1390,7 +1390,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of opcodes 2.26.0:";;
++ short | recursive ) echo "Configuration of opcodes 2.26:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1497,7 +1497,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-opcodes configure 2.26.0
++opcodes configure 2.26
+ generated by GNU Autoconf 2.64
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+@@ -1907,7 +1907,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.26.0, which was
++It was created by opcodes $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ $ $0 $@
+@@ -3715,7 +3715,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='opcodes'
+- VERSION='2.26.0'
++ VERSION='2.26'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -13223,7 +13223,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.26.0, which was
++This file was extended by opcodes $as_me 2.26, which was
+ generated by GNU Autoconf 2.64. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -13287,7 +13287,7 @@ Report bugs to the package provider."
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_version="\\
+-opcodes config.status 2.26.0
++opcodes config.status 2.26
+ configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
diff --git a/debian/patches/gprof-build.diff b/debian/patches/gprof-build.diff
new file mode 100644
index 0000000..d26c5af
--- /dev/null
+++ b/debian/patches/gprof-build.diff
@@ -0,0 +1,16 @@
+# DP: Fix gprof build error.
+
+Index: b/gprof/gconfig.in
+===================================================================
+--- a/gprof/gconfig.in
++++ b/gprof/gconfig.in
+@@ -96,9 +96,6 @@
+ #endif
+
+
+-/* Version number of package */
+-#undef VERSION
+-
+ /* Number of bits in a file offset, on hosts where this is settable. */
+ #undef _FILE_OFFSET_BITS
+
diff --git a/debian/patches/mips64-default-n64.diff b/debian/patches/mips64-default-n64.diff
new file mode 100644
index 0000000..f114ca7
--- /dev/null
+++ b/debian/patches/mips64-default-n64.diff
@@ -0,0 +1,66 @@
+Index: b/bfd/config.bfd
+===================================================================
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -1086,6 +1086,16 @@ 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*-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
++ ;;
++ mips64*-*-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
++ ;;
+ mips64*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"
+Index: b/gas/configure.ac
+===================================================================
+--- a/gas/configure.ac
++++ b/gas/configure.ac
+@@ -300,6 +300,9 @@ changequote([,])dnl
+ esac
+ # Decide which ABI to target by default.
+ case ${target} in
++ mips64*-linux-gnuabi64)
++ mips_default_abi=N64_ABI
++ ;;
+ mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | mips64*-kfreebsd*-gnu)
+ mips_default_abi=N32_ABI
+ ;;
+Index: b/ld/configure.tgt
+===================================================================
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -509,6 +509,12 @@ mips*el-*-vxworks*) targ_emul=elf32elmip
+ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
+ targ_extra_emuls="elf32elmipvxworks" ;;
+ mips*-*-windiss) targ_emul=elf32mipswindiss ;;
++mips64*el-*-linux-gnuabi64) targ_emul=elf64ltsmip
++ targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf32ltsmipn32 elf64btsmip"
++ targ_extra_libpath=$targ_extra_emuls ;;
++mips64*-*-linux-gnuabi64) targ_emul=elf64btsmip
++ targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf32btsmipn32 elf64ltsmip"
++ targ_extra_libpath=$targ_extra_emuls ;;
+ mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+ targ_extra_libpath=$targ_extra_emuls ;;
+Index: b/gas/configure
+===================================================================
+--- a/gas/configure
++++ b/gas/configure
+@@ -12215,6 +12215,9 @@ _ACEOF
+ esac
+ # Decide which ABI to target by default.
+ case ${target} in
++ mips64*-linux-gnuabi64)
++ mips_default_abi=N64_ABI
++ ;;
+ mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | mips64*-kfreebsd*-gnu)
+ mips_default_abi=N32_ABI
+ ;;
diff --git a/debian/patches/pr-ld-16428.diff b/debian/patches/pr-ld-16428.diff
new file mode 100644
index 0000000..85f21dd
--- /dev/null
+++ b/debian/patches/pr-ld-16428.diff
@@ -0,0 +1,158 @@
+# DP: Proposed patch for PR ld/16428, disallow -shared/-pie, -shared/-static, -pie/-static.
+
+2014-01-10 H.J. Lu <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
diff --git a/debian/patches/release-build.diff b/debian/patches/release-build.diff
new file mode 100644
index 0000000..9eba2f0
--- /dev/null
+++ b/debian/patches/release-build.diff
@@ -0,0 +1,10 @@
+Index: b/bfd/development.sh
+===================================================================
+--- a/bfd/development.sh
++++ b/bfd/development.sh
+@@ -16,4 +16,4 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ # Controls whether to enable development-mode features by default.
+-development=true
++development=false
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..32e1b3f
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,29 @@
+branch-updates.diff
+branch-version.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
+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
+
+# patches taken from the trunk
+zlib-1.2.8.diff
+release-build.diff
diff --git a/debian/patches/zlib-1.2.8.diff b/debian/patches/zlib-1.2.8.diff
new file mode 100644
index 0000000..ec4ff91
--- /dev/null
+++ b/debian/patches/zlib-1.2.8.diff
@@ -0,0 +1,6777 @@
+diff --git a/zlib/CMakeLists.txt b/zlib/CMakeLists.txt
+index 7ee3bc4..0c0247c 100644
+--- a/zlib/CMakeLists.txt
++++ b/zlib/CMakeLists.txt
+@@ -3,7 +3,10 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
+
+ project(zlib C)
+
+-set(VERSION "1.2.7")
++set(VERSION "1.2.8")
++
++option(ASM686 "Enable building i686 assembly implementation")
++option(AMD64 "Enable building amd64 assembly implementation")
+
+ set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
+ set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
+@@ -121,11 +124,44 @@ set(ZLIB_SRCS
+ )
+
+ if(NOT MINGW)
+- set(ZLIB_SRCS ${ZLIB_SRCS}
++ set(ZLIB_DLL_SRCS
+ win32/zlib1.rc # If present will override custom build rule below.
+ )
+ endif()
+
++if(CMAKE_COMPILER_IS_GNUCC)
++ if(ASM686)
++ set(ZLIB_ASMS contrib/asm686/match.S)
++ elseif (AMD64)
++ set(ZLIB_ASMS contrib/amd64/amd64-match.S)
++ endif ()
++
++ if(ZLIB_ASMS)
++ add_definitions(-DASMV)
++ set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
++ endif()
++endif()
++
++if(MSVC)
++ if(ASM686)
++ ENABLE_LANGUAGE(ASM_MASM)
++ set(ZLIB_ASMS
++ contrib/masmx86/inffas32.asm
++ contrib/masmx86/match686.asm
++ )
++ elseif (AMD64)
++ ENABLE_LANGUAGE(ASM_MASM)
++ set(ZLIB_ASMS
++ contrib/masmx64/gvmat64.asm
++ contrib/masmx64/inffasx64.asm
++ )
++ endif()
++
++ if(ZLIB_ASMS)
++ add_definitions(-DASMV -DASMINF)
++ endif()
++endif()
++
+ # parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
+ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
+ string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
+@@ -134,7 +170,7 @@ string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
+ if(MINGW)
+ # This gets us DLL resource information when compiling on MinGW.
+ if(NOT CMAKE_RC_COMPILER)
+- SET(CMAKE_RC_COMPILER windres.exe)
++ set(CMAKE_RC_COMPILER windres.exe)
+ endif()
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
+@@ -144,11 +180,11 @@ if(MINGW)
+ -I ${CMAKE_CURRENT_BINARY_DIR}
+ -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
+ -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
+- set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
++ set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
+ endif(MINGW)
+
+-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
++add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
++add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+ set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
+ set_target_properties(zlib PROPERTIES SOVERSION 1)
+
+@@ -166,7 +202,9 @@ endif()
+ if(UNIX)
+ # On unix-like platforms the library is almost always called libz
+ set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
+- set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/zlib.map")
++ if(NOT APPLE)
++ set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
++ endif()
+ elseif(BUILD_SHARED_LIBS AND WIN32)
+ # Creates zlib1.dll when building shared library version
+ set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
+diff --git a/zlib/ChangeLog b/zlib/ChangeLog
+index 3db202f..47cb65d 100644
+--- a/zlib/ChangeLog
++++ b/zlib/ChangeLog
+@@ -1,5 +1,68 @@
+
+- ChangeLog file for zlib
++ ChangeLog file for zlib
++
++Changes in 1.2.8 (28 Apr 2013)
++- Update contrib/minizip/iowin32.c for Windows RT [Vollant]
++- Do not force Z_CONST for C++
++- Clean up contrib/vstudio [Ro§]
++- Correct spelling error in zlib.h
++- Fix mixed line endings in contrib/vstudio
++
++Changes in 1.2.7.3 (13 Apr 2013)
++- Fix version numbers and DLL names in contrib/vstudio/*/zlib.rc
++
++Changes in 1.2.7.2 (13 Apr 2013)
++- Change check for a four-byte type back to hexadecimal
++- Fix typo in win32/Makefile.msc
++- Add casts in gzwrite.c for pointer differences
++
++Changes in 1.2.7.1 (24 Mar 2013)
++- Replace use of unsafe string functions with snprintf if available
++- Avoid including stddef.h on Windows for Z_SOLO compile [Niessink]
++- Fix gzgetc undefine when Z_PREFIX set [Turk]
++- Eliminate use of mktemp in Makefile (not always available)
++- Fix bug in 'F' mode for gzopen()
++- Add inflateGetDictionary() function
++- Correct comment in deflate.h
++- Use _snprintf for snprintf in Microsoft C
++- On Darwin, only use /usr/bin/libtool if libtool is not Apple
++- Delete "--version" file if created by "ar --version" [Richard G.]
++- Fix configure check for veracity of compiler error return codes
++- Fix CMake compilation of static lib for MSVC2010 x64
++- Remove unused variable in infback9.c
++- Fix argument checks in gzlog_compress() and gzlog_write()
++- Clean up the usage of z_const and respect const usage within zlib
++- Clean up examples/gzlog.[ch] comparisons of different types
++- Avoid shift equal to bits in type (caused endless loop)
++- Fix unintialized value bug in gzputc() introduced by const patches
++- Fix memory allocation error in examples/zran.c [Nor]
++- Fix bug where gzopen(), gzclose() would write an empty file
++- Fix bug in gzclose() when gzwrite() runs out of memory
++- Check for input buffer malloc failure in examples/gzappend.c
++- Add note to contrib/blast to use binary mode in stdio
++- Fix comparisons of differently signed integers in contrib/blast
++- Check for invalid code length codes in contrib/puff
++- Fix serious but very rare decompression bug in inftrees.c
++- Update inflateBack() comments, since inflate() can be faster
++- Use underscored I/O function names for WINAPI_FAMILY
++- Add _tr_flush_bits to the external symbols prefixed by --zprefix
++- Add contrib/vstudio/vc10 pre-build step for static only
++- Quote --version-script argument in CMakeLists.txt
++- Don't specify --version-script on Apple platforms in CMakeLists.txt
++- Fix casting error in contrib/testzlib/testzlib.c
++- Fix types in contrib/minizip to match result of get_crc_table()
++- Simplify contrib/vstudio/vc10 with 'd' suffix
++- Add TOP support to win32/Makefile.msc
++- Suport i686 and amd64 assembler builds in CMakeLists.txt
++- Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h
++- Add vc11 and vc12 build files to contrib/vstudio
++- Add gzvprintf() as an undocumented function in zlib
++- Fix configure for Sun shell
++- Remove runtime check in configure for four-byte integer type
++- Add casts and consts to ease user conversion to C++
++- Add man pages for minizip and miniunzip
++- In Makefile uninstall, don't rm if preceding cd fails
++- Do not return Z_BUF_ERROR if deflateParam() has nothing to write
+
+ Changes in 1.2.7 (2 May 2012)
+ - Replace use of memmove() with a simple copy for portability
+@@ -1112,15 +1175,15 @@ Changes in 1.0.6 (19 Jan 1998)
+ - added Makefile.nt (thanks to Stephen Williams)
+ - added the unsupported "contrib" directory:
+ contrib/asm386/ by Gilles Vollant <info@winimage.com>
+- 386 asm code replacing longest_match().
++ 386 asm code replacing longest_match().
+ contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
+- A C++ I/O streams interface to the zlib gz* functions
++ A C++ I/O streams interface to the zlib gz* functions
+ contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
+- Another C++ I/O streams interface
++ Another C++ I/O streams interface
+ contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
+- A very simple tar.gz file extractor using zlib
++ A very simple tar.gz file extractor using zlib
+ contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl>
+- How to use compress(), uncompress() and the gz* functions from VB.
++ How to use compress(), uncompress() and the gz* functions from VB.
+ - pass params -f (filtered data), -h (huffman only), -1 to -9 (compression
+ level) in minigzip (thanks to Tom Lane)
+
+diff --git a/zlib/ChangeLog.gcj b/zlib/ChangeLog.gcj
+index 736be14..252f229 100644
+--- a/zlib/ChangeLog.gcj
++++ b/zlib/ChangeLog.gcj
+@@ -1,8 +1,12 @@
+-2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
++2015-11-23 Matthias Klose <doko@ubuntu.com>
+
+- * configure.ac (AM_ENABLE_MULTILIB): Use only if
+- ${with_target_subdir} isn't empty.
+- * configure: Regenerated.
++ * Imported zlib 1.2.8; merged local changes.
++
++2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
++
++ * Makefile.in: Regenerated with automake-1.11.6.
++ * aclocal.m4: Likewise.
++ * configure: Likewise.
+
+ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+diff --git a/zlib/Makefile.in b/zlib/Makefile.in
+index 3c8fd59..82b72a1 100644
+--- a/zlib/Makefile.in
++++ b/zlib/Makefile.in
+@@ -1,9 +1,9 @@
+-# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# Makefile.in generated by automake 1.11.6 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+-# Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++# Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -17,6 +17,23 @@
+
+
+ VPATH = @srcdir@
++am__make_dryrun = \
++ { \
++ am__dry=no; \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
++ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
++ *) \
++ for am__flg in $$MAKEFLAGS; do \
++ case $$am__flg in \
++ *=*|--*) ;; \
++ *n*) am__dry=yes; break;; \
++ esac; \
++ done;; \
++ esac; \
++ test $$am__dry = yes; \
++ }
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+@@ -77,6 +94,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
+ am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
++am__uninstall_files_from_dir = { \
++ test -z "$$files" \
++ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
++ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
++ $(am__cd) "$$dir" && rm -f $$files; }; \
++ }
+ am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
+ LIBRARIES = $(toolexeclib_LIBRARIES)
+ ARFLAGS = cru
+@@ -120,6 +143,11 @@ MULTIDIRS =
+ MULTISUBDIR =
+ MULTIDO = true
+ MULTICLEAN = true
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
+ ETAGS = etags
+ CTAGS = ctags
+ ACLOCAL = @ACLOCAL@
+@@ -303,7 +331,7 @@ all: all-am
+
+ .SUFFIXES:
+ .SUFFIXES: .c .lo .o .obj
+-am--refresh:
++am--refresh: Makefile
+ @:
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+@@ -339,7 +367,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ $(am__aclocal_m4_deps):
+ install-toolexeclibLIBRARIES: $(toolexeclib_LIBRARIES)
+ @$(NORMAL_INSTALL)
+- test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
+ @list='$(toolexeclib_LIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+@@ -347,6 +374,8 @@ install-toolexeclibLIBRARIES: $(toolexeclib_LIBRARIES)
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
++ echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \
++ $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
+ echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
+ $(INSTALL_DATA) $$list2 "$(DESTDIR)$(toolexeclibdir)" || exit $$?; }
+ @$(POST_INSTALL)
+@@ -363,13 +392,11 @@ uninstall-toolexeclibLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(toolexeclib_LIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+- test -n "$$files" || exit 0; \
+- echo " ( cd '$(DESTDIR)$(toolexeclibdir)' && rm -f "$$files" )"; \
+- cd "$(DESTDIR)$(toolexeclibdir)" && rm -f $$files
++ dir='$(DESTDIR)$(toolexeclibdir)'; $(am__uninstall_files_from_dir)
+
+ clean-toolexeclibLIBRARIES:
+ -test -z "$(toolexeclib_LIBRARIES)" || rm -f $(toolexeclib_LIBRARIES)
+-libz.a: $(libz_a_OBJECTS) $(libz_a_DEPENDENCIES)
++libz.a: $(libz_a_OBJECTS) $(libz_a_DEPENDENCIES) $(EXTRA_libz_a_DEPENDENCIES)
+ -rm -f libz.a
+ $(libz_a_AR) libz.a $(libz_a_OBJECTS) $(libz_a_LIBADD)
+ $(RANLIB) libz.a
+@@ -382,7 +409,7 @@ clean-noinstLTLIBRARIES:
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+-libzgcj_convenience.la: $(libzgcj_convenience_la_OBJECTS) $(libzgcj_convenience_la_DEPENDENCIES)
++libzgcj_convenience.la: $(libzgcj_convenience_la_OBJECTS) $(libzgcj_convenience_la_DEPENDENCIES) $(EXTRA_libzgcj_convenience_la_DEPENDENCIES)
+ $(LINK) $(am_libzgcj_convenience_la_rpath) $(libzgcj_convenience_la_OBJECTS) $(libzgcj_convenience_la_LIBADD) $(LIBS)
+
+ mostlyclean-compile:
+@@ -584,10 +611,15 @@ install-am: all-am
+
+ installcheck: installcheck-am
+ install-strip:
+- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+- `test -z '$(STRIP)' || \
+- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
+ mostlyclean-generic:
+
+ clean-generic:
+diff --git a/zlib/README b/zlib/README
+index 7e50f19..9e98215 100644
+--- a/zlib/README
++++ b/zlib/README
+@@ -3,7 +3,7 @@ shipped with GCC as convenience.
+
+ ZLIB DATA COMPRESSION LIBRARY
+
+-zlib 1.2.7 is a general purpose data compression library. All the code is
++zlib 1.2.8 is a general purpose data compression library. All the code is
+ thread safe. The data format used by the zlib library is described by RFCs
+ (Request for Comments) 1950 to 1952 in the files
+ http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
+@@ -34,7 +34,7 @@ Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
+ issue of Dr. Dobb's Journal; a copy of the article is available at
+ http://marknelson.us/1997/01/01/zlib-engine/ .
+
+-The changes made in version 1.2.7 are documented in the file ChangeLog.
++The changes made in version 1.2.8 are documented in the file ChangeLog.
+
+ Unsupported third party contributions are provided in directory contrib/ .
+
+@@ -87,7 +87,7 @@ Acknowledgments:
+
+ Copyright notice:
+
+- (C) 1995-2012 Jean-loup Gailly and Mark Adler
++ (C) 1995-2013 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+diff --git a/zlib/aclocal.m4 b/zlib/aclocal.m4
+index b79c935..fab04ed 100644
+--- a/zlib/aclocal.m4
++++ b/zlib/aclocal.m4
+@@ -1,7 +1,8 @@
+-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
++# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
++# Inc.
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -19,12 +20,15 @@ You have another version of autoconf. It may work, but is not guaranteed to.
+ If you have problems, you may need to regenerate the build system entirely.
+ To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
++# Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
++# serial 1
++
+ # AM_AUTOMAKE_VERSION(VERSION)
+ # ----------------------------
+ # Automake X.Y traces this macro to ensure aclocal.m4 has been
+@@ -34,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.11'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.11.1], [],
++m4_if([$1], [1.11.6], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -50,19 +54,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.11.1])dnl
++[AM_AUTOMAKE_VERSION([1.11.6])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+ # AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
++# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
++# serial 1
++
+ # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+ # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+ # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+@@ -144,14 +150,14 @@ AC_CONFIG_COMMANDS_PRE(
+ Usually this means the macro was only invoked conditionally.]])
+ fi])])
+
+-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+-# Free Software Foundation, Inc.
++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
++# 2010, 2011 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
+-# serial 10
++# serial 12
+
+ # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+ # written in clear, in which case automake, when reading aclocal.m4,
+@@ -191,6 +197,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
++ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+@@ -255,7 +262,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
+ break
+ fi
+ ;;
+- msvisualcpp | msvcmsys)
++ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+@@ -320,10 +327,13 @@ AC_DEFUN([AM_DEP_TRACK],
+ if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
++ am__nodep='_no'
+ fi
+ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+ AC_SUBST([AMDEPBACKSLASH])dnl
+ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
++AC_SUBST([am__nodep])dnl
++_AM_SUBST_NOTMAKE([am__nodep])dnl
+ ])
+
+ # Generate code to set up dependency tracking. -*- Autoconf -*-
+@@ -545,12 +555,15 @@ for _am_header in $config_headers :; do
+ done
+ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
++# Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
++# serial 1
++
+ # AM_PROG_INSTALL_SH
+ # ------------------
+ # Define $install_sh.
+@@ -569,8 +582,8 @@ AC_SUBST(install_sh)])
+ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+ # From Jim Meyering
+
+-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+-# Free Software Foundation, Inc.
++# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
++# 2011 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -590,7 +603,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
++AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+ [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+@@ -701,12 +714,15 @@ else
+ fi
+ ])
+
+-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
++# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
++# Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
++# serial 1
++
+ # AM_PROG_MKDIR_P
+ # ---------------
+ # Check for `mkdir -p'.
+@@ -729,13 +745,14 @@ esac
+
+ # Helper functions for option handling. -*- Autoconf -*-
+
+-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
++# Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
+-# serial 4
++# serial 5
+
+ # _AM_MANGLE_OPTION(NAME)
+ # -----------------------
+@@ -743,13 +760,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
+ [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+ # _AM_SET_OPTION(NAME)
+-# ------------------------------
++# --------------------
+ # Set option NAME. Presently that only means defining a flag for this option.
+ AC_DEFUN([_AM_SET_OPTION],
+ [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+ # _AM_SET_OPTIONS(OPTIONS)
+-# ----------------------------------
++# ------------------------
+ # OPTIONS is a space-separated list of Automake options.
+ AC_DEFUN([_AM_SET_OPTIONS],
+ [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+@@ -825,12 +842,14 @@ Check your system clock])
+ fi
+ AC_MSG_RESULT(yes)])
+
+-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
++# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
++# serial 1
++
+ # AM_PROG_INSTALL_STRIP
+ # ---------------------
+ # One issue with vendor `install' (even GNU) is that you can't
+@@ -853,13 +872,13 @@ fi
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
+-# serial 2
++# serial 3
+
+ # _AM_SUBST_NOTMAKE(VARIABLE)
+ # ---------------------------
+@@ -868,13 +887,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+ AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+ # AM_SUBST_NOTMAKE(VARIABLE)
+-# ---------------------------
++# --------------------------
+ # Public sister of _AM_SUBST_NOTMAKE.
+ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+ # Check how to create a tarball. -*- Autoconf -*-
+
+-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
++# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -896,10 +915,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+ # a tarball read from stdin.
+ # $(am__untar) < result.tar
+ AC_DEFUN([_AM_PROG_TAR],
+-[# Always define AMTAR for backward compatibility.
+-AM_MISSING_PROG([AMTAR], [tar])
++[# Always define AMTAR for backward compatibility. Yes, it's still used
++# in the wild :-( We should find a proper way to deprecate it ...
++AC_SUBST([AMTAR], ['$${TAR-tar}'])
+ m4_if([$1], [v7],
+- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
++ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+diff --git a/zlib/as400/bndsrc b/zlib/as400/bndsrc
+index 52cc661..98814fd 100644
+--- a/zlib/as400/bndsrc
++++ b/zlib/as400/bndsrc
+@@ -202,4 +202,14 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
+
+ EXPORT SYMBOL("inflateResetKeep")
+
++/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
++/* Version 1.2.8 additional entry points. */
++/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
++
++/********************************************************************/
++/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
++/********************************************************************/
++
++ EXPORT SYMBOL("inflateGetDictionary")
++
+ ENDPGMEXP
+diff --git a/zlib/as400/compile.clp b/zlib/as400/compile.clp
+index 8d0c58f..e3f47c6 100644
+--- a/zlib/as400/compile.clp
++++ b/zlib/as400/compile.clp
+@@ -105,6 +105,6 @@
+ &MODLIB/TREES &MODLIB/UNCOMPR +
+ &MODLIB/ZUTIL) +
+ SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
+- TEXT('ZLIB 1.2.7') TGTRLS(&TGTRLS)
++ TEXT('ZLIB 1.2.8') TGTRLS(&TGTRLS)
+
+ ENDPGM
+diff --git a/zlib/as400/readme.txt b/zlib/as400/readme.txt
+index 23cd1b8..7b5d93b 100644
+--- a/zlib/as400/readme.txt
++++ b/zlib/as400/readme.txt
+@@ -1,4 +1,4 @@
+- ZLIB version 1.2.7 for AS400 installation instructions
++ ZLIB version 1.2.8 for AS400 installation instructions
+
+ I) From an AS400 *SAVF file:
+
+diff --git a/zlib/as400/zlib.inc b/zlib/as400/zlib.inc
+index 747c598..7341a6d 100644
+--- a/zlib/as400/zlib.inc
++++ b/zlib/as400/zlib.inc
+@@ -1,7 +1,7 @@
+ * ZLIB.INC - Interface to the general purpose compression library
+ *
+ * ILE RPG400 version by Patrick Monnerat, DATASPHERE.
+- * Version 1.2.7
++ * Version 1.2.8
+ *
+ *
+ * WARNING:
+@@ -22,12 +22,12 @@
+ *
+ * Versioning information.
+ *
+- D ZLIB_VERSION C '1.2.7'
+- D ZLIB_VERNUM C X'1270'
++ D ZLIB_VERSION C '1.2.8'
++ D ZLIB_VERNUM C X'1280'
+ D ZLIB_VER_MAJOR C 1
+ D ZLIB_VER_MINOR C 2
+ D ZLIB_VER_REVISION...
+- D C 7
++ D C 8
+ D ZLIB_VER_SUBREVISION...
+ D C 0
+ *
+@@ -359,6 +359,12 @@
+ D dictionary 65535 const options(*varsize) Dictionary bytes
+ D dictLength 10U 0 value Dictionary length
+ *
++ D inflateGetDictionary...
++ D PR 10I 0 extproc('inflateGetDictionary') Get dictionary
++ D strm like(z_stream) Expansion stream
++ D dictionary 65535 options(*varsize) Dictionary bytes
++ D dictLength 10U 0 Dictionary length
++ *
+ D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
+ D strm like(z_stream) Expansion stream
+ *
+diff --git a/zlib/compress.c b/zlib/compress.c
+index 7de9766..5dfe73b 100644
+--- a/zlib/compress.c
++++ b/zlib/compress.c
+@@ -29,7 +29,7 @@ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
+ z_stream stream;
+ int err;
+
+- stream.next_in = (Bytef*)source;
++ stream.next_in = (z_const Bytef *)source;
+ stream.avail_in = (uInt)sourceLen;
+ #ifdef MAXSEG_64K
+ /* Check for source > 64K on 16-bit machine: */
+diff --git a/zlib/configure b/zlib/configure
+index 8378857..9f7b1c6 100755
+--- a/zlib/configure
++++ b/zlib/configure
+@@ -630,6 +630,7 @@ LIBTOOL
+ am__fastdepCC_FALSE
+ am__fastdepCC_TRUE
+ CCDEPMODE
++am__nodep
+ AMDEPBACKSLASH
+ AMDEP_FALSE
+ AMDEP_TRUE
+@@ -2828,11 +2829,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+ # We need awk for the "check" target. The system "awk" is bad on
+ # some platforms.
+-# Always define AMTAR for backward compatibility.
++# Always define AMTAR for backward compatibility. Yes, it's still used
++# in the wild :-( We should find a proper way to deprecate it ...
++AMTAR='$${TAR-tar}'
+
+-AMTAR=${AMTAR-"${am_missing_run}tar"}
+-
+-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
++am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+@@ -3757,6 +3758,7 @@ fi
+ if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
++ am__nodep='_no'
+ fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+@@ -3781,6 +3783,7 @@ else
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
++ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+@@ -3840,7 +3843,7 @@ else
+ break
+ fi
+ ;;
+- msvisualcpp | msvcmsys)
++ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+@@ -10405,7 +10408,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10408 "configure"
++#line 10411 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -10511,7 +10514,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10514 "configure"
++#line 10517 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+diff --git a/zlib/contrib/README.contrib b/zlib/contrib/README.contrib
+index dd2285d..c66349b 100644
+--- a/zlib/contrib/README.contrib
++++ b/zlib/contrib/README.contrib
+@@ -75,3 +75,4 @@ untgz/ by Pedro A. Aranda Gutierrez <paag@tid.es>
+
+ vstudio/ by Gilles Vollant <info@winimage.com>
+ Building a minizip-enhanced zlib with Microsoft Visual Studio
++ Includes vc11 from kreuzerkrieg and vc12 from davispuh
+diff --git a/zlib/contrib/blast/blast.c b/zlib/contrib/blast/blast.c
+index 4ce697a..69ef0fe 100644
+--- a/zlib/contrib/blast/blast.c
++++ b/zlib/contrib/blast/blast.c
+@@ -1,7 +1,7 @@
+ /* blast.c
+- * Copyright (C) 2003 Mark Adler
++ * Copyright (C) 2003, 2012 Mark Adler
+ * For conditions of distribution and use, see copyright notice in blast.h
+- * version 1.1, 16 Feb 2003
++ * version 1.2, 24 Oct 2012
+ *
+ * blast.c decompresses data compressed by the PKWare Compression Library.
+ * This function provides functionality similar to the explode() function of
+@@ -22,6 +22,8 @@
+ *
+ * 1.0 12 Feb 2003 - First version
+ * 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data
++ * 1.2 24 Oct 2012 - Add note about using binary mode in stdio
++ * - Fix comparisons of differently signed integers
+ */
+
+ #include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
+@@ -279,7 +281,7 @@ local int decomp(struct state *s)
+ int dict; /* log2(dictionary size) - 6 */
+ int symbol; /* decoded symbol, extra bits for distance */
+ int len; /* length for copy */
+- int dist; /* distance for copy */
++ unsigned dist; /* distance for copy */
+ int copy; /* copy counter */
+ unsigned char *from, *to; /* copy pointers */
+ static int virgin = 1; /* build tables once */
+diff --git a/zlib/contrib/blast/blast.h b/zlib/contrib/blast/blast.h
+index ce9e541..658cfd3 100644
+--- a/zlib/contrib/blast/blast.h
++++ b/zlib/contrib/blast/blast.h
+@@ -1,6 +1,6 @@
+ /* blast.h -- interface for blast.c
+- Copyright (C) 2003 Mark Adler
+- version 1.1, 16 Feb 2003
++ Copyright (C) 2003, 2012 Mark Adler
++ version 1.2, 24 Oct 2012
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the author be held liable for any damages
+@@ -28,6 +28,10 @@
+ * that library. (Note: PKWare overused the "implode" verb, and the format
+ * used by their library implode() function is completely different and
+ * incompatible with the implode compression method supported by PKZIP.)
++ *
++ * The binary mode for stdio functions should be used to assure that the
++ * compressed data is not corrupted when read or written. For example:
++ * fopen(..., "rb") and fopen(..., "wb").
+ */
+
+
+diff --git a/zlib/contrib/delphi/ZLib.pas b/zlib/contrib/delphi/ZLib.pas
+index f24bb3e..a579974 100644
+--- a/zlib/contrib/delphi/ZLib.pas
++++ b/zlib/contrib/delphi/ZLib.pas
+@@ -152,7 +152,7 @@ procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
+ const OutBuf: Pointer; BufSize: Integer);
+
+ const
+- zlib_version = '1.2.7';
++ zlib_version = '1.2.8';
+
+ type
+ EZlibError = class(Exception);
+diff --git a/zlib/contrib/dotzlib/DotZLib/UnitTests.cs b/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
+index 1090288..b273d54 100644
+--- a/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
++++ b/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
+@@ -1,5 +1,5 @@
+ //
+-// © Copyright Henrik Ravn 2004
++// © Copyright Henrik Ravn 2004
+ //
+ // Use, modification and distribution are subject to the Boost Software License, Version 1.0.
+ // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+@@ -156,7 +156,7 @@ namespace DotZLibTests
+ public void Info_Version()
+ {
+ Info info = new Info();
+- Assert.AreEqual("1.2.7", Info.Version);
++ Assert.AreEqual("1.2.8", Info.Version);
+ Assert.AreEqual(32, info.SizeOfUInt);
+ Assert.AreEqual(32, info.SizeOfULong);
+ Assert.AreEqual(32, info.SizeOfPointer);
+diff --git a/zlib/contrib/infback9/infback9.c b/zlib/contrib/infback9/infback9.c
+index 7bbe90c..05fb3e3 100644
+--- a/zlib/contrib/infback9/infback9.c
++++ b/zlib/contrib/infback9/infback9.c
+@@ -222,14 +222,13 @@ out_func out;
+ void FAR *out_desc;
+ {
+ struct inflate_state FAR *state;
+- unsigned char FAR *next; /* next input */
++ z_const unsigned char FAR *next; /* next input */
+ unsigned char FAR *put; /* next output */
+ unsigned have; /* available input */
+ unsigned long left; /* available output */
+ inflate_mode mode; /* current inflate mode */
+ int lastblock; /* true if processing last block */
+ int wrap; /* true if the window has wrapped */
+- unsigned long write; /* window write index */
+ unsigned char FAR *window; /* allocated sliding window, if needed */
+ unsigned long hold; /* bit buffer */
+ unsigned bits; /* bits in bit buffer */
+@@ -259,7 +258,6 @@ void FAR *out_desc;
+ strm->msg = Z_NULL;
+ mode = TYPE;
+ lastblock = 0;
+- write = 0;
+ wrap = 0;
+ window = state->window;
+ next = strm->next_in;
+diff --git a/zlib/contrib/infback9/inftree9.c b/zlib/contrib/infback9/inftree9.c
+index 5a0b328..4a73ad2 100644
+--- a/zlib/contrib/infback9/inftree9.c
++++ b/zlib/contrib/infback9/inftree9.c
+@@ -1,5 +1,5 @@
+ /* inftree9.c -- generate Huffman trees for efficient decoding
+- * Copyright (C) 1995-2012 Mark Adler
++ * Copyright (C) 1995-2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -9,7 +9,7 @@
+ #define MAXBITS 15
+
+ const char inflate9_copyright[] =
+- " inflate9 1.2.7 Copyright 1995-2012 Mark Adler ";
++ " inflate9 1.2.8 Copyright 1995-2013 Mark Adler ";
+ /*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+@@ -64,7 +64,7 @@ unsigned short FAR *work;
+ static const unsigned short lext[31] = { /* Length codes 257..285 extra */
+ 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
+ 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
+- 133, 133, 133, 133, 144, 78, 68};
++ 133, 133, 133, 133, 144, 72, 78};
+ static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
+ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
+ 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
+diff --git a/zlib/contrib/minizip/configure.ac b/zlib/contrib/minizip/configure.ac
+index 6a9af21..827a4e0 100644
+--- a/zlib/contrib/minizip/configure.ac
++++ b/zlib/contrib/minizip/configure.ac
+@@ -1,7 +1,7 @@
+ # -*- Autoconf -*-
+ # Process this file with autoconf to produce a configure script.
+
+-AC_INIT([minizip], [1.2.7], [bugzilla.redhat.com])
++AC_INIT([minizip], [1.2.8], [bugzilla.redhat.com])
+ AC_CONFIG_SRCDIR([minizip.c])
+ AM_INIT_AUTOMAKE([foreign])
+ LT_INIT
+diff --git a/zlib/contrib/minizip/crypt.h b/zlib/contrib/minizip/crypt.h
+index a01d08d..1e9e820 100644
+--- a/zlib/contrib/minizip/crypt.h
++++ b/zlib/contrib/minizip/crypt.h
+@@ -32,7 +32,7 @@
+ /***********************************************************************
+ * Return the next byte in the pseudo-random sequence
+ */
+-static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
++static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab)
+ {
+ unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an
+ * unpredictable manner on 16-bit systems; not a problem
+@@ -45,7 +45,7 @@ static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
+ /***********************************************************************
+ * Update the encryption keys with the next byte of plain text
+ */
+-static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c)
++static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int c)
+ {
+ (*(pkeys+0)) = CRC32((*(pkeys+0)), c);
+ (*(pkeys+1)) += (*(pkeys+0)) & 0xff;
+@@ -62,7 +62,7 @@ static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int
+ * Initialize the encryption keys and the random header according to
+ * the given password.
+ */
+-static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab)
++static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t* pcrc_32_tab)
+ {
+ *(pkeys+0) = 305419896L;
+ *(pkeys+1) = 591751049L;
+@@ -91,7 +91,7 @@ static int crypthead(const char* passwd, /* password string */
+ unsigned char* buf, /* where to write header */
+ int bufSize,
+ unsigned long* pkeys,
+- const unsigned long* pcrc_32_tab,
++ const z_crc_t* pcrc_32_tab,
+ unsigned long crcForCrypting)
+ {
+ int n; /* index in random header */
+diff --git a/zlib/contrib/minizip/iowin32.c b/zlib/contrib/minizip/iowin32.c
+index 6a2a883..a46d96c 100644
+--- a/zlib/contrib/minizip/iowin32.c
++++ b/zlib/contrib/minizip/iowin32.c
+@@ -25,6 +25,13 @@
+ #define INVALID_SET_FILE_POINTER ((DWORD)-1)
+ #endif
+
++
++#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
++#define IOWIN32_USING_WINRT_API 1
++#endif
++#endif
++
+ voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
+ uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
+ uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
+@@ -93,8 +100,22 @@ voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
++#ifdef IOWIN32_USING_WINRT_API
++#ifdef UNICODE
++ if ((filename!=NULL) && (dwDesiredAccess != 0))
++ hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
++#else
++ if ((filename!=NULL) && (dwDesiredAccess != 0))
++ {
++ WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
++ MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
++ hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
++ }
++#endif
++#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
++#endif
+
+ return win32_build_iowin(hFile);
+ }
+@@ -108,8 +129,17 @@ voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
++#ifdef IOWIN32_USING_WINRT_API
++ if ((filename!=NULL) && (dwDesiredAccess != 0))
++ {
++ WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
++ MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
++ hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
++ }
++#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
++#endif
+
+ return win32_build_iowin(hFile);
+ }
+@@ -123,8 +153,13 @@ voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
++#ifdef IOWIN32_USING_WINRT_API
++ if ((filename!=NULL) && (dwDesiredAccess != 0))
++ hFile = CreateFile2((LPCWSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition,NULL);
++#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
++#endif
+
+ return win32_build_iowin(hFile);
+ }
+@@ -138,8 +173,22 @@ voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mo
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
++#ifdef IOWIN32_USING_WINRT_API
++#ifdef UNICODE
++ if ((filename!=NULL) && (dwDesiredAccess != 0))
++ hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
++#else
++ if ((filename!=NULL) && (dwDesiredAccess != 0))
++ {
++ WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
++ MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
++ hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
++ }
++#endif
++#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
++#endif
+
+ return win32_build_iowin(hFile);
+ }
+@@ -188,6 +237,26 @@ uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* b
+ return ret;
+ }
+
++static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *newPos, DWORD dwMoveMethod)
++{
++#ifdef IOWIN32_USING_WINRT_API
++ return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
++#else
++ LONG lHigh = pos.HighPart;
++ DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, FILE_CURRENT);
++ BOOL fOk = TRUE;
++ if (dwNewPos == 0xFFFFFFFF)
++ if (GetLastError() != NO_ERROR)
++ fOk = FALSE;
++ if ((newPos != NULL) && (fOk))
++ {
++ newPos->LowPart = dwNewPos;
++ newPos->HighPart = lHigh;
++ }
++ return fOk;
++#endif
++}
++
+ long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
+ {
+ long ret=-1;
+@@ -196,15 +265,17 @@ long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
+ hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+ if (hFile != NULL)
+ {
+- DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT);
+- if (dwSet == INVALID_SET_FILE_POINTER)
++ LARGE_INTEGER pos;
++ pos.QuadPart = 0;
++
++ if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ ret = -1;
+ }
+ else
+- ret=(long)dwSet;
++ ret=(long)pos.LowPart;
+ }
+ return ret;
+ }
+@@ -218,17 +289,17 @@ ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
+
+ if (hFile)
+ {
+- LARGE_INTEGER li;
+- li.QuadPart = 0;
+- li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT);
+- if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR))
++ LARGE_INTEGER pos;
++ pos.QuadPart = 0;
++
++ if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ ret = (ZPOS64_T)-1;
+ }
+ else
+- ret=li.QuadPart;
++ ret=pos.QuadPart;
+ }
+ return ret;
+ }
+@@ -258,8 +329,9 @@ long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,in
+
+ if (hFile != NULL)
+ {
+- DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod);
+- if (dwSet == INVALID_SET_FILE_POINTER)
++ LARGE_INTEGER pos;
++ pos.QuadPart = offset;
++ if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+@@ -296,9 +368,9 @@ long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T off
+
+ if (hFile)
+ {
+- LARGE_INTEGER* li = (LARGE_INTEGER*)&offset;
+- DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod);
+- if (dwSet == INVALID_SET_FILE_POINTER)
++ LARGE_INTEGER pos;
++ pos.QuadPart = offset;
++ if (!MySetFilePointerEx(hFile, pos, NULL, FILE_CURRENT))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+diff --git a/zlib/contrib/minizip/miniunzip.1 b/zlib/contrib/minizip/miniunzip.1
+new file mode 100644
+index 0000000..111ac69
+--- /dev/null
++++ b/zlib/contrib/minizip/miniunzip.1
+@@ -0,0 +1,63 @@
++.\" Hey, EMACS: -*- nroff -*-
++.TH miniunzip 1 "Nov 7, 2001"
++.\" Please adjust this date whenever revising the manpage.
++.\"
++.\" Some roff macros, for reference:
++.\" .nh disable hyphenation
++.\" .hy enable hyphenation
++.\" .ad l left justify
++.\" .ad b justify to both left and right margins
++.\" .nf disable filling
++.\" .fi enable filling
++.\" .br insert line break
++.\" .sp <n> insert n+1 empty lines
++.\" for manpage-specific macros, see man(7)
++.SH NAME
++miniunzip - uncompress and examine ZIP archives
++.SH SYNOPSIS
++.B miniunzip
++.RI [ -exvlo ]
++zipfile [ files_to_extract ] [-d tempdir]
++.SH DESCRIPTION
++.B minizip
++is a simple tool which allows the extraction of compressed file
++archives in the ZIP format used by the MS-DOS utility PKZIP. It was
++written as a demonstration of the
++.IR zlib (3)
++library and therefore lack many of the features of the
++.IR unzip (1)
++program.
++.SH OPTIONS
++A number of options are supported. With the exception of
++.BI \-d\ tempdir
++these must be supplied before any
++other arguments and are:
++.TP
++.BI \-l\ ,\ \-\-v
++List the files in the archive without extracting them.
++.TP
++.B \-o
++Overwrite files without prompting for confirmation.
++.TP
++.B \-x
++Extract files (default).
++.PP
++The
++.I zipfile
++argument is the name of the archive to process. The next argument can be used
++to specify a single file to extract from the archive.
++
++Lastly, the following option can be specified at the end of the command-line:
++.TP
++.BI \-d\ tempdir
++Extract the archive in the directory
++.I tempdir
++rather than the current directory.
++.SH SEE ALSO
++.BR minizip (1),
++.BR zlib (3),
++.BR unzip (1).
++.SH AUTHOR
++This program was written by Gilles Vollant. This manual page was
++written by Mark Brown <broonie@sirena.org.uk>. The -d tempdir option
++was added by Dirk Eddelbuettel <edd@debian.org>.
+diff --git a/zlib/contrib/minizip/minizip.1 b/zlib/contrib/minizip/minizip.1
+new file mode 100644
+index 0000000..1154484
+--- /dev/null
++++ b/zlib/contrib/minizip/minizip.1
+@@ -0,0 +1,46 @@
++.\" Hey, EMACS: -*- nroff -*-
++.TH minizip 1 "May 2, 2001"
++.\" Please adjust this date whenever revising the manpage.
++.\"
++.\" Some roff macros, for reference:
++.\" .nh disable hyphenation
++.\" .hy enable hyphenation
++.\" .ad l left justify
++.\" .ad b justify to both left and right margins
++.\" .nf disable filling
++.\" .fi enable filling
++.\" .br insert line break
++.\" .sp <n> insert n+1 empty lines
++.\" for manpage-specific macros, see man(7)
++.SH NAME
++minizip - create ZIP archives
++.SH SYNOPSIS
++.B minizip
++.RI [ -o ]
++zipfile [ " files" ... ]
++.SH DESCRIPTION
++.B minizip
++is a simple tool which allows the creation of compressed file archives
++in the ZIP format used by the MS-DOS utility PKZIP. It was written as
++a demonstration of the
++.IR zlib (3)
++library and therefore lack many of the features of the
++.IR zip (1)
++program.
++.SH OPTIONS
++The first argument supplied is the name of the ZIP archive to create or
++.RI -o
++in which case it is ignored and the second argument treated as the
++name of the ZIP file. If the ZIP file already exists it will be
++overwritten.
++.PP
++Subsequent arguments specify a list of files to place in the ZIP
++archive. If none are specified then an empty archive will be created.
++.SH SEE ALSO
++.BR miniunzip (1),
++.BR zlib (3),
++.BR zip (1).
++.SH AUTHOR
++This program was written by Gilles Vollant. This manual page was
++written by Mark Brown <broonie@sirena.org.uk>.
++
+diff --git a/zlib/contrib/minizip/unzip.c b/zlib/contrib/minizip/unzip.c
+index affad4b..9093504 100644
+--- a/zlib/contrib/minizip/unzip.c
++++ b/zlib/contrib/minizip/unzip.c
+@@ -188,7 +188,7 @@ typedef struct
+
+ # ifndef NOUNCRYPT
+ unsigned long keys[3]; /* keys defining the pseudo-random sequence */
+- const unsigned long* pcrc_32_tab;
++ const z_crc_t* pcrc_32_tab;
+ # endif
+ } unz64_s;
+
+@@ -801,9 +801,9 @@ extern unzFile ZEXPORT unzOpen64 (const void *path)
+ }
+
+ /*
+- Close a ZipFile opened with unzipOpen.
+- If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
+- these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
++ Close a ZipFile opened with unzOpen.
++ If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
++ these files MUST be closed with unzCloseCurrentFile before call unzClose.
+ return UNZ_OK if there is no problem. */
+ extern int ZEXPORT unzClose (unzFile file)
+ {
+@@ -1223,7 +1223,7 @@ extern int ZEXPORT unzGoToNextFile (unzFile file)
+
+ /*
+ Try locate the file szFileName in the zipfile.
+- For the iCaseSensitivity signification, see unzipStringFileNameCompare
++ For the iCaseSensitivity signification, see unzStringFileNameCompare
+
+ return value :
+ UNZ_OK if the file is found. It becomes the current file.
+@@ -1998,7 +1998,7 @@ extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len)
+ }
+
+ /*
+- Close the file in zip opened with unzipOpenCurrentFile
++ Close the file in zip opened with unzOpenCurrentFile
+ Return UNZ_CRCERROR if all the file was read but the CRC is not good
+ */
+ extern int ZEXPORT unzCloseCurrentFile (unzFile file)
+diff --git a/zlib/contrib/minizip/unzip.h b/zlib/contrib/minizip/unzip.h
+index 3183968..2104e39 100644
+--- a/zlib/contrib/minizip/unzip.h
++++ b/zlib/contrib/minizip/unzip.h
+@@ -197,9 +197,9 @@ extern unzFile ZEXPORT unzOpen2_64 OF((const void *path,
+
+ extern int ZEXPORT unzClose OF((unzFile file));
+ /*
+- Close a ZipFile opened with unzipOpen.
++ Close a ZipFile opened with unzOpen.
+ If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
+- these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
++ these files MUST be closed with unzCloseCurrentFile before call unzClose.
+ return UNZ_OK if there is no problem. */
+
+ extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
+diff --git a/zlib/contrib/minizip/zip.c b/zlib/contrib/minizip/zip.c
+index 147934c..ea54853 100644
+--- a/zlib/contrib/minizip/zip.c
++++ b/zlib/contrib/minizip/zip.c
+@@ -157,7 +157,7 @@ typedef struct
+ ZPOS64_T totalUncompressedData;
+ #ifndef NOCRYPT
+ unsigned long keys[3]; /* keys defining the pseudo-random sequence */
+- const unsigned long* pcrc_32_tab;
++ const z_crc_t* pcrc_32_tab;
+ int crypt_header_size;
+ #endif
+ } curfile64_info;
+diff --git a/zlib/contrib/pascal/zlibpas.pas b/zlib/contrib/pascal/zlibpas.pas
+index 7abd862..e6a0782 100644
+--- a/zlib/contrib/pascal/zlibpas.pas
++++ b/zlib/contrib/pascal/zlibpas.pas
+@@ -10,8 +10,8 @@ unit zlibpas;
+ interface
+
+ const
+- ZLIB_VERSION = '1.2.7';
+- ZLIB_VERNUM = $1270;
++ ZLIB_VERSION = '1.2.8';
++ ZLIB_VERNUM = $1280;
+
+ type
+ alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
+diff --git a/zlib/contrib/puff/puff.c b/zlib/contrib/puff/puff.c
+index df8470c..ba58483 100644
+--- a/zlib/contrib/puff/puff.c
++++ b/zlib/contrib/puff/puff.c
+@@ -1,8 +1,8 @@
+ /*
+ * puff.c
+- * Copyright (C) 2002-2010 Mark Adler
++ * Copyright (C) 2002-2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in puff.h
+- * version 2.2, 25 Apr 2010
++ * version 2.3, 21 Jan 2013
+ *
+ * puff.c is a simple inflate written to be an unambiguous way to specify the
+ * deflate format. It is not written for speed but rather simplicity. As a
+@@ -76,6 +76,7 @@
+ * - Move NIL to puff.h
+ * - Allow incomplete code only if single code length is 1
+ * - Add full code coverage test to Makefile
++ * 2.3 21 Jan 2013 - Check for invalid code length codes in dynamic blocks
+ */
+
+ #include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
+@@ -704,6 +705,8 @@ local int dynamic(struct state *s)
+ int len; /* last length to repeat */
+
+ symbol = decode(s, &lencode);
++ if (symbol < 0)
++ return symbol; /* invalid symbol */
+ if (symbol < 16) /* length in 0..15 */
+ lengths[index++] = symbol;
+ else { /* repeat instruction */
+diff --git a/zlib/contrib/puff/puff.h b/zlib/contrib/puff/puff.h
+index 6a0080a..e23a245 100644
+--- a/zlib/contrib/puff/puff.h
++++ b/zlib/contrib/puff/puff.h
+@@ -1,6 +1,6 @@
+ /* puff.h
+- Copyright (C) 2002-2010 Mark Adler, all rights reserved
+- version 2.2, 25 Apr 2010
++ Copyright (C) 2002-2013 Mark Adler, all rights reserved
++ version 2.3, 21 Jan 2013
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the author be held liable for any damages
+diff --git a/zlib/contrib/puff/pufftest.c b/zlib/contrib/puff/pufftest.c
+index 76e35f6..7764814 100644
+--- a/zlib/contrib/puff/pufftest.c
++++ b/zlib/contrib/puff/pufftest.c
+@@ -1,8 +1,8 @@
+ /*
+ * pufftest.c
+- * Copyright (C) 2002-2010 Mark Adler
++ * Copyright (C) 2002-2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in puff.h
+- * version 2.2, 25 Apr 2010
++ * version 2.3, 21 Jan 2013
+ */
+
+ /* Example of how to use puff().
+diff --git a/zlib/contrib/testzlib/testzlib.c b/zlib/contrib/testzlib/testzlib.c
+index 135888e..5f659de 100644
+--- a/zlib/contrib/testzlib/testzlib.c
++++ b/zlib/contrib/testzlib/testzlib.c
+@@ -116,10 +116,10 @@ DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPe
+ return dwRet;
+ }
+
+-int ReadFileMemory(const char* filename,long* plFileSize,void** pFilePtr)
++int ReadFileMemory(const char* filename,long* plFileSize,unsigned char** pFilePtr)
+ {
+ FILE* stream;
+- void* ptr;
++ unsigned char* ptr;
+ int retVal=1;
+ stream=fopen(filename, "rb");
+ if (stream==NULL)
+diff --git a/zlib/contrib/vstudio/readme.txt b/zlib/contrib/vstudio/readme.txt
+index 59c8b8b..bfdcd9d 100644
+--- a/zlib/contrib/vstudio/readme.txt
++++ b/zlib/contrib/vstudio/readme.txt
+@@ -1,4 +1,4 @@
+-Building instructions for the DLL versions of Zlib 1.2.7
++Building instructions for the DLL versions of Zlib 1.2.8
+ ========================================================
+
+ This directory contains projects that build zlib and minizip using
+@@ -28,6 +28,11 @@ Build instructions for Visual Studio 2010 (32 bits or 64 bits)
+ - Uncompress current zlib, including all contrib/* files
+ - Open contrib\vstudio\vc10\zlibvc.sln with Microsoft Visual C++ 2010
+
++Build instructions for Visual Studio 2012 (32 bits or 64 bits)
++--------------------------------------------------------------
++- Uncompress current zlib, including all contrib/* files
++- Open contrib\vstudio\vc11\zlibvc.sln with Microsoft Visual C++ 2012
++
+
+ Important
+ ---------
+diff --git a/zlib/contrib/vstudio/vc10/miniunz.vcxproj.user b/zlib/contrib/vstudio/vc10/miniunz.vcxproj.user
+deleted file mode 100644
+index 695b5c7..0000000
+--- a/zlib/contrib/vstudio/vc10/miniunz.vcxproj.user
++++ /dev/null
+@@ -1,3 +0,0 @@
+-<?xml version="1.0" encoding="utf-8"?>
+-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+-</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc10/minizip.vcxproj.user b/zlib/contrib/vstudio/vc10/minizip.vcxproj.user
+deleted file mode 100644
+index 695b5c7..0000000
+--- a/zlib/contrib/vstudio/vc10/minizip.vcxproj.user
++++ /dev/null
+@@ -1,3 +0,0 @@
+-<?xml version="1.0" encoding="utf-8"?>
+-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+-</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc10/testzlib.vcxproj.user b/zlib/contrib/vstudio/vc10/testzlib.vcxproj.user
+deleted file mode 100644
+index 695b5c7..0000000
+--- a/zlib/contrib/vstudio/vc10/testzlib.vcxproj.user
++++ /dev/null
+@@ -1,3 +0,0 @@
+-<?xml version="1.0" encoding="utf-8"?>
+-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+-</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.user b/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.user
+deleted file mode 100644
+index 695b5c7..0000000
+--- a/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.user
++++ /dev/null
+@@ -1,3 +0,0 @@
+-<?xml version="1.0" encoding="utf-8"?>
+-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+-</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc10/zlib.rc b/zlib/contrib/vstudio/vc10/zlib.rc
+index 8eca4db..73f6476 100644
+--- a/zlib/contrib/vstudio/vc10/zlib.rc
++++ b/zlib/contrib/vstudio/vc10/zlib.rc
+@@ -2,8 +2,8 @@
+
+ #define IDR_VERSION1 1
+ IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
+- FILEVERSION 1.2.7,0
+- PRODUCTVERSION 1.2.7,0
++ FILEVERSION 1,2,8,0
++ PRODUCTVERSION 1,2,8,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+ FILEFLAGS 0
+ FILEOS VOS_DOS_WINDOWS32
+@@ -17,12 +17,12 @@ BEGIN
+
+ BEGIN
+ VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
+- VALUE "FileVersion", "1.2.7\0"
++ VALUE "FileVersion", "1.2.8\0"
+ VALUE "InternalName", "zlib\0"
+- VALUE "OriginalFilename", "zlib.dll\0"
++ VALUE "OriginalFilename", "zlibwapi.dll\0"
+ VALUE "ProductName", "ZLib.DLL\0"
+ VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
+- VALUE "LegalCopyright", "(C) 1995-2012 Jean-loup Gailly & Mark Adler\0"
++ VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+diff --git a/zlib/contrib/vstudio/vc10/zlibstat.vcxproj b/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
+index 2682fca..b9f2bbe 100644
+--- a/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
++++ b/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
+@@ -182,6 +182,10 @@
+ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Lib>
++ <PreBuildEvent>
++ <Command>cd ..\..\masmx86
++bld_ml32.bat</Command>
++ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+@@ -210,6 +214,10 @@
+ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Lib>
++ <PreBuildEvent>
++ <Command>cd ..\..\masmx86
++bld_ml32.bat</Command>
++ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
+ <ClCompile>
+@@ -266,6 +274,10 @@
+ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Lib>
++ <PreBuildEvent>
++ <Command>cd ..\..\masmx64
++bld_ml64.bat</Command>
++ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
+ <Midl>
+@@ -326,6 +338,10 @@
+ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Lib>
++ <PreBuildEvent>
++ <Command>cd ..\..\masmx64
++bld_ml64.bat</Command>
++ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
+ <Midl>
+diff --git a/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.user b/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.user
+deleted file mode 100644
+index 695b5c7..0000000
+--- a/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.user
++++ /dev/null
+@@ -1,3 +0,0 @@
+-<?xml version="1.0" encoding="utf-8"?>
+-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+-</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc10/zlibvc.def b/zlib/contrib/vstudio/vc10/zlibvc.def
+index 18ddf50..6367046 100644
+--- a/zlib/contrib/vstudio/vc10/zlibvc.def
++++ b/zlib/contrib/vstudio/vc10/zlibvc.def
+@@ -1,7 +1,7 @@
+ LIBRARY
+ ; zlib data compression and ZIP file I/O library
+
+-VERSION 1.2.7
++VERSION 1.2.8
+
+ EXPORTS
+ adler32 @1
+@@ -134,6 +134,10 @@ EXPORTS
+ gzgetc_ @161
+ inflateResetKeep @163
+ deflateResetKeep @164
+-
+-; zlib1 v1.2.7 added:
+- gzopen_w @165
++
++; zlib1 v1.2.7 added:
++ gzopen_w @165
++
++; zlib1 v1.2.8 added:
++ inflateGetDictionary @166
++ gzvprintf @167
+diff --git a/zlib/contrib/vstudio/vc10/zlibvc.vcxproj b/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
+index 9218fdc..6ff9ddb 100644
+--- a/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
++++ b/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
+@@ -180,10 +180,10 @@
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">zlibwapi</TargetName>
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">zlibwapid</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">zlibwapi</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">zlibwapi</TargetName>
+- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">zlibwapi</TargetName>
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">zlibwapid</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">zlibwapi</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">zlibwapi</TargetName>
+ </PropertyGroup>
+@@ -220,18 +220,14 @@
+ <Link>
+ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
+- <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+- <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
+ <GenerateMapFile>true</GenerateMapFile>
+- <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
+ <SubSystem>Windows</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+- <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
+ </Link>
+ <PreBuildEvent>
+ <Command>cd ..\..\masmx86
+@@ -272,18 +268,14 @@ bld_ml32.bat</Command>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
+- <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
+- <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
+ <GenerateMapFile>true</GenerateMapFile>
+- <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
+ <SubSystem>Windows</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+- <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+@@ -321,18 +313,14 @@ bld_ml32.bat</Command>
+ <Link>
+ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
+- <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
+- <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
+ <GenerateMapFile>true</GenerateMapFile>
+- <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
+ <SubSystem>Windows</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+- <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
+ </Link>
+ <PreBuildEvent>
+ <Command>cd ..\..\masmx86
+@@ -371,19 +359,15 @@ bld_ml32.bat</Command>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
+- <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+- <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
+ <GenerateMapFile>true</GenerateMapFile>
+- <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
+ <SubSystem>Windows</SubSystem>
+- <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <PreBuildEvent>
+- <Command>cd ..\..\contrib\masmx64
++ <Command>cd ..\..\masmx64
+ bld_ml64.bat</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+@@ -463,15 +447,11 @@ bld_ml64.bat</Command>
+ <Culture>0x040c</Culture>
+ </ResourceCompile>
+ <Link>
+- <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
+- <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
+ <GenerateMapFile>true</GenerateMapFile>
+- <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
+ <SubSystem>Windows</SubSystem>
+- <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -554,15 +534,11 @@ bld_ml64.bat</Command>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
+- <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
+- <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
+ <GenerateMapFile>true</GenerateMapFile>
+- <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
+ <SubSystem>Windows</SubSystem>
+- <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <PreBuildEvent>
+diff --git a/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.user b/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.user
+deleted file mode 100644
+index 695b5c7..0000000
+--- a/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.user
++++ /dev/null
+@@ -1,3 +0,0 @@
+-<?xml version="1.0" encoding="utf-8"?>
+-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+-</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc11/miniunz.vcxproj b/zlib/contrib/vstudio/vc11/miniunz.vcxproj
+new file mode 100644
+index 0000000..8f9f20b
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/miniunz.vcxproj
+@@ -0,0 +1,314 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Itanium">
++ <Configuration>Debug</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Itanium">
++ <Configuration>Release</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{C52F9E7B-498A-42BE-8DB4-85A15694382A}</ProjectGuid>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniUnzip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniUnzip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniUnzip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniUnzip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\MiniUnzip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\MiniUnzip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\MiniUnzip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\MiniUnzip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniUnzip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniUnzip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\MiniUnzip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\MiniUnzip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)miniunz.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)miniunz.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)miniunz.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)miniunz.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)miniunz.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)miniunz.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)miniunz.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)miniunz.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)miniunz.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\minizip\miniunz.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="zlibvc.vcxproj">
++ <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc11/minizip.vcxproj b/zlib/contrib/vstudio/vc11/minizip.vcxproj
+new file mode 100644
+index 0000000..c93d9e6
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/minizip.vcxproj
+@@ -0,0 +1,311 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Itanium">
++ <Configuration>Debug</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Itanium">
++ <Configuration>Release</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}</ProjectGuid>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniZip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniZip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniZip$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniZip$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\$(Configuration)\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\$(Configuration)\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\$(Configuration)\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\$(Configuration)\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)minizip.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)minizip.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)minizip.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)minizip.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)minizip.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)minizip.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)minizip.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)minizip.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)minizip.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\minizip\minizip.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="zlibvc.vcxproj">
++ <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc11/testzlib.vcxproj b/zlib/contrib/vstudio/vc11/testzlib.vcxproj
+new file mode 100644
+index 0000000..6d55954
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/testzlib.vcxproj
+@@ -0,0 +1,426 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Itanium">
++ <Configuration>Debug</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|Itanium">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|Win32">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|x64">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Itanium">
++ <Configuration>Release</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}</ProjectGuid>
++ <RootNamespace>testzlib</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlib$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\TestZlib$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlib$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlib$(Configuration)\Tmp\</IntDir>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlib$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\TestZlib$(Configuration)\Tmp\</IntDir>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\TestZlib$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlib$(Configuration)\Tmp\</IntDir>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlib$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlib$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerOutput>AssemblyAndSourceCode</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlib.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)testzlib.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlib.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerOutput>AssemblyAndSourceCode</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)testzlib.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)testzlib.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)testzlib.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\..\adler32.c" />
++ <ClCompile Include="..\..\..\compress.c" />
++ <ClCompile Include="..\..\..\crc32.c" />
++ <ClCompile Include="..\..\..\deflate.c" />
++ <ClCompile Include="..\..\..\infback.c" />
++ <ClCompile Include="..\..\masmx64\inffas8664.c">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </ClCompile>
++ <ClCompile Include="..\..\..\inffast.c" />
++ <ClCompile Include="..\..\..\inflate.c" />
++ <ClCompile Include="..\..\..\inftrees.c" />
++ <ClCompile Include="..\..\testzlib\testzlib.c" />
++ <ClCompile Include="..\..\..\trees.c" />
++ <ClCompile Include="..\..\..\uncompr.c" />
++ <ClCompile Include="..\..\..\zutil.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj b/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj
+new file mode 100644
+index 0000000..9f20c78
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj
+@@ -0,0 +1,314 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Itanium">
++ <Configuration>Debug</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Itanium">
++ <Configuration>Release</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{C52F9E7B-498A-42BE-8DB4-85A15694366A}</ProjectGuid>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>true</MinimalRebuild>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\testzlib\testzlib.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="zlibvc.vcxproj">
++ <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc11/zlib.rc b/zlib/contrib/vstudio/vc11/zlib.rc
+new file mode 100644
+index 0000000..73f6476
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/zlib.rc
+@@ -0,0 +1,32 @@
++#include <windows.h>
++
++#define IDR_VERSION1 1
++IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
++ FILEVERSION 1,2,8,0
++ PRODUCTVERSION 1,2,8,0
++ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
++ FILEFLAGS 0
++ FILEOS VOS_DOS_WINDOWS32
++ FILETYPE VFT_DLL
++ FILESUBTYPE 0 // not used
++BEGIN
++ BLOCK "StringFileInfo"
++ BEGIN
++ BLOCK "040904E4"
++ //language ID = U.S. English, char set = Windows, Multilingual
++
++ BEGIN
++ VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
++ VALUE "FileVersion", "1.2.8\0"
++ VALUE "InternalName", "zlib\0"
++ VALUE "OriginalFilename", "zlibwapi.dll\0"
++ VALUE "ProductName", "ZLib.DLL\0"
++ VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
++ VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
++ END
++ END
++ BLOCK "VarFileInfo"
++ BEGIN
++ VALUE "Translation", 0x0409, 1252
++ END
++END
+diff --git a/zlib/contrib/vstudio/vc11/zlibstat.vcxproj b/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
+new file mode 100644
+index 0000000..806b76a
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
+@@ -0,0 +1,464 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Itanium">
++ <Configuration>Debug</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|Itanium">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|Win32">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|x64">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Itanium">
++ <Configuration>Release</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}</ProjectGuid>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ <CharacterSet>Unicode</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibStat$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibStat$(Configuration)\Tmp\</IntDir>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>OldStyle</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>OldStyle</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>OldStyle</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">
++ <Midl>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Lib>
++ <AdditionalOptions>/MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\..\adler32.c" />
++ <ClCompile Include="..\..\..\compress.c" />
++ <ClCompile Include="..\..\..\crc32.c" />
++ <ClCompile Include="..\..\..\deflate.c" />
++ <ClCompile Include="..\..\..\gzclose.c" />
++ <ClCompile Include="..\..\..\gzlib.c" />
++ <ClCompile Include="..\..\..\gzread.c" />
++ <ClCompile Include="..\..\..\gzwrite.c" />
++ <ClCompile Include="..\..\..\infback.c" />
++ <ClCompile Include="..\..\masmx64\inffas8664.c">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </ClCompile>
++ <ClCompile Include="..\..\..\inffast.c" />
++ <ClCompile Include="..\..\..\inflate.c" />
++ <ClCompile Include="..\..\..\inftrees.c" />
++ <ClCompile Include="..\..\minizip\ioapi.c" />
++ <ClCompile Include="..\..\..\trees.c" />
++ <ClCompile Include="..\..\..\uncompr.c" />
++ <ClCompile Include="..\..\minizip\unzip.c" />
++ <ClCompile Include="..\..\minizip\zip.c" />
++ <ClCompile Include="..\..\..\zutil.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="zlib.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <None Include="zlibvc.def" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc11/zlibvc.def b/zlib/contrib/vstudio/vc11/zlibvc.def
+new file mode 100644
+index 0000000..6367046
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/zlibvc.def
+@@ -0,0 +1,143 @@
++LIBRARY
++; zlib data compression and ZIP file I/O library
++
++VERSION 1.2.8
++
++EXPORTS
++ adler32 @1
++ compress @2
++ crc32 @3
++ deflate @4
++ deflateCopy @5
++ deflateEnd @6
++ deflateInit2_ @7
++ deflateInit_ @8
++ deflateParams @9
++ deflateReset @10
++ deflateSetDictionary @11
++ gzclose @12
++ gzdopen @13
++ gzerror @14
++ gzflush @15
++ gzopen @16
++ gzread @17
++ gzwrite @18
++ inflate @19
++ inflateEnd @20
++ inflateInit2_ @21
++ inflateInit_ @22
++ inflateReset @23
++ inflateSetDictionary @24
++ inflateSync @25
++ uncompress @26
++ zlibVersion @27
++ gzprintf @28
++ gzputc @29
++ gzgetc @30
++ gzseek @31
++ gzrewind @32
++ gztell @33
++ gzeof @34
++ gzsetparams @35
++ zError @36
++ inflateSyncPoint @37
++ get_crc_table @38
++ compress2 @39
++ gzputs @40
++ gzgets @41
++ inflateCopy @42
++ inflateBackInit_ @43
++ inflateBack @44
++ inflateBackEnd @45
++ compressBound @46
++ deflateBound @47
++ gzclearerr @48
++ gzungetc @49
++ zlibCompileFlags @50
++ deflatePrime @51
++ deflatePending @52
++
++ unzOpen @61
++ unzClose @62
++ unzGetGlobalInfo @63
++ unzGetCurrentFileInfo @64
++ unzGoToFirstFile @65
++ unzGoToNextFile @66
++ unzOpenCurrentFile @67
++ unzReadCurrentFile @68
++ unzOpenCurrentFile3 @69
++ unztell @70
++ unzeof @71
++ unzCloseCurrentFile @72
++ unzGetGlobalComment @73
++ unzStringFileNameCompare @74
++ unzLocateFile @75
++ unzGetLocalExtrafield @76
++ unzOpen2 @77
++ unzOpenCurrentFile2 @78
++ unzOpenCurrentFilePassword @79
++
++ zipOpen @80
++ zipOpenNewFileInZip @81
++ zipWriteInFileInZip @82
++ zipCloseFileInZip @83
++ zipClose @84
++ zipOpenNewFileInZip2 @86
++ zipCloseFileInZipRaw @87
++ zipOpen2 @88
++ zipOpenNewFileInZip3 @89
++
++ unzGetFilePos @100
++ unzGoToFilePos @101
++
++ fill_win32_filefunc @110
++
++; zlibwapi v1.2.4 added:
++ fill_win32_filefunc64 @111
++ fill_win32_filefunc64A @112
++ fill_win32_filefunc64W @113
++
++ unzOpen64 @120
++ unzOpen2_64 @121
++ unzGetGlobalInfo64 @122
++ unzGetCurrentFileInfo64 @124
++ unzGetCurrentFileZStreamPos64 @125
++ unztell64 @126
++ unzGetFilePos64 @127
++ unzGoToFilePos64 @128
++
++ zipOpen64 @130
++ zipOpen2_64 @131
++ zipOpenNewFileInZip64 @132
++ zipOpenNewFileInZip2_64 @133
++ zipOpenNewFileInZip3_64 @134
++ zipOpenNewFileInZip4_64 @135
++ zipCloseFileInZipRaw64 @136
++
++; zlib1 v1.2.4 added:
++ adler32_combine @140
++ crc32_combine @142
++ deflateSetHeader @144
++ deflateTune @145
++ gzbuffer @146
++ gzclose_r @147
++ gzclose_w @148
++ gzdirect @149
++ gzoffset @150
++ inflateGetHeader @156
++ inflateMark @157
++ inflatePrime @158
++ inflateReset2 @159
++ inflateUndermine @160
++
++; zlib1 v1.2.6 added:
++ gzgetc_ @161
++ inflateResetKeep @163
++ deflateResetKeep @164
++
++; zlib1 v1.2.7 added:
++ gzopen_w @165
++
++; zlib1 v1.2.8 added:
++ inflateGetDictionary @166
++ gzvprintf @167
+diff --git a/zlib/contrib/vstudio/vc11/zlibvc.sln b/zlib/contrib/vstudio/vc11/zlibvc.sln
+new file mode 100644
+index 0000000..9fcbafd
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/zlibvc.sln
+@@ -0,0 +1,117 @@
++
++Microsoft Visual Studio Solution File, Format Version 12.00
++# Visual Studio 2012
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
++EndProject
++Global
++ GlobalSection(SolutionConfigurationPlatforms) = preSolution
++ Debug|Itanium = Debug|Itanium
++ Debug|Win32 = Debug|Win32
++ Debug|x64 = Debug|x64
++ Release|Itanium = Release|Itanium
++ Release|Win32 = Release|Win32
++ Release|x64 = Release|x64
++ ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium
++ ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32
++ ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64
++ EndGlobalSection
++ GlobalSection(ProjectConfigurationPlatforms) = postSolution
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
++ {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
++ {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
++ {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
++ {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
++ {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ EndGlobalSection
++ GlobalSection(SolutionProperties) = preSolution
++ HideSolutionNode = FALSE
++ EndGlobalSection
++EndGlobal
+diff --git a/zlib/contrib/vstudio/vc11/zlibvc.vcxproj b/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
+new file mode 100644
+index 0000000..c65b95f
+--- /dev/null
++++ b/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
+@@ -0,0 +1,688 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Itanium">
++ <Configuration>Debug</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|Itanium">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|Win32">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseWithoutAsm|x64">
++ <Configuration>ReleaseWithoutAsm</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Itanium">
++ <Configuration>Release</Configuration>
++ <Platform>Itanium</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{8FD826F8-3739-44E6-8CC8-997122E53B8D}</ProjectGuid>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ <CharacterSet>Unicode</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v110</PlatformToolset>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibDll$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibDll$(Configuration)\Tmp\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
++ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">zlibwapi</TargetName>
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">zlibwapi</TargetName>
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">zlibwapi</TargetName>
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">zlibwapi</TargetName>
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">zlibwapi</TargetName>
++ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">zlibwapi</TargetName>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Midl>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>Win32</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ </Link>
++ <PreBuildEvent>
++ <Command>cd ..\..\masmx86
++bld_ml32.bat</Command>
++ </PreBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>Win32</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerOutput>All</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>Win32</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerOutput>All</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ </Link>
++ <PreBuildEvent>
++ <Command>cd ..\..\masmx86
++bld_ml32.bat</Command>
++ </PreBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>X64</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ <PreBuildEvent>
++ <Command>cd ..\..\contrib\masmx64
++bld_ml64.bat</Command>
++ </PreBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
++ <Midl>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>X64</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerOutput>All</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerOutput>All</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>X64</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerOutput>All</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ <PreBuildEvent>
++ <Command>cd ..\..\masmx64
++bld_ml64.bat</Command>
++ </PreBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>Itanium</TargetEnvironment>
++ <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
++ </Midl>
++ <ClCompile>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
++ <AssemblerOutput>All</AssemblerOutput>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <ObjectFileName>$(IntDir)</ObjectFileName>
++ <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
++ <BrowseInformation>
++ </BrowseInformation>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x040c</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
++ <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
++ <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
++ <GenerateMapFile>true</GenerateMapFile>
++ <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
++ <SubSystem>Windows</SubSystem>
++ <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
++ <TargetMachine>MachineIA64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\..\adler32.c" />
++ <ClCompile Include="..\..\..\compress.c" />
++ <ClCompile Include="..\..\..\crc32.c" />
++ <ClCompile Include="..\..\..\deflate.c" />
++ <ClCompile Include="..\..\..\gzclose.c" />
++ <ClCompile Include="..\..\..\gzlib.c" />
++ <ClCompile Include="..\..\..\gzread.c" />
++ <ClCompile Include="..\..\..\gzwrite.c" />
++ <ClCompile Include="..\..\..\infback.c" />
++ <ClCompile Include="..\..\masmx64\inffas8664.c">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </ClCompile>
++ <ClCompile Include="..\..\..\inffast.c" />
++ <ClCompile Include="..\..\..\inflate.c" />
++ <ClCompile Include="..\..\..\inftrees.c" />
++ <ClCompile Include="..\..\minizip\ioapi.c" />
++ <ClCompile Include="..\..\minizip\iowin32.c" />
++ <ClCompile Include="..\..\..\trees.c" />
++ <ClCompile Include="..\..\..\uncompr.c" />
++ <ClCompile Include="..\..\minizip\unzip.c">
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <ClCompile Include="..\..\minizip\zip.c">
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <ClCompile Include="..\..\..\zutil.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="zlib.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <None Include="zlibvc.def" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\..\deflate.h" />
++ <ClInclude Include="..\..\..\infblock.h" />
++ <ClInclude Include="..\..\..\infcodes.h" />
++ <ClInclude Include="..\..\..\inffast.h" />
++ <ClInclude Include="..\..\..\inftrees.h" />
++ <ClInclude Include="..\..\..\infutil.h" />
++ <ClInclude Include="..\..\..\zconf.h" />
++ <ClInclude Include="..\..\..\zlib.h" />
++ <ClInclude Include="..\..\..\zutil.h" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/zlib/contrib/vstudio/vc9/zlib.rc b/zlib/contrib/vstudio/vc9/zlib.rc
+index 8eca4db..73f6476 100644
+--- a/zlib/contrib/vstudio/vc9/zlib.rc
++++ b/zlib/contrib/vstudio/vc9/zlib.rc
+@@ -2,8 +2,8 @@
+
+ #define IDR_VERSION1 1
+ IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
+- FILEVERSION 1.2.7,0
+- PRODUCTVERSION 1.2.7,0
++ FILEVERSION 1,2,8,0
++ PRODUCTVERSION 1,2,8,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+ FILEFLAGS 0
+ FILEOS VOS_DOS_WINDOWS32
+@@ -17,12 +17,12 @@ BEGIN
+
+ BEGIN
+ VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
+- VALUE "FileVersion", "1.2.7\0"
++ VALUE "FileVersion", "1.2.8\0"
+ VALUE "InternalName", "zlib\0"
+- VALUE "OriginalFilename", "zlib.dll\0"
++ VALUE "OriginalFilename", "zlibwapi.dll\0"
+ VALUE "ProductName", "ZLib.DLL\0"
+ VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
+- VALUE "LegalCopyright", "(C) 1995-2012 Jean-loup Gailly & Mark Adler\0"
++ VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+diff --git a/zlib/contrib/vstudio/vc9/zlibvc.def b/zlib/contrib/vstudio/vc9/zlibvc.def
+index 2df8bb3..6367046 100644
+--- a/zlib/contrib/vstudio/vc9/zlibvc.def
++++ b/zlib/contrib/vstudio/vc9/zlibvc.def
+@@ -1,7 +1,7 @@
+ LIBRARY
+ ; zlib data compression and ZIP file I/O library
+
+-VERSION 1.2.7
++VERSION 1.2.8
+
+ EXPORTS
+ adler32 @1
+@@ -133,7 +133,11 @@ EXPORTS
+ ; zlib1 v1.2.6 added:
+ gzgetc_ @161
+ inflateResetKeep @163
+- deflateResetKeep @164
+-
+-; zlib1 v1.2.7 added:
+- gzopen_w @165
++ deflateResetKeep @164
++
++; zlib1 v1.2.7 added:
++ gzopen_w @165
++
++; zlib1 v1.2.8 added:
++ inflateGetDictionary @166
++ gzvprintf @167
+diff --git a/zlib/deflate.c b/zlib/deflate.c
+index 99184ff..03e76ab 100644
+--- a/zlib/deflate.c
++++ b/zlib/deflate.c
+@@ -1,5 +1,5 @@
+ /* deflate.c -- compress data using the deflation algorithm
+- * Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
++ * Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -52,7 +52,7 @@
+ #include "deflate.h"
+
+ const char deflate_copyright[] =
+- " deflate 1.2.7 Copyright 1995-2012 Jean-loup Gailly and Mark Adler ";
++ " deflate 1.2.8 Copyright 1995-2013 Jean-loup Gailly and Mark Adler ";
+ /*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+@@ -305,7 +305,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+ if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
+ s->pending_buf == Z_NULL) {
+ s->status = FINISH_STATE;
+- strm->msg = (char*)ERR_MSG(Z_MEM_ERROR);
++ strm->msg = ERR_MSG(Z_MEM_ERROR);
+ deflateEnd (strm);
+ return Z_MEM_ERROR;
+ }
+@@ -329,7 +329,7 @@ int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
+ uInt str, n;
+ int wrap;
+ unsigned avail;
+- unsigned char *next;
++ z_const unsigned char *next;
+
+ if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL)
+ return Z_STREAM_ERROR;
+@@ -359,7 +359,7 @@ int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
+ avail = strm->avail_in;
+ next = strm->next_in;
+ strm->avail_in = dictLength;
+- strm->next_in = (Bytef *)dictionary;
++ strm->next_in = (z_const Bytef *)dictionary;
+ fill_window(s);
+ while (s->lookahead >= MIN_MATCH) {
+ str = s->strstart;
+@@ -513,6 +513,8 @@ int ZEXPORT deflateParams(strm, level, strategy)
+ strm->total_in != 0) {
+ /* Flush the last buffer: */
+ err = deflate(strm, Z_BLOCK);
++ if (err == Z_BUF_ERROR && s->pending == 0)
++ err = Z_OK;
+ }
+ if (s->level != level) {
+ s->level = level;
+diff --git a/zlib/deflate.h b/zlib/deflate.h
+index da72661..1eba665 100644
+--- a/zlib/deflate.h
++++ b/zlib/deflate.h
+@@ -104,7 +104,7 @@ typedef struct internal_state {
+ int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
+ gz_headerp gzhead; /* gzip header information to write */
+ uInt gzindex; /* where in extra, name, or comment */
+- Byte method; /* STORED (for zip only) or DEFLATED */
++ Byte method; /* can only be DEFLATED */
+ int last_flush; /* value of flush param for previous deflate call */
+
+ /* used by deflate.c: */
+diff --git a/zlib/examples/enough.c b/zlib/examples/enough.c
+index c40410b..b991144 100644
+--- a/zlib/examples/enough.c
++++ b/zlib/examples/enough.c
+@@ -1,7 +1,7 @@
+ /* enough.c -- determine the maximum size of inflate's Huffman code tables over
+ * all possible valid and complete Huffman codes, subject to a length limit.
+- * Copyright (C) 2007, 2008 Mark Adler
+- * Version 1.3 17 February 2008 Mark Adler
++ * Copyright (C) 2007, 2008, 2012 Mark Adler
++ * Version 1.4 18 August 2012 Mark Adler
+ */
+
+ /* Version history:
+@@ -14,6 +14,9 @@
+ 1.3 17 Feb 2008 Add argument for initial root table size
+ Fix bug for initial root table size == max - 1
+ Use a macro to compute the history index
++ 1.4 18 Aug 2012 Avoid shifts more than bits in type (caused endless loop!)
++ Clean up comparisons of different types
++ Clean up code indentation
+ */
+
+ /*
+@@ -236,8 +239,8 @@ local big_t count(int syms, int len, int left)
+ for (use = least; use <= most; use++) {
+ got = count(syms - use, len + 1, (left - use) << 1);
+ sum += got;
+- if (got == -1 || sum < got) /* overflow */
+- return -1;
++ if (got == (big_t)0 - 1 || sum < got) /* overflow */
++ return (big_t)0 - 1;
+ }
+
+ /* verify that all recursive calls are productive */
+@@ -458,6 +461,7 @@ int main(int argc, char **argv)
+ int n; /* number of symbols to code for this run */
+ big_t got; /* return value of count() */
+ big_t sum; /* accumulated number of codes over n */
++ code_t word; /* for counting bits in code_t */
+
+ /* set up globals for cleanup() */
+ code = NULL;
+@@ -466,19 +470,19 @@ int main(int argc, char **argv)
+
+ /* get arguments -- default to the deflate literal/length code */
+ syms = 286;
+- root = 9;
++ root = 9;
+ max = 15;
+ if (argc > 1) {
+ syms = atoi(argv[1]);
+ if (argc > 2) {
+ root = atoi(argv[2]);
+- if (argc > 3)
+- max = atoi(argv[3]);
+- }
++ if (argc > 3)
++ max = atoi(argv[3]);
++ }
+ }
+ if (argc > 4 || syms < 2 || root < 1 || max < 1) {
+ fputs("invalid arguments, need: [sym >= 2 [root >= 1 [max >= 1]]]\n",
+- stderr);
++ stderr);
+ return 1;
+ }
+
+@@ -487,18 +491,17 @@ int main(int argc, char **argv)
+ max = syms - 1;
+
+ /* determine the number of bits in a code_t */
+- n = 0;
+- while (((code_t)1 << n) != 0)
+- n++;
++ for (n = 0, word = 1; word; n++, word <<= 1)
++ ;
+
+ /* make sure that the calculation of most will not overflow */
+- if (max > n || syms - 2 >= (((code_t)0 - 1) >> (max - 1))) {
++ if (max > n || (code_t)(syms - 2) >= (((code_t)0 - 1) >> (max - 1))) {
+ fputs("abort: code length too long for internal types\n", stderr);
+ return 1;
+ }
+
+ /* reject impossible code requests */
+- if (syms - 1 > ((code_t)1 << max) - 1) {
++ if ((code_t)(syms - 1) > ((code_t)1 << max) - 1) {
+ fprintf(stderr, "%d symbols cannot be coded in %d bits\n",
+ syms, max);
+ return 1;
+@@ -532,7 +535,7 @@ int main(int argc, char **argv)
+ for (n = 2; n <= syms; n++) {
+ got = count(n, 1, 2);
+ sum += got;
+- if (got == -1 || sum < got) { /* overflow */
++ if (got == (big_t)0 - 1 || sum < got) { /* overflow */
+ fputs("abort: can't count that high!\n", stderr);
+ cleanup();
+ return 1;
+@@ -556,9 +559,9 @@ int main(int argc, char **argv)
+ }
+
+ /* find and show maximum inflate table usage */
+- if (root > max) /* reduce root to max length */
+- root = max;
+- if (syms < ((code_t)1 << (root + 1)))
++ if (root > max) /* reduce root to max length */
++ root = max;
++ if ((code_t)syms < ((code_t)1 << (root + 1)))
+ enough(syms);
+ else
+ puts("cannot handle minimum code lengths > root");
+diff --git a/zlib/examples/gun.c b/zlib/examples/gun.c
+index 72b0882..89e484f 100644
+--- a/zlib/examples/gun.c
++++ b/zlib/examples/gun.c
+@@ -1,7 +1,7 @@
+ /* gun.c -- simple gunzip to give an example of the use of inflateBack()
+- * Copyright (C) 2003, 2005, 2008, 2010 Mark Adler
++ * Copyright (C) 2003, 2005, 2008, 2010, 2012 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+- Version 1.6 17 January 2010 Mark Adler */
++ Version 1.7 12 August 2012 Mark Adler */
+
+ /* Version history:
+ 1.0 16 Feb 2003 First version for testing of inflateBack()
+@@ -18,6 +18,7 @@
+ 1.4 8 Dec 2006 LZW decompression speed improvements
+ 1.5 9 Feb 2008 Avoid warning in latest version of gcc
+ 1.6 17 Jan 2010 Avoid signed/unsigned comparison warnings
++ 1.7 12 Aug 2012 Update for z_const usage in zlib 1.2.8
+ */
+
+ /*
+@@ -85,7 +86,7 @@ struct ind {
+ /* Load input buffer, assumed to be empty, and return bytes loaded and a
+ pointer to them. read() is called until the buffer is full, or until it
+ returns end-of-file or error. Return 0 on error. */
+-local unsigned in(void *in_desc, unsigned char **buf)
++local unsigned in(void *in_desc, z_const unsigned char **buf)
+ {
+ int ret;
+ unsigned len;
+@@ -196,7 +197,7 @@ unsigned char match[65280 + 2]; /* buffer for reversed match or gzip
+ file, read error, or write error (a write error indicated by strm->next_in
+ not equal to Z_NULL), or Z_DATA_ERROR for invalid input.
+ */
+-local int lunpipe(unsigned have, unsigned char *next, struct ind *indp,
++local int lunpipe(unsigned have, z_const unsigned char *next, struct ind *indp,
+ int outfile, z_stream *strm)
+ {
+ int last; /* last byte read by NEXT(), or -1 if EOF */
+@@ -383,7 +384,7 @@ local int gunpipe(z_stream *strm, int infile, int outfile)
+ {
+ int ret, first, last;
+ unsigned have, flags, len;
+- unsigned char *next = NULL;
++ z_const unsigned char *next = NULL;
+ struct ind ind, *indp;
+ struct outd outd;
+
+diff --git a/zlib/examples/gzappend.c b/zlib/examples/gzappend.c
+index e9e878e..662dec3 100644
+--- a/zlib/examples/gzappend.c
++++ b/zlib/examples/gzappend.c
+@@ -1,7 +1,7 @@
+ /* gzappend -- command to append to a gzip file
+
+- Copyright (C) 2003 Mark Adler, all rights reserved
+- version 1.1, 4 Nov 2003
++ Copyright (C) 2003, 2012 Mark Adler, all rights reserved
++ version 1.2, 11 Oct 2012
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the author be held liable for any damages
+@@ -39,6 +39,8 @@
+ * - Keep gzip file clean on appended file read errors
+ * - Use in-place rotate instead of auxiliary buffer
+ * (Why you ask? Because it was fun to write!)
++ * 1.2 11 Oct 2012 - Fix for proper z_const usage
++ * - Check for input buffer malloc failure
+ */
+
+ /*
+@@ -170,7 +172,7 @@ typedef struct {
+ int size; /* 1 << size is bytes in buf */
+ unsigned left; /* bytes available at next */
+ unsigned char *buf; /* buffer */
+- unsigned char *next; /* next byte in buffer */
++ z_const unsigned char *next; /* next byte in buffer */
+ char *name; /* file name for error messages */
+ } file;
+
+@@ -399,14 +401,14 @@ local void gztack(char *name, int gd, z_stream *strm, int last)
+ }
+
+ /* allocate buffers */
+- in = fd == -1 ? NULL : malloc(CHUNK);
++ in = malloc(CHUNK);
+ out = malloc(CHUNK);
+- if (out == NULL) bye("out of memory", "");
++ if (in == NULL || out == NULL) bye("out of memory", "");
+
+ /* compress input file and append to gzip file */
+ do {
+ /* get more input */
+- len = fd == -1 ? 0 : read(fd, in, CHUNK);
++ len = read(fd, in, CHUNK);
+ if (len == -1) {
+ fprintf(stderr,
+ "gzappend warning: error reading %s, skipping rest ...\n",
+@@ -453,7 +455,7 @@ local void gztack(char *name, int gd, z_stream *strm, int last)
+
+ /* clean up and return */
+ free(out);
+- if (in != NULL) free(in);
++ free(in);
+ if (fd > 0) close(fd);
+ }
+
+@@ -467,11 +469,13 @@ int main(int argc, char **argv)
+ z_stream strm;
+
+ /* ignore command name */
+- argv++;
++ argc--; argv++;
+
+ /* provide usage if no arguments */
+ if (*argv == NULL) {
+- printf("gzappend 1.1 (4 Nov 2003) Copyright (C) 2003 Mark Adler\n");
++ printf(
++ "gzappend 1.2 (11 Oct 2012) Copyright (C) 2003, 2012 Mark Adler\n"
++ );
+ printf(
+ "usage: gzappend [-level] file.gz [ addthis [ andthis ... ]]\n");
+ return 0;
+diff --git a/zlib/examples/gzjoin.c b/zlib/examples/gzjoin.c
+index 129347c..89e8098 100644
+--- a/zlib/examples/gzjoin.c
++++ b/zlib/examples/gzjoin.c
+@@ -1,7 +1,7 @@
+ /* gzjoin -- command to join gzip files into one gzip file
+
+- Copyright (C) 2004 Mark Adler, all rights reserved
+- version 1.0, 11 Dec 2004
++ Copyright (C) 2004, 2005, 2012 Mark Adler, all rights reserved
++ version 1.2, 14 Aug 2012
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the author be held liable for any damages
+@@ -27,6 +27,7 @@
+ *
+ * 1.0 11 Dec 2004 - First version
+ * 1.1 12 Jun 2005 - Changed ssize_t to long for portability
++ * 1.2 14 Aug 2012 - Clean up for z_const usage
+ */
+
+ /*
+@@ -308,7 +309,7 @@ local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long *tot,
+ /* inflate and copy compressed data, clear last-block bit if requested */
+ len = 0;
+ zpull(&strm, in);
+- start = strm.next_in;
++ start = in->next;
+ last = start[0] & 1;
+ if (last && clr)
+ start[0] &= ~1;
+@@ -351,7 +352,7 @@ local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long *tot,
+ pos = 0x100 >> pos;
+ last = strm.next_in[-1] & pos;
+ if (last && clr)
+- strm.next_in[-1] &= ~pos;
++ in->buf[strm.next_in - in->buf - 1] &= ~pos;
+ }
+ else {
+ /* next last-block bit is in next unused byte */
+@@ -364,14 +365,14 @@ local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long *tot,
+ }
+ last = strm.next_in[0] & 1;
+ if (last && clr)
+- strm.next_in[0] &= ~1;
++ in->buf[strm.next_in - in->buf] &= ~1;
+ }
+ }
+ }
+
+ /* update buffer with unused input */
+ in->left = strm.avail_in;
+- in->next = strm.next_in;
++ in->next = in->buf + (strm.next_in - in->buf);
+
+ /* copy used input, write empty blocks to get to byte boundary */
+ pos = strm.data_type & 7;
+diff --git a/zlib/examples/gzlog.c b/zlib/examples/gzlog.c
+index d70aaca..922f878 100644
+--- a/zlib/examples/gzlog.c
++++ b/zlib/examples/gzlog.c
+@@ -1,8 +1,8 @@
+ /*
+ * gzlog.c
+- * Copyright (C) 2004, 2008 Mark Adler, all rights reserved
++ * Copyright (C) 2004, 2008, 2012 Mark Adler, all rights reserved
+ * For conditions of distribution and use, see copyright notice in gzlog.h
+- * version 2.0, 25 Apr 2008
++ * version 2.2, 14 Aug 2012
+ */
+
+ /*
+@@ -750,7 +750,8 @@ local int log_recover(struct log *log, int op)
+ strcpy(log->end, ".add");
+ if (stat(log->path, &st) == 0 && st.st_size) {
+ len = (size_t)(st.st_size);
+- if (len != st.st_size || (data = malloc(st.st_size)) == NULL) {
++ if ((off_t)len != st.st_size ||
++ (data = malloc(st.st_size)) == NULL) {
+ log_log(log, op, "allocation failure");
+ return -2;
+ }
+@@ -758,7 +759,7 @@ local int log_recover(struct log *log, int op)
+ log_log(log, op, ".add file read failure");
+ return -1;
+ }
+- ret = read(fd, data, len) != len;
++ ret = (size_t)read(fd, data, len) != len;
+ close(fd);
+ if (ret) {
+ log_log(log, op, ".add file read failure");
+@@ -913,7 +914,7 @@ int gzlog_compress(gzlog *logd)
+ struct log *log = logd;
+
+ /* check arguments */
+- if (log == NULL || strcmp(log->id, LOGID) || len < 0)
++ if (log == NULL || strcmp(log->id, LOGID))
+ return -3;
+
+ /* see if we lost the lock -- if so get it again and reload the extra
+@@ -952,7 +953,7 @@ int gzlog_compress(gzlog *logd)
+ fd = open(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+ if (fd < 0)
+ break;
+- ret = write(fd, data, len) != len;
++ ret = (size_t)write(fd, data, len) != len;
+ if (ret | close(fd))
+ break;
+ log_touch(log);
+@@ -963,7 +964,7 @@ int gzlog_compress(gzlog *logd)
+ if (fd < 0)
+ break;
+ next = DICT > len ? len : DICT;
+- ret = write(fd, (char *)data + len - next, next) != next;
++ ret = (size_t)write(fd, (char *)data + len - next, next) != next;
+ if (ret | close(fd))
+ break;
+ log_touch(log);
+@@ -997,9 +998,9 @@ int gzlog_write(gzlog *logd, void *data, size_t len)
+ struct log *log = logd;
+
+ /* check arguments */
+- if (log == NULL || strcmp(log->id, LOGID) || len < 0)
++ if (log == NULL || strcmp(log->id, LOGID))
+ return -3;
+- if (data == NULL || len == 0)
++ if (data == NULL || len <= 0)
+ return 0;
+
+ /* see if we lost the lock -- if so get it again and reload the extra
+@@ -1013,7 +1014,7 @@ int gzlog_write(gzlog *logd, void *data, size_t len)
+ fd = open(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+ if (fd < 0)
+ return -1;
+- ret = write(fd, data, len) != len;
++ ret = (size_t)write(fd, data, len) != len;
+ if (ret | close(fd))
+ return -1;
+ log_touch(log);
+diff --git a/zlib/examples/gzlog.h b/zlib/examples/gzlog.h
+index c461426..86f0cec 100644
+--- a/zlib/examples/gzlog.h
++++ b/zlib/examples/gzlog.h
+@@ -1,6 +1,6 @@
+ /* gzlog.h
+- Copyright (C) 2004, 2008 Mark Adler, all rights reserved
+- version 2.0, 25 Apr 2008
++ Copyright (C) 2004, 2008, 2012 Mark Adler, all rights reserved
++ version 2.2, 14 Aug 2012
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the author be held liable for any damages
+@@ -27,6 +27,8 @@
+ Interface changed slightly in that now path is a prefix
+ Compression now occurs as needed during gzlog_write()
+ gzlog_write() now always leaves the log file as valid gzip
++ 2.1 8 Jul 2012 Fix argument checks in gzlog_compress() and gzlog_write()
++ 2.2 14 Aug 2012 Clean up signed comparisons
+ */
+
+ /*
+diff --git a/zlib/examples/zran.c b/zlib/examples/zran.c
+index 617a130..278f9ad 100644
+--- a/zlib/examples/zran.c
++++ b/zlib/examples/zran.c
+@@ -1,7 +1,12 @@
+ /* zran.c -- example of zlib/gzip stream indexing and random access
+- * Copyright (C) 2005 Mark Adler
++ * Copyright (C) 2005, 2012 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+- Version 1.0 29 May 2005 Mark Adler */
++ Version 1.1 29 Sep 2012 Mark Adler */
++
++/* Version History:
++ 1.0 29 May 2005 First version
++ 1.1 29 Sep 2012 Fix memory reallocation error
++ */
+
+ /* Illustrate the use of Z_BLOCK, inflatePrime(), and inflateSetDictionary()
+ for random access of a compressed file. A file containing a zlib or gzip
+@@ -221,7 +226,7 @@ local int build_index(FILE *in, off_t span, struct access **built)
+
+ /* clean up and return index (release unused entries in list) */
+ (void)inflateEnd(&strm);
+- index = realloc(index, sizeof(struct point) * index->have);
++ index->list = realloc(index->list, sizeof(struct point) * index->have);
+ index->size = index->have;
+ *built = index;
+ return index->size;
+diff --git a/zlib/gzguts.h b/zlib/gzguts.h
+index ee3f281..d87659d 100644
+--- a/zlib/gzguts.h
++++ b/zlib/gzguts.h
+@@ -1,5 +1,5 @@
+ /* gzguts.h -- zlib internal header definitions for gz* operations
+- * Copyright (C) 2004, 2005, 2010, 2011, 2012 Mark Adler
++ * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -35,6 +35,13 @@
+ # include <io.h>
+ #endif
+
++#ifdef WINAPI_FAMILY
++# define open _open
++# define read _read
++# define write _write
++# define close _close
++#endif
++
+ #ifdef NO_DEFLATE /* for compatibility with old definition */
+ # define NO_GZCOMPRESS
+ #endif
+@@ -60,7 +67,7 @@
+ #ifndef HAVE_VSNPRINTF
+ # ifdef MSDOS
+ /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
+- but for now we just assume it doesn't. */
++ but for now we just assume it doesn't. */
+ # define NO_vsnprintf
+ # endif
+ # ifdef __TURBOC__
+@@ -88,6 +95,14 @@
+ # endif
+ #endif
+
++/* unlike snprintf (which is required in C99, yet still not supported by
++ Microsoft more than a decade later!), _snprintf does not guarantee null
++ termination of the result -- however this is only used in gzlib.c where
++ the result is assured to fit in the space provided */
++#ifdef _MSC_VER
++# define snprintf _snprintf
++#endif
++
+ #ifndef local
+ # define local static
+ #endif
+@@ -127,7 +142,8 @@
+ # define DEF_MEM_LEVEL MAX_MEM_LEVEL
+ #endif
+
+-/* default i/o buffer size -- double this for output when reading */
++/* default i/o buffer size -- double this for output when reading (this and
++ twice this must be able to fit in an unsigned type) */
+ #define GZBUFSIZE 8192
+
+ /* gzip modes, also provide a little integrity check on the passed structure */
+diff --git a/zlib/gzlib.c b/zlib/gzlib.c
+index ca55c6e..fae202e 100644
+--- a/zlib/gzlib.c
++++ b/zlib/gzlib.c
+@@ -1,5 +1,5 @@
+ /* gzlib.c -- zlib functions common to reading and writing gzip files
+- * Copyright (C) 2004, 2010, 2011, 2012 Mark Adler
++ * Copyright (C) 2004, 2010, 2011, 2012, 2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -108,7 +108,7 @@ local gzFile gz_open(path, fd, mode)
+ return NULL;
+
+ /* allocate gzFile structure to return */
+- state = malloc(sizeof(gz_state));
++ state = (gz_statep)malloc(sizeof(gz_state));
+ if (state == NULL)
+ return NULL;
+ state->size = 0; /* no buffers allocated yet */
+@@ -162,8 +162,10 @@ local gzFile gz_open(path, fd, mode)
+ break;
+ case 'F':
+ state->strategy = Z_FIXED;
++ break;
+ case 'T':
+ state->direct = 1;
++ break;
+ default: /* could consider as an error, but just ignore */
+ ;
+ }
+@@ -194,8 +196,8 @@ local gzFile gz_open(path, fd, mode)
+ }
+ else
+ #endif
+- len = strlen(path);
+- state->path = malloc(len + 1);
++ len = strlen((const char *)path);
++ state->path = (char *)malloc(len + 1);
+ if (state->path == NULL) {
+ free(state);
+ return NULL;
+@@ -208,7 +210,11 @@ local gzFile gz_open(path, fd, mode)
+ *(state->path) = 0;
+ else
+ #endif
++#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
++ snprintf(state->path, len + 1, "%s", (const char *)path);
++#else
+ strcpy(state->path, path);
++#endif
+
+ /* compute the flags for open() */
+ oflag =
+@@ -236,7 +242,7 @@ local gzFile gz_open(path, fd, mode)
+ #ifdef _WIN32
+ fd == -2 ? _wopen(path, oflag, 0666) :
+ #endif
+- open(path, oflag, 0666));
++ open((const char *)path, oflag, 0666));
+ if (state->fd == -1) {
+ free(state->path);
+ free(state);
+@@ -282,9 +288,13 @@ gzFile ZEXPORT gzdopen(fd, mode)
+ char *path; /* identifier for error messages */
+ gzFile gz;
+
+- if (fd == -1 || (path = malloc(7 + 3 * sizeof(int))) == NULL)
++ if (fd == -1 || (path = (char *)malloc(7 + 3 * sizeof(int))) == NULL)
+ return NULL;
++#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
++ snprintf(path, 7 + 3 * sizeof(int), "<fd:%d>", fd); /* for debugging */
++#else
+ sprintf(path, "<fd:%d>", fd); /* for debugging */
++#endif
+ gz = gz_open(path, fd, mode);
+ free(path);
+ return gz;
+@@ -531,7 +541,8 @@ const char * ZEXPORT gzerror(file, errnum)
+ /* return error information */
+ if (errnum != NULL)
+ *errnum = state->err;
+- return state->msg == NULL ? "" : state->msg;
++ return state->err == Z_MEM_ERROR ? "out of memory" :
++ (state->msg == NULL ? "" : state->msg);
+ }
+
+ /* -- see zlib.h -- */
+@@ -582,21 +593,24 @@ void ZLIB_INTERNAL gz_error(state, err, msg)
+ if (msg == NULL)
+ return;
+
+- /* for an out of memory error, save as static string */
+- if (err == Z_MEM_ERROR) {
+- state->msg = (char *)msg;
++ /* for an out of memory error, return literal string when requested */
++ if (err == Z_MEM_ERROR)
+ return;
+- }
+
+ /* construct error message with path */
+- if ((state->msg = malloc(strlen(state->path) + strlen(msg) + 3)) == NULL) {
++ if ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) ==
++ NULL) {
+ state->err = Z_MEM_ERROR;
+- state->msg = (char *)"out of memory";
+ return;
+ }
++#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
++ snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
++ "%s%s%s", state->path, ": ", msg);
++#else
+ strcpy(state->msg, state->path);
+ strcat(state->msg, ": ");
+ strcat(state->msg, msg);
++#endif
+ return;
+ }
+
+diff --git a/zlib/gzread.c b/zlib/gzread.c
+index 3493d34..bf4538e 100644
+--- a/zlib/gzread.c
++++ b/zlib/gzread.c
+@@ -1,5 +1,5 @@
+ /* gzread.c -- zlib functions for reading gzip files
+- * Copyright (C) 2004, 2005, 2010, 2011, 2012 Mark Adler
++ * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -58,7 +58,8 @@ local int gz_avail(state)
+ return -1;
+ if (state->eof == 0) {
+ if (strm->avail_in) { /* copy what's there to the start */
+- unsigned char *p = state->in, *q = strm->next_in;
++ unsigned char *p = state->in;
++ unsigned const char *q = strm->next_in;
+ unsigned n = strm->avail_in;
+ do {
+ *p++ = *q++;
+@@ -90,8 +91,8 @@ local int gz_look(state)
+ /* allocate read buffers and inflate memory */
+ if (state->size == 0) {
+ /* allocate buffers */
+- state->in = malloc(state->want);
+- state->out = malloc(state->want << 1);
++ state->in = (unsigned char *)malloc(state->want);
++ state->out = (unsigned char *)malloc(state->want << 1);
+ if (state->in == NULL || state->out == NULL) {
+ if (state->out != NULL)
+ free(state->out);
+@@ -352,14 +353,14 @@ int ZEXPORT gzread(file, buf, len)
+
+ /* large len -- read directly into user buffer */
+ else if (state->how == COPY) { /* read directly */
+- if (gz_load(state, buf, len, &n) == -1)
++ if (gz_load(state, (unsigned char *)buf, len, &n) == -1)
+ return -1;
+ }
+
+ /* large len -- decompress directly into user buffer */
+ else { /* state->how == GZIP */
+ strm->avail_out = len;
+- strm->next_out = buf;
++ strm->next_out = (unsigned char *)buf;
+ if (gz_decomp(state) == -1)
+ return -1;
+ n = state->x.have;
+@@ -378,7 +379,11 @@ int ZEXPORT gzread(file, buf, len)
+ }
+
+ /* -- see zlib.h -- */
+-#undef gzgetc
++#ifdef Z_PREFIX_SET
++# undef z_gzgetc
++#else
++# undef gzgetc
++#endif
+ int ZEXPORT gzgetc(file)
+ gzFile file;
+ {
+@@ -518,7 +523,7 @@ char * ZEXPORT gzgets(file, buf, len)
+
+ /* look for end-of-line in current output buffer */
+ n = state->x.have > left ? left : state->x.have;
+- eol = memchr(state->x.next, '\n', n);
++ eol = (unsigned char *)memchr(state->x.next, '\n', n);
+ if (eol != NULL)
+ n = (unsigned)(eol - state->x.next) + 1;
+
+diff --git a/zlib/gzwrite.c b/zlib/gzwrite.c
+index 27cb342..aa767fb 100644
+--- a/zlib/gzwrite.c
++++ b/zlib/gzwrite.c
+@@ -1,5 +1,5 @@
+ /* gzwrite.c -- zlib functions for writing gzip files
+- * Copyright (C) 2004, 2005, 2010, 2011, 2012 Mark Adler
++ * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -19,7 +19,7 @@ local int gz_init(state)
+ z_streamp strm = &(state->strm);
+
+ /* allocate input buffer */
+- state->in = malloc(state->want);
++ state->in = (unsigned char *)malloc(state->want);
+ if (state->in == NULL) {
+ gz_error(state, Z_MEM_ERROR, "out of memory");
+ return -1;
+@@ -28,7 +28,7 @@ local int gz_init(state)
+ /* only need output buffer and deflate state if compressing */
+ if (!state->direct) {
+ /* allocate output buffer */
+- state->out = malloc(state->want);
++ state->out = (unsigned char *)malloc(state->want);
+ if (state->out == NULL) {
+ free(state->in);
+ gz_error(state, Z_MEM_ERROR, "out of memory");
+@@ -168,7 +168,6 @@ int ZEXPORT gzwrite(file, buf, len)
+ unsigned len;
+ {
+ unsigned put = len;
+- unsigned n;
+ gz_statep state;
+ z_streamp strm;
+
+@@ -208,16 +207,19 @@ int ZEXPORT gzwrite(file, buf, len)
+ if (len < state->size) {
+ /* copy to input buffer, compress when full */
+ do {
++ unsigned have, copy;
++
+ if (strm->avail_in == 0)
+ strm->next_in = state->in;
+- n = state->size - strm->avail_in;
+- if (n > len)
+- n = len;
+- memcpy(strm->next_in + strm->avail_in, buf, n);
+- strm->avail_in += n;
+- state->x.pos += n;
+- buf = (char *)buf + n;
+- len -= n;
++ have = (unsigned)((strm->next_in + strm->avail_in) - state->in);
++ copy = state->size - have;
++ if (copy > len)
++ copy = len;
++ memcpy(state->in + have, buf, copy);
++ strm->avail_in += copy;
++ state->x.pos += copy;
++ buf = (const char *)buf + copy;
++ len -= copy;
+ if (len && gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+ } while (len);
+@@ -229,7 +231,7 @@ int ZEXPORT gzwrite(file, buf, len)
+
+ /* directly compress user buffer to file */
+ strm->avail_in = len;
+- strm->next_in = (voidp)buf;
++ strm->next_in = (z_const Bytef *)buf;
+ state->x.pos += len;
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+@@ -244,6 +246,7 @@ int ZEXPORT gzputc(file, c)
+ gzFile file;
+ int c;
+ {
++ unsigned have;
+ unsigned char buf[1];
+ gz_statep state;
+ z_streamp strm;
+@@ -267,12 +270,16 @@ int ZEXPORT gzputc(file, c)
+
+ /* try writing to input buffer for speed (state->size == 0 if buffer not
+ initialized) */
+- if (strm->avail_in < state->size) {
++ if (state->size) {
+ if (strm->avail_in == 0)
+ strm->next_in = state->in;
+- strm->next_in[strm->avail_in++] = c;
+- state->x.pos++;
+- return c & 0xff;
++ have = (unsigned)((strm->next_in + strm->avail_in) - state->in);
++ if (have < state->size) {
++ state->in[have] = c;
++ strm->avail_in++;
++ state->x.pos++;
++ return c & 0xff;
++ }
+ }
+
+ /* no room in buffer or not initialized, use gz_write() */
+@@ -300,12 +307,11 @@ int ZEXPORT gzputs(file, str)
+ #include <stdarg.h>
+
+ /* -- see zlib.h -- */
+-int ZEXPORTVA gzprintf (gzFile file, const char *format, ...)
++int ZEXPORTVA gzvprintf(gzFile file, const char *format, va_list va)
+ {
+ int size, len;
+ gz_statep state;
+ z_streamp strm;
+- va_list va;
+
+ /* get internal structure */
+ if (file == NULL)
+@@ -335,25 +341,20 @@ int ZEXPORTVA gzprintf (gzFile file, const char *format, ...)
+ /* do the printf() into the input buffer, put length in len */
+ size = (int)(state->size);
+ state->in[size - 1] = 0;
+- va_start(va, format);
+ #ifdef NO_vsnprintf
+ # ifdef HAS_vsprintf_void
+ (void)vsprintf((char *)(state->in), format, va);
+- va_end(va);
+ for (len = 0; len < size; len++)
+ if (state->in[len] == 0) break;
+ # else
+ len = vsprintf((char *)(state->in), format, va);
+- va_end(va);
+ # endif
+ #else
+ # ifdef HAS_vsnprintf_void
+ (void)vsnprintf((char *)(state->in), size, format, va);
+- va_end(va);
+ len = strlen((char *)(state->in));
+ # else
+ len = vsnprintf((char *)(state->in), size, format, va);
+- va_end(va);
+ # endif
+ #endif
+
+@@ -368,6 +369,17 @@ int ZEXPORTVA gzprintf (gzFile file, const char *format, ...)
+ return len;
+ }
+
++int ZEXPORTVA gzprintf(gzFile file, const char *format, ...)
++{
++ va_list va;
++ int ret;
++
++ va_start(va, format);
++ ret = gzvprintf(file, format, va);
++ va_end(va);
++ return ret;
++}
++
+ #else /* !STDC && !Z_HAVE_STDARG_H */
+
+ /* -- see zlib.h -- */
+@@ -547,9 +559,9 @@ int ZEXPORT gzclose_w(file)
+ }
+
+ /* flush, free memory, and close file */
++ if (gz_comp(state, Z_FINISH) == -1)
++ ret = state->err;
+ if (state->size) {
+- if (gz_comp(state, Z_FINISH) == -1)
+- ret = state->err;
+ if (!state->direct) {
+ (void)deflateEnd(&(state->strm));
+ free(state->out);
+diff --git a/zlib/infback.c b/zlib/infback.c
+index 981aff1..f3833c2 100644
+--- a/zlib/infback.c
++++ b/zlib/infback.c
+@@ -255,7 +255,7 @@ out_func out;
+ void FAR *out_desc;
+ {
+ struct inflate_state FAR *state;
+- unsigned char FAR *next; /* next input */
++ z_const unsigned char FAR *next; /* next input */
+ unsigned char FAR *put; /* next output */
+ unsigned have, left; /* available input and output */
+ unsigned long hold; /* bit buffer */
+diff --git a/zlib/inffast.c b/zlib/inffast.c
+index 2f1d60b..bda59ce 100644
+--- a/zlib/inffast.c
++++ b/zlib/inffast.c
+@@ -1,5 +1,5 @@
+ /* inffast.c -- fast decoding
+- * Copyright (C) 1995-2008, 2010 Mark Adler
++ * Copyright (C) 1995-2008, 2010, 2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -69,8 +69,8 @@ z_streamp strm;
+ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ {
+ struct inflate_state FAR *state;
+- unsigned char FAR *in; /* local strm->next_in */
+- unsigned char FAR *last; /* while in < last, enough input available */
++ z_const unsigned char FAR *in; /* local strm->next_in */
++ z_const unsigned char FAR *last; /* have enough input while in < last */
+ unsigned char FAR *out; /* local strm->next_out */
+ unsigned char FAR *beg; /* inflate()'s initial strm->next_out */
+ unsigned char FAR *end; /* while out < end, enough space available */
+diff --git a/zlib/inflate.c b/zlib/inflate.c
+index 47418a1..870f89b 100644
+--- a/zlib/inflate.c
++++ b/zlib/inflate.c
+@@ -93,11 +93,12 @@
+
+ /* function prototypes */
+ local void fixedtables OF((struct inflate_state FAR *state));
+-local int updatewindow OF((z_streamp strm, unsigned out));
++local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
++ unsigned copy));
+ #ifdef BUILDFIXED
+ void makefixed OF((void));
+ #endif
+-local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf,
++local unsigned syncsearch OF((unsigned FAR *have, const unsigned char FAR *buf,
+ unsigned len));
+
+ int ZEXPORT inflateResetKeep(strm)
+@@ -375,12 +376,13 @@ void makefixed()
+ output will fall in the output data, making match copies simpler and faster.
+ The advantage may be dependent on the size of the processor's data caches.
+ */
+-local int updatewindow(strm, out)
++local int updatewindow(strm, end, copy)
+ z_streamp strm;
+-unsigned out;
++const Bytef *end;
++unsigned copy;
+ {
+ struct inflate_state FAR *state;
+- unsigned copy, dist;
++ unsigned dist;
+
+ state = (struct inflate_state FAR *)strm->state;
+
+@@ -400,19 +402,18 @@ unsigned out;
+ }
+
+ /* copy state->wsize or less output bytes into the circular window */
+- copy = out - strm->avail_out;
+ if (copy >= state->wsize) {
+- zmemcpy(state->window, strm->next_out - state->wsize, state->wsize);
++ zmemcpy(state->window, end - state->wsize, state->wsize);
+ state->wnext = 0;
+ state->whave = state->wsize;
+ }
+ else {
+ dist = state->wsize - state->wnext;
+ if (dist > copy) dist = copy;
+- zmemcpy(state->window + state->wnext, strm->next_out - copy, dist);
++ zmemcpy(state->window + state->wnext, end - copy, dist);
+ copy -= dist;
+ if (copy) {
+- zmemcpy(state->window, strm->next_out - copy, copy);
++ zmemcpy(state->window, end - copy, copy);
+ state->wnext = copy;
+ state->whave = state->wsize;
+ }
+@@ -606,7 +607,7 @@ z_streamp strm;
+ int flush;
+ {
+ struct inflate_state FAR *state;
+- unsigned char FAR *next; /* next input */
++ z_const unsigned char FAR *next; /* next input */
+ unsigned char FAR *put; /* next output */
+ unsigned have, left; /* available input and output */
+ unsigned long hold; /* bit buffer */
+@@ -920,7 +921,7 @@ int flush;
+ while (state->have < 19)
+ state->lens[order[state->have++]] = 0;
+ state->next = state->codes;
+- state->lencode = (code const FAR *)(state->next);
++ state->lencode = (const code FAR *)(state->next);
+ state->lenbits = 7;
+ ret = inflate_table(CODES, state->lens, 19, &(state->next),
+ &(state->lenbits), state->work);
+@@ -994,7 +995,7 @@ int flush;
+ values here (9 and 6) without reading the comments in inftrees.h
+ concerning the ENOUGH constants, which depend on those values */
+ state->next = state->codes;
+- state->lencode = (code const FAR *)(state->next);
++ state->lencode = (const code FAR *)(state->next);
+ state->lenbits = 9;
+ ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),
+ &(state->lenbits), state->work);
+@@ -1003,7 +1004,7 @@ int flush;
+ state->mode = BAD;
+ break;
+ }
+- state->distcode = (code const FAR *)(state->next);
++ state->distcode = (const code FAR *)(state->next);
+ state->distbits = 6;
+ ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,
+ &(state->next), &(state->distbits), state->work);
+@@ -1230,7 +1231,7 @@ int flush;
+ RESTORE();
+ if (state->wsize || (out != strm->avail_out && state->mode < BAD &&
+ (state->mode < CHECK || flush != Z_FINISH)))
+- if (updatewindow(strm, out)) {
++ if (updatewindow(strm, strm->next_out, out - strm->avail_out)) {
+ state->mode = MEM;
+ return Z_MEM_ERROR;
+ }
+@@ -1264,6 +1265,29 @@ z_streamp strm;
+ return Z_OK;
+ }
+
++int ZEXPORT inflateGetDictionary(strm, dictionary, dictLength)
++z_streamp strm;
++Bytef *dictionary;
++uInt *dictLength;
++{
++ struct inflate_state FAR *state;
++
++ /* check state */
++ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
++ state = (struct inflate_state FAR *)strm->state;
++
++ /* copy dictionary */
++ if (state->whave && dictionary != Z_NULL) {
++ zmemcpy(dictionary, state->window + state->wnext,
++ state->whave - state->wnext);
++ zmemcpy(dictionary + state->whave - state->wnext,
++ state->window, state->wnext);
++ }
++ if (dictLength != Z_NULL)
++ *dictLength = state->whave;
++ return Z_OK;
++}
++
+ int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength)
+ z_streamp strm;
+ const Bytef *dictionary;
+@@ -1271,8 +1295,6 @@ uInt dictLength;
+ {
+ struct inflate_state FAR *state;
+ unsigned long dictid;
+- unsigned char *next;
+- unsigned avail;
+ int ret;
+
+ /* check state */
+@@ -1291,13 +1313,7 @@ uInt dictLength;
+
+ /* copy dictionary to window using updatewindow(), which will amend the
+ existing dictionary if appropriate */
+- next = strm->next_out;
+- avail = strm->avail_out;
+- strm->next_out = (Bytef *)dictionary + dictLength;
+- strm->avail_out = 0;
+- ret = updatewindow(strm, dictLength);
+- strm->avail_out = avail;
+- strm->next_out = next;
++ ret = updatewindow(strm, dictionary + dictLength, dictLength);
+ if (ret) {
+ state->mode = MEM;
+ return Z_MEM_ERROR;
+@@ -1337,7 +1353,7 @@ gz_headerp head;
+ */
+ local unsigned syncsearch(have, buf, len)
+ unsigned FAR *have;
+-unsigned char FAR *buf;
++const unsigned char FAR *buf;
+ unsigned len;
+ {
+ unsigned got;
+diff --git a/zlib/inftrees.c b/zlib/inftrees.c
+index abcd7c4..44d89cf 100644
+--- a/zlib/inftrees.c
++++ b/zlib/inftrees.c
+@@ -1,5 +1,5 @@
+ /* inftrees.c -- generate Huffman trees for efficient decoding
+- * Copyright (C) 1995-2012 Mark Adler
++ * Copyright (C) 1995-2013 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -9,7 +9,7 @@
+ #define MAXBITS 15
+
+ const char inflate_copyright[] =
+- " inflate 1.2.7 Copyright 1995-2012 Mark Adler ";
++ " inflate 1.2.8 Copyright 1995-2013 Mark Adler ";
+ /*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+@@ -62,7 +62,7 @@ unsigned short FAR *work;
+ 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
+ static const unsigned short lext[31] = { /* Length codes 257..285 extra */
+ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
+- 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 78, 68};
++ 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78};
+ static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
+ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
+ 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
+@@ -208,8 +208,8 @@ unsigned short FAR *work;
+ mask = used - 1; /* mask for comparing low */
+
+ /* check available table space */
+- if ((type == LENS && used >= ENOUGH_LENS) ||
+- (type == DISTS && used >= ENOUGH_DISTS))
++ if ((type == LENS && used > ENOUGH_LENS) ||
++ (type == DISTS && used > ENOUGH_DISTS))
+ return 1;
+
+ /* process all codes and make table entries */
+@@ -277,8 +277,8 @@ unsigned short FAR *work;
+
+ /* check for enough space */
+ used += 1U << curr;
+- if ((type == LENS && used >= ENOUGH_LENS) ||
+- (type == DISTS && used >= ENOUGH_DISTS))
++ if ((type == LENS && used > ENOUGH_LENS) ||
++ (type == DISTS && used > ENOUGH_DISTS))
+ return 1;
+
+ /* point entry in root table to sub-table */
+diff --git a/zlib/qnx/package.qpg b/zlib/qnx/package.qpg
+index 26eed9b..aebf6e3 100644
+--- a/zlib/qnx/package.qpg
++++ b/zlib/qnx/package.qpg
+@@ -25,10 +25,10 @@
+ <QPG:Files>
+ <QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
+ <QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
+- <QPG:Add file="../libz.so.1.2.7" install="/opt/lib/" user="root:bin" permission="644"/>
+- <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.7"/>
+- <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.7"/>
+- <QPG:Add file="../libz.so.1.2.7" install="/opt/lib/" component="slib"/>
++ <QPG:Add file="../libz.so.1.2.8" install="/opt/lib/" user="root:bin" permission="644"/>
++ <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.8"/>
++ <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.8"/>
++ <QPG:Add file="../libz.so.1.2.8" install="/opt/lib/" component="slib"/>
+ </QPG:Files>
+
+ <QPG:PackageFilter>
+@@ -63,7 +63,7 @@
+ </QPM:ProductDescription>
+
+ <QPM:ReleaseDescription>
+- <QPM:ReleaseVersion>1.2.7</QPM:ReleaseVersion>
++ <QPM:ReleaseVersion>1.2.8</QPM:ReleaseVersion>
+ <QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
+ <QPM:ReleaseStability>Stable</QPM:ReleaseStability>
+ <QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
+diff --git a/zlib/test/example.c b/zlib/test/example.c
+index f515a48..138a699 100644
+--- a/zlib/test/example.c
++++ b/zlib/test/example.c
+@@ -26,7 +26,7 @@
+ } \
+ }
+
+-const char hello[] = "hello, hello!";
++z_const char hello[] = "hello, hello!";
+ /* "hello world" would be more standard, but the repeated "hello"
+ * stresses the compression code better, sorry...
+ */
+@@ -212,7 +212,7 @@ void test_deflate(compr, comprLen)
+ err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);
+ CHECK_ERR(err, "deflateInit");
+
+- c_stream.next_in = (Bytef*)hello;
++ c_stream.next_in = (z_const unsigned char *)hello;
+ c_stream.next_out = compr;
+
+ while (c_stream.total_in != len && c_stream.total_out < comprLen) {
+@@ -387,7 +387,7 @@ void test_flush(compr, comprLen)
+ err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);
+ CHECK_ERR(err, "deflateInit");
+
+- c_stream.next_in = (Bytef*)hello;
++ c_stream.next_in = (z_const unsigned char *)hello;
+ c_stream.next_out = compr;
+ c_stream.avail_in = 3;
+ c_stream.avail_out = (uInt)*comprLen;
+@@ -476,7 +476,7 @@ void test_dict_deflate(compr, comprLen)
+ c_stream.next_out = compr;
+ c_stream.avail_out = (uInt)comprLen;
+
+- c_stream.next_in = (Bytef*)hello;
++ c_stream.next_in = (z_const unsigned char *)hello;
+ c_stream.avail_in = (uInt)strlen(hello)+1;
+
+ err = deflate(&c_stream, Z_FINISH);
+diff --git a/zlib/test/minigzip.c b/zlib/test/minigzip.c
+index aa7ac7a..b3025a4 100644
+--- a/zlib/test/minigzip.c
++++ b/zlib/test/minigzip.c
+@@ -40,6 +40,10 @@
+ # define SET_BINARY_MODE(file)
+ #endif
+
++#ifdef _MSC_VER
++# define snprintf _snprintf
++#endif
++
+ #ifdef VMS
+ # define unlink delete
+ # define GZ_SUFFIX "-gz"
+@@ -463,8 +467,12 @@ void file_compress(file, mode)
+ exit(1);
+ }
+
++#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
++ snprintf(outfile, sizeof(outfile), "%s%s", file, GZ_SUFFIX);
++#else
+ strcpy(outfile, file);
+ strcat(outfile, GZ_SUFFIX);
++#endif
+
+ in = fopen(file, "rb");
+ if (in == NULL) {
+@@ -499,7 +507,11 @@ void file_uncompress(file)
+ exit(1);
+ }
+
++#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
++ snprintf(buf, sizeof(buf), "%s", file);
++#else
+ strcpy(buf, file);
++#endif
+
+ if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) {
+ infile = file;
+@@ -508,7 +520,11 @@ void file_uncompress(file)
+ } else {
+ outfile = file;
+ infile = buf;
++#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
++ snprintf(buf + len, sizeof(buf) - len, "%s", GZ_SUFFIX);
++#else
+ strcat(infile, GZ_SUFFIX);
++#endif
+ }
+ in = gzopen(infile, "rb");
+ if (in == NULL) {
+@@ -546,7 +562,11 @@ int main(argc, argv)
+ gzFile file;
+ char *bname, outmode[20];
+
++#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
++ snprintf(outmode, sizeof(outmode), "%s", "wb6 ");
++#else
+ strcpy(outmode, "wb6 ");
++#endif
+
+ prog = argv[0];
+ bname = strrchr(argv[0], '/');
+diff --git a/zlib/treebuild.xml b/zlib/treebuild.xml
+index 1f4d15f..38d29d7 100644
+--- a/zlib/treebuild.xml
++++ b/zlib/treebuild.xml
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" ?>
+-<package name="zlib" version="1.2.7">
+- <library name="zlib" dlversion="1.2.7" dlname="z">
++<package name="zlib" version="1.2.8">
++ <library name="zlib" dlversion="1.2.8" dlname="z">
+ <property name="description"> zip compression library </property>
+ <property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
+
+diff --git a/zlib/trees.c b/zlib/trees.c
+index cd0af2d..4b5dfa1 100644
+--- a/zlib/trees.c
++++ b/zlib/trees.c
+@@ -146,8 +146,8 @@ local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
+ local int build_bl_tree OF((deflate_state *s));
+ local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
+ int blcodes));
+-local void compress_block OF((deflate_state *s, ct_data *ltree,
+- ct_data *dtree));
++local void compress_block OF((deflate_state *s, const ct_data *ltree,
++ const ct_data *dtree));
+ local int detect_data_type OF((deflate_state *s));
+ local unsigned bi_reverse OF((unsigned value, int length));
+ local void bi_windup OF((deflate_state *s));
+@@ -972,7 +972,8 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
+ } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) {
+ #endif
+ send_bits(s, (STATIC_TREES<<1)+last, 3);
+- compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
++ compress_block(s, (const ct_data *)static_ltree,
++ (const ct_data *)static_dtree);
+ #ifdef DEBUG
+ s->compressed_len += 3 + s->static_len;
+ #endif
+@@ -980,7 +981,8 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
+ send_bits(s, (DYN_TREES<<1)+last, 3);
+ send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
+ max_blindex+1);
+- compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
++ compress_block(s, (const ct_data *)s->dyn_ltree,
++ (const ct_data *)s->dyn_dtree);
+ #ifdef DEBUG
+ s->compressed_len += 3 + s->opt_len;
+ #endif
+@@ -1057,8 +1059,8 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc)
+ */
+ local void compress_block(s, ltree, dtree)
+ deflate_state *s;
+- ct_data *ltree; /* literal tree */
+- ct_data *dtree; /* distance tree */
++ const ct_data *ltree; /* literal tree */
++ const ct_data *dtree; /* distance tree */
+ {
+ unsigned dist; /* distance of matched string */
+ int lc; /* match length or unmatched char (if dist == 0) */
+diff --git a/zlib/uncompr.c b/zlib/uncompr.c
+index 8a2e1f9..cf2e3a0 100644
+--- a/zlib/uncompr.c
++++ b/zlib/uncompr.c
+@@ -30,7 +30,7 @@ int ZEXPORT uncompress (dest, destLen, source, sourceLen)
+ z_stream stream;
+ int err;
+
+- stream.next_in = (Bytef*)source;
++ stream.next_in = (z_const Bytef *)source;
+ stream.avail_in = (uInt)sourceLen;
+ /* Check for source > 64K on 16-bit machine: */
+ if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
+diff --git a/zlib/win32/Makefile.msc b/zlib/win32/Makefile.msc
+index 59bb0da..67b7731 100644
+--- a/zlib/win32/Makefile.msc
++++ b/zlib/win32/Makefile.msc
+@@ -9,6 +9,10 @@
+ # nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." \
+ # OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" (use ASM code, x64)
+
++# The toplevel directory of the source tree.
++#
++TOP = .
++
+ # optional build flags
+ LOC =
+
+@@ -43,8 +47,8 @@ $(STATICLIB): $(OBJS) $(OBJA)
+
+ $(IMPLIB): $(SHAREDLIB)
+
+-$(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlib1.res
+- $(LD) $(LDFLAGS) -def:win32/zlib.def -dll -implib:$(IMPLIB) \
++$(SHAREDLIB): $(TOP)/win32/zlib.def $(OBJS) $(OBJA) zlib1.res
++ $(LD) $(LDFLAGS) -def:$(TOP)/win32/zlib.def -dll -implib:$(IMPLIB) \
+ -out:$@ -base:0x5A4C0000 $(OBJS) $(OBJA) zlib1.res
+ if exist $@.manifest \
+ mt -nologo -manifest $@.manifest -outputresource:$@;2
+@@ -69,72 +73,71 @@ minigzip_d.exe: minigzip.obj $(IMPLIB)
+ if exist $@.manifest \
+ mt -nologo -manifest $@.manifest -outputresource:$@;1
+
+-.c.obj:
++{$(TOP)}.c.obj:
+ $(CC) -c $(WFLAGS) $(CFLAGS) $<
+
+-{test}.c.obj:
+- $(CC) -c -I. $(WFLAGS) $(CFLAGS) $<
++{$(TOP)/test}.c.obj:
++ $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) $<
+
+-{contrib/masmx64}.c.obj:
++{$(TOP)/contrib/masmx64}.c.obj:
+ $(CC) -c $(WFLAGS) $(CFLAGS) $<
+
+-{contrib/masmx64}.asm.obj:
++{$(TOP)/contrib/masmx64}.asm.obj:
+ $(AS) -c $(ASFLAGS) $<
+
+-{contrib/masmx86}.asm.obj:
++{$(TOP)/contrib/masmx86}.asm.obj:
+ $(AS) -c $(ASFLAGS) $<
+
+-adler32.obj: adler32.c zlib.h zconf.h
+-
+-compress.obj: compress.c zlib.h zconf.h
++adler32.obj: $(TOP)/adler32.c $(TOP)/zlib.h $(TOP)/zconf.h
+
+-crc32.obj: crc32.c zlib.h zconf.h crc32.h
++compress.obj: $(TOP)/compress.c $(TOP)/zlib.h $(TOP)/zconf.h
+
+-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
++crc32.obj: $(TOP)/crc32.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/crc32.h
+
+-gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h
++deflate.obj: $(TOP)/deflate.c $(TOP)/deflate.h $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h
+
+-gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h
++gzclose.obj: $(TOP)/gzclose.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
+
+-gzread.obj: gzread.c zlib.h zconf.h gzguts.h
++gzlib.obj: $(TOP)/gzlib.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
+
+-gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h
++gzread.obj: $(TOP)/gzread.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
+
+-infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
+- inffast.h inffixed.h
++gzwrite.obj: $(TOP)/gzwrite.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
+
+-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
+- inffast.h
++infback.obj: $(TOP)/infback.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h $(TOP)/inflate.h \
++ $(TOP)/inffast.h $(TOP)/inffixed.h
+
+-inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
+- inffast.h inffixed.h
++inffast.obj: $(TOP)/inffast.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h $(TOP)/inflate.h \
++ $(TOP)/inffast.h
+
+-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
++inflate.obj: $(TOP)/inflate.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h $(TOP)/inflate.h \
++ $(TOP)/inffast.h $(TOP)/inffixed.h
+
+-trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h
++inftrees.obj: $(TOP)/inftrees.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h
+
+-uncompr.obj: uncompr.c zlib.h zconf.h
++trees.obj: $(TOP)/trees.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/deflate.h $(TOP)/trees.h
+
+-zutil.obj: zutil.c zutil.h zlib.h zconf.h
++uncompr.obj: $(TOP)/uncompr.c $(TOP)/zlib.h $(TOP)/zconf.h
+
+-gvmat64.obj: contrib\masmx64\gvmat64.asm
++zutil.obj: $(TOP)/zutil.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h
+
+-inffasx64.obj: contrib\masmx64\inffasx64.asm
++gvmat64.obj: $(TOP)/contrib\masmx64\gvmat64.asm
+
+-inffas8664.obj: contrib\masmx64\inffas8664.c zutil.h zlib.h zconf.h \
+- inftrees.h inflate.h inffast.h
++inffasx64.obj: $(TOP)/contrib\masmx64\inffasx64.asm
+
+-inffas32.obj: contrib\masmx86\inffas32.asm
++inffas8664.obj: $(TOP)/contrib\masmx64\inffas8664.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h \
++ $(TOP)/inftrees.h $(TOP)/inflate.h $(TOP)/inffast.h
+
+-match686.obj: contrib\masmx86\match686.asm
++inffas32.obj: $(TOP)/contrib\masmx86\inffas32.asm
+
+-example.obj: test/example.c zlib.h zconf.h
++match686.obj: $(TOP)/contrib\masmx86\match686.asm
+
+-minigzip.obj: test/minigzip.c zlib.h zconf.h
++example.obj: $(TOP)/test/example.c $(TOP)/zlib.h $(TOP)/zconf.h
+
+-zlib1.res: win32/zlib1.rc
+- $(RC) $(RCFLAGS) /fo$@ win32/zlib1.rc
++minigzip.obj: $(TOP)/test/minigzip.c $(TOP)/zlib.h $(TOP)/zconf.h
+
++zlib1.res: $(TOP)/win32/zlib1.rc
++ $(RC) $(RCFLAGS) /fo$@ $(TOP)/win32/zlib1.rc
+
+ # testing
+ test: example.exe minigzip.exe
+diff --git a/zlib/win32/README-WIN32.txt b/zlib/win32/README-WIN32.txt
+index 46c5923..3d77d52 100644
+--- a/zlib/win32/README-WIN32.txt
++++ b/zlib/win32/README-WIN32.txt
+@@ -1,6 +1,6 @@
+ ZLIB DATA COMPRESSION LIBRARY
+
+-zlib 1.2.7 is a general purpose data compression library. All the code is
++zlib 1.2.8 is a general purpose data compression library. All the code is
+ thread safe. The data format used by the zlib library is described by RFCs
+ (Request for Comments) 1950 to 1952 in the files
+ http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
+@@ -22,7 +22,7 @@ before asking for help.
+
+ Manifest:
+
+-The package zlib-1.2.7-win32-x86.zip will contain the following files:
++The package zlib-1.2.8-win32-x86.zip will contain the following files:
+
+ README-WIN32.txt This document
+ ChangeLog Changes since previous zlib packages
+diff --git a/zlib/win32/zlib.def b/zlib/win32/zlib.def
+index 0489615..face655 100644
+--- a/zlib/win32/zlib.def
++++ b/zlib/win32/zlib.def
+@@ -17,6 +17,7 @@ EXPORTS
+ deflatePrime
+ deflateSetHeader
+ inflateSetDictionary
++ inflateGetDictionary
+ inflateSync
+ inflateCopy
+ inflateReset
+@@ -39,6 +40,7 @@ EXPORTS
+ gzread
+ gzwrite
+ gzprintf
++ gzvprintf
+ gzputs
+ gzgets
+ gzputc
+diff --git a/zlib/win32/zlib1.rc b/zlib/win32/zlib1.rc
+index 0d1d7ff..5c0feed 100644
+--- a/zlib/win32/zlib1.rc
++++ b/zlib/win32/zlib1.rc
+@@ -26,7 +26,7 @@ BEGIN
+ VALUE "FileDescription", "zlib data compression library\0"
+ VALUE "FileVersion", ZLIB_VERSION "\0"
+ VALUE "InternalName", "zlib1.dll\0"
+- VALUE "LegalCopyright", "(C) 1995-2006 Jean-loup Gailly & Mark Adler\0"
++ VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
+ VALUE "OriginalFilename", "zlib1.dll\0"
+ VALUE "ProductName", "zlib\0"
+ VALUE "ProductVersion", ZLIB_VERSION "\0"
+diff --git a/zlib/zconf.h b/zlib/zconf.h
+index 18dcee1..da7fd94 100644
+--- a/zlib/zconf.h
++++ b/zlib/zconf.h
+@@ -1,5 +1,5 @@
+ /* zconf.h -- configuration of the zlib compression library
+- * Copyright (C) 1995-2012 Jean-loup Gailly.
++ * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -21,6 +21,7 @@
+ # define _dist_code z__dist_code
+ # define _length_code z__length_code
+ # define _tr_align z__tr_align
++# define _tr_flush_bits z__tr_flush_bits
+ # define _tr_flush_block z__tr_flush_block
+ # define _tr_init z__tr_init
+ # define _tr_stored_block z__tr_stored_block
+@@ -77,6 +78,7 @@
+ # define gzopen_w z_gzopen_w
+ # endif
+ # define gzprintf z_gzprintf
++# define gzvprintf z_gzvprintf
+ # define gzputc z_gzputc
+ # define gzputs z_gzputs
+ # define gzread z_gzread
+@@ -103,6 +105,7 @@
+ # define inflateReset z_inflateReset
+ # define inflateReset2 z_inflateReset2
+ # define inflateSetDictionary z_inflateSetDictionary
++# define inflateGetDictionary z_inflateGetDictionary
+ # define inflateSync z_inflateSync
+ # define inflateSyncPoint z_inflateSyncPoint
+ # define inflateUndermine z_inflateUndermine
+@@ -388,20 +391,14 @@ typedef uLong FAR uLongf;
+ typedef Byte *voidp;
+ #endif
+
+-/* ./configure may #define Z_U4 here */
+-
+ #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
+ # include <limits.h>
+ # if (UINT_MAX == 0xffffffffUL)
+ # define Z_U4 unsigned
+-# else
+-# if (ULONG_MAX == 0xffffffffUL)
+-# define Z_U4 unsigned long
+-# else
+-# if (USHRT_MAX == 0xffffffffUL)
+-# define Z_U4 unsigned short
+-# endif
+-# endif
++# elif (ULONG_MAX == 0xffffffffUL)
++# define Z_U4 unsigned long
++# elif (USHRT_MAX == 0xffffffffUL)
++# define Z_U4 unsigned short
+ # endif
+ #endif
+
+@@ -425,8 +422,16 @@ typedef uLong FAR uLongf;
+ # endif
+ #endif
+
++#if defined(STDC) || defined(Z_HAVE_STDARG_H)
++# ifndef Z_SOLO
++# include <stdarg.h> /* for va_list */
++# endif
++#endif
++
+ #ifdef _WIN32
+-# include <stddef.h> /* for wchar_t */
++# ifndef Z_SOLO
++# include <stddef.h> /* for wchar_t */
++# endif
+ #endif
+
+ /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+@@ -435,7 +440,7 @@ typedef uLong FAR uLongf;
+ * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
+ * equivalently requesting no 64-bit operations
+ */
+-#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
++#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
+ # undef _LARGEFILE64_SOURCE
+ #endif
+
+@@ -443,7 +448,7 @@ typedef uLong FAR uLongf;
+ # define Z_HAVE_UNISTD_H
+ #endif
+ #ifndef Z_SOLO
+-# if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE)
++# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
+ # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
+ # ifdef VMS
+ # include <unixio.h> /* for off_t */
+diff --git a/zlib/zconf.h.cmakein b/zlib/zconf.h.cmakein
+index b6ca59a..043019c 100644
+--- a/zlib/zconf.h.cmakein
++++ b/zlib/zconf.h.cmakein
+@@ -1,5 +1,5 @@
+ /* zconf.h -- configuration of the zlib compression library
+- * Copyright (C) 1995-2012 Jean-loup Gailly.
++ * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -23,6 +23,7 @@
+ # define _dist_code z__dist_code
+ # define _length_code z__length_code
+ # define _tr_align z__tr_align
++# define _tr_flush_bits z__tr_flush_bits
+ # define _tr_flush_block z__tr_flush_block
+ # define _tr_init z__tr_init
+ # define _tr_stored_block z__tr_stored_block
+@@ -79,6 +80,7 @@
+ # define gzopen_w z_gzopen_w
+ # endif
+ # define gzprintf z_gzprintf
++# define gzvprintf z_gzvprintf
+ # define gzputc z_gzputc
+ # define gzputs z_gzputs
+ # define gzread z_gzread
+@@ -105,6 +107,7 @@
+ # define inflateReset z_inflateReset
+ # define inflateReset2 z_inflateReset2
+ # define inflateSetDictionary z_inflateSetDictionary
++# define inflateGetDictionary z_inflateGetDictionary
+ # define inflateSync z_inflateSync
+ # define inflateSyncPoint z_inflateSyncPoint
+ # define inflateUndermine z_inflateUndermine
+@@ -390,20 +393,14 @@ typedef uLong FAR uLongf;
+ typedef Byte *voidp;
+ #endif
+
+-/* ./configure may #define Z_U4 here */
+-
+ #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
+ # include <limits.h>
+ # if (UINT_MAX == 0xffffffffUL)
+ # define Z_U4 unsigned
+-# else
+-# if (ULONG_MAX == 0xffffffffUL)
+-# define Z_U4 unsigned long
+-# else
+-# if (USHRT_MAX == 0xffffffffUL)
+-# define Z_U4 unsigned short
+-# endif
+-# endif
++# elif (ULONG_MAX == 0xffffffffUL)
++# define Z_U4 unsigned long
++# elif (USHRT_MAX == 0xffffffffUL)
++# define Z_U4 unsigned short
+ # endif
+ #endif
+
+@@ -427,8 +424,16 @@ typedef uLong FAR uLongf;
+ # endif
+ #endif
+
++#if defined(STDC) || defined(Z_HAVE_STDARG_H)
++# ifndef Z_SOLO
++# include <stdarg.h> /* for va_list */
++# endif
++#endif
++
+ #ifdef _WIN32
+-# include <stddef.h> /* for wchar_t */
++# ifndef Z_SOLO
++# include <stddef.h> /* for wchar_t */
++# endif
+ #endif
+
+ /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+@@ -437,7 +442,7 @@ typedef uLong FAR uLongf;
+ * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
+ * equivalently requesting no 64-bit operations
+ */
+-#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
++#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
+ # undef _LARGEFILE64_SOURCE
+ #endif
+
+@@ -445,7 +450,7 @@ typedef uLong FAR uLongf;
+ # define Z_HAVE_UNISTD_H
+ #endif
+ #ifndef Z_SOLO
+-# if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE)
++# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
+ # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
+ # ifdef VMS
+ # include <unixio.h> /* for off_t */
+diff --git a/zlib/zconf.h.in b/zlib/zconf.h.in
+index 8a46a58..9987a77 100644
+--- a/zlib/zconf.h.in
++++ b/zlib/zconf.h.in
+@@ -1,5 +1,5 @@
+ /* zconf.h -- configuration of the zlib compression library
+- * Copyright (C) 1995-2012 Jean-loup Gailly.
++ * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -21,6 +21,7 @@
+ # define _dist_code z__dist_code
+ # define _length_code z__length_code
+ # define _tr_align z__tr_align
++# define _tr_flush_bits z__tr_flush_bits
+ # define _tr_flush_block z__tr_flush_block
+ # define _tr_init z__tr_init
+ # define _tr_stored_block z__tr_stored_block
+@@ -77,6 +78,7 @@
+ # define gzopen_w z_gzopen_w
+ # endif
+ # define gzprintf z_gzprintf
++# define gzvprintf z_gzvprintf
+ # define gzputc z_gzputc
+ # define gzputs z_gzputs
+ # define gzread z_gzread
+@@ -103,6 +105,7 @@
+ # define inflateReset z_inflateReset
+ # define inflateReset2 z_inflateReset2
+ # define inflateSetDictionary z_inflateSetDictionary
++# define inflateGetDictionary z_inflateGetDictionary
+ # define inflateSync z_inflateSync
+ # define inflateSyncPoint z_inflateSyncPoint
+ # define inflateUndermine z_inflateUndermine
+@@ -388,20 +391,14 @@ typedef uLong FAR uLongf;
+ typedef Byte *voidp;
+ #endif
+
+-/* ./configure may #define Z_U4 here */
+-
+ #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
+ # include <limits.h>
+ # if (UINT_MAX == 0xffffffffUL)
+ # define Z_U4 unsigned
+-# else
+-# if (ULONG_MAX == 0xffffffffUL)
+-# define Z_U4 unsigned long
+-# else
+-# if (USHRT_MAX == 0xffffffffUL)
+-# define Z_U4 unsigned short
+-# endif
+-# endif
++# elif (ULONG_MAX == 0xffffffffUL)
++# define Z_U4 unsigned long
++# elif (USHRT_MAX == 0xffffffffUL)
++# define Z_U4 unsigned short
+ # endif
+ #endif
+
+@@ -425,8 +422,16 @@ typedef uLong FAR uLongf;
+ # endif
+ #endif
+
++#if defined(STDC) || defined(Z_HAVE_STDARG_H)
++# ifndef Z_SOLO
++# include <stdarg.h> /* for va_list */
++# endif
++#endif
++
+ #ifdef _WIN32
+-# include <stddef.h> /* for wchar_t */
++# ifndef Z_SOLO
++# include <stddef.h> /* for wchar_t */
++# endif
+ #endif
+
+ /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+@@ -435,7 +440,7 @@ typedef uLong FAR uLongf;
+ * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
+ * equivalently requesting no 64-bit operations
+ */
+-#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
++#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
+ # undef _LARGEFILE64_SOURCE
+ #endif
+
+@@ -443,7 +448,7 @@ typedef uLong FAR uLongf;
+ # define Z_HAVE_UNISTD_H
+ #endif
+ #ifndef Z_SOLO
+-# if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE)
++# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
+ # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
+ # ifdef VMS
+ # include <unixio.h> /* for off_t */
+diff --git a/zlib/zlib.3 b/zlib/zlib.3
+index 79d3402..0160e62 100644
+--- a/zlib/zlib.3
++++ b/zlib/zlib.3
+@@ -1,4 +1,4 @@
+-.TH ZLIB 3 "2 May 2012"
++.TH ZLIB 3 "28 Apr 2013"
+ .SH NAME
+ zlib \- compression/decompression library
+ .SH SYNOPSIS
+@@ -125,8 +125,8 @@ before asking for help.
+ Send questions and/or comments to zlib@gzip.org,
+ or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
+ .SH AUTHORS
+-Version 1.2.7
+-Copyright (C) 1995-2012 Jean-loup Gailly (jloup@gzip.org)
++Version 1.2.8
++Copyright (C) 1995-2013 Jean-loup Gailly (jloup@gzip.org)
+ and Mark Adler (madler@alumni.caltech.edu).
+ .LP
+ This software is provided "as-is,"
+diff --git a/zlib/zlib.h b/zlib/zlib.h
+index 3edf3ac..3e0c767 100644
+--- a/zlib/zlib.h
++++ b/zlib/zlib.h
+@@ -1,7 +1,7 @@
+ /* zlib.h -- interface of the 'zlib' general purpose compression library
+- version 1.2.7, May 2nd, 2012
++ version 1.2.8, April 28th, 2013
+
+- Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
++ Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+@@ -37,11 +37,11 @@
+ extern "C" {
+ #endif
+
+-#define ZLIB_VERSION "1.2.7"
+-#define ZLIB_VERNUM 0x1270
++#define ZLIB_VERSION "1.2.8"
++#define ZLIB_VERNUM 0x1280
+ #define ZLIB_VER_MAJOR 1
+ #define ZLIB_VER_MINOR 2
+-#define ZLIB_VER_REVISION 7
++#define ZLIB_VER_REVISION 8
+ #define ZLIB_VER_SUBREVISION 0
+
+ /*
+@@ -839,6 +839,21 @@ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
+ inflate().
+ */
+
++ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm,
++ Bytef *dictionary,
++ uInt *dictLength));
++/*
++ Returns the sliding dictionary being maintained by inflate. dictLength is
++ set to the number of bytes in the dictionary, and that many bytes are copied
++ to dictionary. dictionary must have enough space, where 32768 bytes is
++ always enough. If inflateGetDictionary() is called with dictionary equal to
++ Z_NULL, then only the dictionary length is returned, and nothing is copied.
++ Similary, if dictLength is Z_NULL, then it is not set.
++
++ inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
++ stream state is inconsistent.
++*/
++
+ ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
+ /*
+ Skips invalid compressed data until a possible full flush point (see above
+@@ -846,7 +861,7 @@ ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
+ available input is skipped. No output is provided.
+
+ inflateSync searches for a 00 00 FF FF pattern in the compressed data.
+- All full flush points have this pattern, but not all occurences of this
++ All full flush points have this pattern, but not all occurrences of this
+ pattern are full flush points.
+
+ inflateSync returns Z_OK if a possible full flush point has been found,
+@@ -1007,7 +1022,8 @@ ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
+ the version of the header file.
+ */
+
+-typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
++typedef unsigned (*in_func) OF((void FAR *,
++ z_const unsigned char FAR * FAR *));
+ typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
+
+ ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
+@@ -1015,11 +1031,12 @@ ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
+ out_func out, void FAR *out_desc));
+ /*
+ inflateBack() does a raw inflate with a single call using a call-back
+- interface for input and output. This is more efficient than inflate() for
+- file i/o applications in that it avoids copying between the output and the
+- sliding window by simply making the window itself the output buffer. This
+- function trusts the application to not change the output buffer passed by
+- the output function, at least until inflateBack() returns.
++ interface for input and output. This is potentially more efficient than
++ inflate() for file i/o applications, in that it avoids copying between the
++ output and the sliding window by simply making the window itself the output
++ buffer. inflate() can be faster on modern CPUs when used with large
++ buffers. inflateBack() trusts the application to not change the output
++ buffer passed by the output function, at least until inflateBack() returns.
+
+ inflateBackInit() must be called first to allocate the internal state
+ and to initialize the state with the user-provided window buffer.
+@@ -1736,6 +1753,13 @@ ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
+ ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
+ const char *mode));
+ #endif
++#if defined(STDC) || defined(Z_HAVE_STDARG_H)
++# ifndef Z_SOLO
++ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
++ const char *format,
++ va_list va));
++# endif
++#endif
+
+ #ifdef __cplusplus
+ }
+diff --git a/zlib/zlib.map b/zlib/zlib.map
+index 771f420..55c6647 100644
+--- a/zlib/zlib.map
++++ b/zlib/zlib.map
+@@ -76,3 +76,8 @@ ZLIB_1.2.5.2 {
+ gzgetc_;
+ inflateResetKeep;
+ } ZLIB_1.2.5.1;
++
++ZLIB_1.2.7.1 {
++ inflateGetDictionary;
++ gzvprintf;
++} ZLIB_1.2.5.2;
+diff --git a/zlib/zutil.c b/zlib/zutil.c
+index e1e463f..5c660c7 100644
+--- a/zlib/zutil.c
++++ b/zlib/zutil.c
+@@ -14,7 +14,7 @@
+ struct internal_state {int dummy;}; /* for buggy compilers */
+ #endif
+
+-const char * const z_errmsg[10] = {
++z_const char * const z_errmsg[10] = {
+ "need dictionary", /* Z_NEED_DICT 2 */
+ "stream end", /* Z_STREAM_END 1 */
+ "", /* Z_OK 0 */
+diff --git a/zlib/zutil.h b/zlib/zutil.h
+index ed6b127..1b6fbb8 100644
+--- a/zlib/zutil.h
++++ b/zlib/zutil.h
+@@ -1,5 +1,5 @@
+ /* zutil.h -- internal interface and configuration of the compression library
+- * Copyright (C) 1995-2012 Jean-loup Gailly.
++ * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+@@ -44,13 +44,13 @@ typedef unsigned short ush;
+ typedef ush FAR ushf;
+ typedef unsigned long ulg;
+
+-extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
++extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
+ /* (size given to avoid silly warnings with Visual C++) */
+
+ #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
+
+ #define ERR_RETURN(strm,err) \
+- return (strm->msg = (char*)ERR_MSG(err), (err))
++ return (strm->msg = ERR_MSG(err), (err))
+ /* To be used only when the state is known to be valid */
+
+ /* common constants */
+@@ -168,7 +168,8 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
+ #endif
+
+ /* provide prototypes for these when building zlib without LFS */
+-#if !defined(_WIN32) && (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
++#if !defined(_WIN32) && \
++ (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+ #endif
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..ec9d67c
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,1676 @@
+#!/usr/bin/make -f
+# debian/rules file - for binutils (2.20)
+# 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-2015 Canonical Ltd.
+# Portions Copyright 2008-2015 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
+
+###############################################################################
+
+p_bin = binutils
+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
+
+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_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)
+
+install_dir = install -d -m 755
+install_file = install -m 644
+install_script = install -m 755
+install_binary = install -m 755 -s
+
+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
+
+src_name := $(shell dpkg-parsechangelog -S Source)
+ifeq ($(src_name),binutils)
+ with_native = yes
+ with_cross = yes
+ same_source = yes
+ CROSS_ARCHS ?= s390x ppc64el powerpc arm64 armhf armel mips mipsel
+ CROSS_ARCHS += alpha hppa m68k mips64 mips64el powerpcspe ppc64 sh4 sparc64
+ #CROSS_ARCHS += kfreebsd-amd64 kfreebsd-i386 hurd-i386
+else
+ # binutils-ports ...
+ with_cross = yes
+ CROSS_ARCHS ?= m68k sh4 mips64 mips64el
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 x32 hppa))
+ with_hppa64 = yes
+endif
+
+HOST_ARCHS_armhf = amd64 i386 x32 arm64
+HOST_ARCHS_armel = amd64 i386 x32 arm64
+HOST_ARCHS_arm64 = amd64 i386 x32
+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_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_kfreebsd-amd64 = amd64 i386 x32
+HOST_ARCHS_kfreebsd-i386 = amd64 i386 x32
+HOST_ARCHS_hurd-i386 = amd64 i386 x32
+
+ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32))
+ #
+else ifeq ($(DEB_HOST_ARCH),arm64)
+ CROSS_ARCHS = armel armhf
+else ifeq ($(DEB_HOST_ARCH),ppc64)
+ CROSS_ARCHS = ppc64el
+else ifeq ($(DEB_HOST_ARCH),ppc64el)
+ CROSS_ARCHS = powerpc ppc64
+else
+ CROSS_ARCHS =
+endif
+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)
+else
+ DEB_TARGET_MULTIARCH = $(DEB_HOST_MULTIARCH)
+ DEB_TARGET_ARCH = $(DEB_HOST_ARCH)
+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 \
+ powerpc powerpcspe ppc64 ppc64el \
+ x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386
+
+ifneq (,$(filter $(DEB_HOST_ARCH), $(gold_targets)))
+ with_gold = yes
+ gold_provides = -Vgold:Provides=binutils-gold
+endif
+
+with_multiarch := yes
+
+CC = gcc
+CXX = g++
+CFLAGS = -g -O2
+STRIP = strip --remove-section=.comment --remove-section=.note
+CROSS :=
+ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+ CROSS := $(DEB_HOST_GNU_TYPE)-
+ CC = $(CROSS)gcc
+ CXX = $(CROSS)g++
+ STRIP= $(CURDIR)/debian/strip.cross
+ install_binary = install -m 755 -s --strip-program="$(STRIP)"
+endif
+
+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')
+
+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),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic))
+ DPKG_DEV = dpkg-dev (>= 1.17.11),
+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
+
+# 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
+
+########################################
+
+CONFARGS = \
+ --enable-shared \
+ --enable-plugins \
+ --enable-threads \
+ --with-system-zlib \
+ --prefix=/$(PF) \
+ --enable-deterministic-archives \
+ --disable-compressed-debug-sections \
+ --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_mipselel = mips64el-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_aarch64 = --enable-targets=aarch64_be-linux-gnu
+
+with_check := yes
+ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+ with_check := disabled through DEB_BUILD_OPTIONS
+endif
+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 *)))
+
+###############################################################################
+
+#################
+# patch targets #
+#################
+
+patch: stamps/patch
+stamps/patch:
+ifneq ($(PATCHED_SOURCES),yes)
+ QUILT_PATCHES=$(CURDIR)/debian/patches \
+ quilt --quiltrc /dev/null push -a || test $$? = 2
+endif
+ @mkdir -p stamps
+ touch $@
+
+unpatch:
+ QUILT_PATCHES=$(CURDIR)/debian/patches \
+ quilt --quiltrc /dev/null pop -a -R || test $$? = 2
+ rm -rf .pc
+
+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: unpatch
+ $(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 $(pwd)/test-summary*
+ rm -rf $(d_bin) $(d_dev) $(d_mul) $(d_mdev) $(d_doc) $(d_hppa64) $(d_src)
+ $(foreach ca,$(CROSS_ARCHS), rm -rf debian/binutils-$(shell echo $(call _gnu_type,$(ca)) | sed 's/_/-/g;s/i586/i686/'); )
+ rm -rf debian/patched 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 "s/@dpkg_dev@/$(DPKG_DEV)/;/^$$/ q" < debian/control.in > debian/control
+ sed -e "s/@target@/$$(echo -n $(TARGET) | sed s/_/-/g)/" \
+ < debian/control.cross.in >> debian/control
+else
+ sed -e 's/@dpkg_dev@/$(DPKG_DEV)/' \
+ debian/control.in > debian/control
+ ifeq ($(with_cross),yes)
+ $(foreach ca,$(CROSS_ARCHS), \
+ sed \
+ -e 's/@host_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
+endif
+ @mkdir -p stamps
+ touch $@
+
+debian/strip.cross: debian/strip.cross.in
+ sed -e "s/__TARGET__/$(CROSS)/" \
+ < debian/strip.cross.in >> debian/strip.cross
+ chmod 755 debian/strip.cross
+
+#######################
+# 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: stamps/patch
+ $(checkdir)
+ @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)" \
+ $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \
+ ../configure --with-sysroot=/ $(SINGLE_CONFARGS)
+ $(MAKE) -C builddir-single configure-host
+ 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; \
+ if [ ! -f /usr/share/doc/binutils/test-summary.gz ]; then \
+ echo "No test results available for the installed binutils version"; \
+ elif [ -x /usr/bin/python3 ]; then \
+ echo "Test results, compared with installed binutils:"; \
+ zcat /usr/share/doc/binutils/test-summary.gz > test-summary-installed; \
+ if python3 debian/test-suite-compare.py test-summary-installed 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-gnu \
+ mips64el-linux-gnu \
+ powerpc-linux-gnu \
+ powerpc64-linux-gnu \
+ powerpc64le-linux-gnu \
+ s390-linux-gnu \
+ s390x-linux-gnu \
+ sh-linux-gnu \
+ sh64-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: stamps/patch
+ $(checkdir)
+ @echo BEGIN $@
+ rm -rf stamps/configure-multi \
+ builddir-multi
+ mkdir builddir-multi
+ cd builddir-multi \
+ && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" \
+ $(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \
+ ../configure $(CONFARGS) \
+ --with-sysroot=/ \
+ --enable-targets=$(subst $(SPACE),$(COMMA),$(multiarch_targets))
+ $(MAKE) -C builddir-multi configure-host
+ 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.%: stamps/patch
+ $(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=/ \
+ $(if $(filter $*, $(gold_targets)),--enable-ld=default --enable-gold) \
+ --target=$(CROSS_GNU_TYPE)
+ touch $@
+
+stamps/build.%: stamps/configure.%
+ $(checkdir)
+ @echo BEGIN $@
+ env MAKE="$(MAKE) VERSION=$(VERSION)-$*" \
+ $(call SET_MULTIARCH_ENV,$*) \
+ $(MAKE) -C builddir-$* $(NJOBS) \
+ CFLAGS="$(CFLAGS)" \
+ 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-$*
+endif
+endif
+ touch $@
+
+stamps/install.%: stamps/build.% $(if $(CROSS),debian/strip.cross)
+ $(checkdir)
+ @echo BEGIN $@
+ rm -rf $(D_CROSS)
+ env MAKE="$(MAKE) VERSION=$(VERSION)-$*" \
+ $(MAKE) -C builddir-$* prefix=$(pwd)/$(D_CROSS)/$(PF) \
+ mandir=$(pwd)/$(D_CROSS)/$(PF)/share/man 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
+ $(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
+
+ : # 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}')
+ ln -sf $(CROSS_GNU_TYPE)-ld.bfd $(D_CROSS)/usr/bin/$(CROSS_GNU_TYPE)-ld
+
+ : # 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
+
+# temporary i586-* symlinks for stretch/sid
+ compat=$$(echo $(CROSS_GNU_TYPE) | sed 's/i686/i586/'); \
+ case "$(CROSS_GNU_TYPE)" in i686-*) \
+ for i in \
+ addr2line ar as c++filt elfedit gprof ld ld.bfd \
+ $(if $(filter $*, $(gold_targets)),ld.gold dwp) \
+ nm objcopy objdump ranlib readelf size strings strip; \
+ 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
+ touch $@
+
+###############################################################################
+
+#################
+# hppa64 target #
+#################
+
+stamps/configure-hppa64: stamps/patch
+ $(checkdir)
+ @echo BEGIN $@
+ rm -rf stamps/configure-hppa64 \
+ builddir-hppa64
+ mkdir builddir-hppa64
+ cd builddir-hppa64 \
+ && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" ../configure \
+ $(filter-out --enable-targets=%, $(CONFARGS)) \
+ --target=hppa64-linux-gnu
+ $(MAKE) -C builddir-hppa64 configure-host
+ 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))
+ ifneq (,$(findstring static-cross,$(DEB_BUILD_OPTIONS)))
+ build_stamps = stamps/build-static-cross
+ else
+ build_stamps = stamps/build-cross
+ 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))
+ ifneq (,$(findstring static-cross,$(DEB_BUILD_OPTIONS)))
+ install_stamps = stamps/install-static-cross
+ else
+ install_stamp = stamps/install-cross
+ endif
+else
+ install_stamp = stamps/install
+endif
+ifeq ($(BACKPORT),true)
+ install_stamps :=
+endif
+install: $(install_stamp)
+stamps/install: checkroot stamps/build $(install_stamps) $(if $(CROSS),debian/strip.cross)
+ $(checkdir)
+
+ rm -fr $(d_bin) $(d_dev) $(d_mul) $(d_mdev) $(d_doc) $(d_src)
+ $(install_dir) $(d_bin) $(d_dev) $(d_mul) $(d_mdev) $(d_doc) $(d_src)
+
+ : # install binutils and -dev stuff
+ env MAKE="$(MAKE) VERSION=$(SINGLE_VERSION)" \
+ $(MAKE) -C builddir-single \
+ CFLAGS="$(CFLAGS)" prefix=$(pwd)/$(d_bin)/$(PF) \
+ mandir=$(pwd)/$(d_bin)/$(PF)/share/man \
+ infodir=$(pwd)/$(d_doc)/$(PF)/share/info install
+
+ifeq ($(with_multiarch),yes)
+ : # now install binutils-multiarch stuff
+ env MAKE="$(MAKE) VERSION=$(MULTI_VERSION)" \
+ $(MAKE) -C builddir-multi \
+ CFLAGS="$(CFLAGS)" \
+ prefix=$(pwd)/$(d_mul)/$(PF) \
+ mandir=$(pwd)/$(d_mul)/$(PF)/share/man \
+ infodir=$(pwd)/$(d_doc)/$(PF)/share/info 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_bin)/$(PF)/man/man1/configure.1
+ rm -f $(d_doc)/$(PF)/share/info/configure.* $(d_doc)/$(PF)/share/info/standards.*
+ : # *sigh*, bugs.debian.org/213524
+ rm -f $(d_doc)/$(PF)/share/info/dir*
+
+ifneq (,$(filter $(DEB_HOST_ARCH),powerpc 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 ppc64 ppc64el))
+ rm -f $(d_mul)/$(PF)/bin/embedspu
+ endif
+
+# FIXME: the search paths for this config isn't correctly generated
+ ifeq (0,1)
+ : # move $(p_mul)'s ldscripts into $(p_bin)
+ for i in $(d_mul)/$(PF)/lib/ldscripts/*; do \
+ b=$$(basename $$i); \
+ if [ -f $(d_bin)/$(PF)/lib/ldscripts/$$b ]; then \
+ if diff -u $(d_bin)/$(PF)/lib/ldscripts/$$b $$i; then \
+ rm -f $$i; \
+ else \
+ echo "ERROR: files differ: $$b"; \
+ fi; \
+ else \
+ mv $$i $(d_bin)/$(PF)/lib/ldscripts/.; \
+ fi; \
+ done
+ : # $(p_mul)'s ldscript should be empty
+ -ls -l $(d_mul)/$(PF)/lib/ldscripts
+ rm -rf $(d_mul)/$(PF)/lib/ldscripts
+ else
+ rm -rf $(d_mul)/$(PF)/lib/ldscripts
+ endif
+endif
+
+ifeq ($(with_hppa64),yes)
+ : # move $(p_hppa64)'s ldscripts into $(p_bin)
+ for i in $(d_hppa64)/$(PF)/lib/ldscripts/*; do \
+ b=$$(basename $$i); \
+ if [ -f $(d_bin)/$(PF)/lib/ldscripts/$$b ]; then \
+ if diff -u $(d_bin)/$(PF)/lib/ldscripts/$$b $$i; then \
+ rm -f $$i; \
+ else \
+ echo "ERROR: files differ: $$b"; \
+ fi; \
+ else \
+ mv $$i $(d_bin)/$(PF)/lib/ldscripts/.; \
+ fi; \
+ done
+ : # $(p_hppa64)'s ldscripts should be empty
+ -ls -l $(d_hppa64)/$(PF)/lib/ldscripts
+ rm -rf $(d_hppa64)/$(PF)/lib/ldscripts
+endif
+
+# FIXME: some of these ldscripts are built for different cross targets
+# and differ ...
+ifeq (0,1)
+ : # move cross ldscripts into $(p_bin)
+ for i in debian/binutils-*-*-*/$(PF)/lib/ldscripts/*; do \
+ b=$$(basename $$i); \
+ if [ -f $(d_bin)/$(PF)/lib/ldscripts/$$b ]; then \
+ if diff -u $(d_bin)/$(PF)/lib/ldscripts/$$b $$i; then \
+ rm -f $$i; \
+ else \
+ echo "ERROR: files differ: $$b"; \
+ fi; \
+ else \
+ echo "ERROR: $$i should already exist"; \
+ mv $$i $(d_bin)/$(PF)/lib/ldscripts/.; \
+ fi; \
+ done
+ : # cross's ldscripts should be empty
+ -ls -l debian/binutils-*-*-*/$(PF)/lib/ldscripts
+ rm -rf debian/binutils-*-*-*/$(PF)/lib/ldscripts debian/binutils-*-gnu/$(PF)/lib/ldscripts
+else
+ rm -rf debian/binutils-*-*-*/$(PF)/lib/ldscripts debian/binutils-*-gnu/$(PF)/lib/ldscripts
+endif
+
+ $(install_dir) $(d_dev)/$(PF)/include
+ mv $(d_bin)/$(PF)/include/* $(d_dev)/$(PF)/include/
+
+ $(install_dir) $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH) $(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)
+ mv $(d_bin)/$(PF)/lib/*.a $(d_bin)/$(PF)/lib/libbfd.so $(d_bin)/$(PF)/lib/libopcodes.so \
+ $(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)
+ mv $(d_bin)/$(PF)/lib/*.so \
+ $(d_bin)/$(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/libbfd.so \
+ $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd-multiarch.so
+ mv $(d_mul)/$(PF)/lib/libopcodes.so \
+ $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes-multiarch.so
+ mv $(d_mul)/$(PF)/lib/*.so \
+ $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/
+ rm -f $(d_mul)/$(PF)/lib/*.la $(d_mul)/$(PF)/lib/*.a
+ rm -f $(d_mul)/$(PF)/lib*/libiberty*
+endif
+
+ : # Get rid of .la files since libtool obviously has no idea about transient paths
+ rm -f $(d_bin)/$(PF)/lib/*.la
+
+ chmod ugo-x $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so
+ $(call strip_package, $(p_bin), $(d_bin))
+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_bin)/$(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_bin)/$(PF)/share/man/man1/ld.1 \
+ $(d_bin)/$(PF)/share/man/man1/ld.bfd.1
+ ln -sf ld.bfd $(d_bin)/$(PF)/bin/ld
+ ln -sf $(DEB_HOST_GNU_TYPE)-ld.bfd $(d_bin)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-ld
+ ln -sf ld.bfd.1.fz $(d_bin)/$(PF)/share/man/man1/ld.1.gz
+ ln -sf $(DEB_HOST_GNU_TYPE)-ld.bfd.1.gz $(d_bin)/$(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-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))
+ if which help2man >/dev/null 2>&1; then \
+ help2man -N -n 'The GNU ELF linker' $(d_bin)/$(PF)/bin/ld.gold \
+ | sed 's,$(d_bin)/$(PF)/bin/,,g' > debian/ld.gold.1; \
+ help2man -N -n 'The DWARF packaging utility' $(d_bin)/$(PF)/bin/dwp \
+ | sed 's,$(d_bin)/$(PF)/bin/,,g' > debian/dwp.1; \
+ fi
+ endif
+ cp debian/dwp.1 $(d_bin)/$(PF)/share/man/man1/
+ cp debian/ld.gold.1 $(d_bin)/$(PF)/share/man/man1/
+ ln -s ld.gold.1.gz $(d_bin)/$(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.
+ for i in \
+ addr2line ar as c++filt elfedit gprof ld ld.bfd \
+ $(if $(with_gold),ld.gold dwp) \
+ nm objcopy objdump ranlib readelf size strings strip; \
+ do \
+ mv $(d_bin)/$(PF)/bin/$$i $(d_bin)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-$$i; \
+ ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_bin)/$(PF)/bin/$$i; \
+ mv $(d_bin)/$(PF)/share/man/man1/$$i.1 $(d_bin)/$(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-$$i.1; \
+ ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_bin)/$(PF)/share/man/man1/$$i.1.gz; \
+ done
+
+ifneq (,$(filter $(DEB_HOST_ARCH),i386 kfreebsd-i386 hurd-i386))
+# temporary i586-* symlinks for stretch/sid
+ ifneq (,$(TRIPLET_SYMLINK))
+ for i in \
+ addr2line ar as c++filt elfedit gprof ld ld.bfd \
+ $(if $(with_gold),ld.gold dwp) \
+ nm objcopy objdump ranlib readelf size strings strip; \
+ do \
+ ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_bin)/$(PF)/bin/$(TRIPLET_SYMLINK)-$$i; \
+ ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_bin)/$(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 \
+ addr2line ar as c++filt elfedit gprof ld ld.bfd \
+ $(if $(with_gold),ld.gold dwp) \
+ nm objcopy objdump ranlib readelf size strings strip; \
+ do \
+ ln -sf $$i $(d_bin)/$(PF)/bin/$$gnutype-$$i; \
+ ln -sf $$i.1.gz $(d_bin)/$(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 \
+ addr2line ar as c++filt elfedit gprof ld ld.bfd \
+ $(if $(with_gold),ld.gold dwp) \
+ nm objcopy objdump ranlib readelf size strings strip; \
+ do \
+ ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_bin)/$(PF)/bin/$$gnutype-$$i; \
+ ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_bin)/$(PF)/share/man/man1/$$gnutype-$$i.1.gz; \
+ done
+ endif
+endif
+
+ touch $@
+
+stamps/install-hppa64: checkroot stamps/build-hppa64 $(if $(CROSS),debian/strip.cross)
+ $(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)" \
+ prefix=$(pwd)/$(d_hppa64)/$(PF)/ \
+ mandir=$(pwd)/$(d_hppa64)/$(PF)/share/man \
+ infodir=$(pwd)/$(d_hppa64)/$(PF)/share/info 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
+
+ $(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}')
+
+ : # 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
+
+ : # 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/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) ..
+
+endif
+
+###############################################################################
+
+#######################
+# binary-arch target #
+#######################
+
+binary.%: stamps/install.% install
+ rm -rf $(D_CROSS)/$(PF)/share/info
+
+ rm -rf $(D_CROSS)/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/d' 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
+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
+ 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="."; $$NF=$$NF+1; print }'); \
+ fi; \
+ date_ext=$(DATE_EXT); \
+ [ "$(is_rc)" = yes ] && date_ext=; \
+ sed -e 's/@VER@/$(VERSION)/g' \
+ -e 's/@DEB_VER@/$(DEB_VERSION)/g' \
+ -e 's/@DEB_UVER@/$(DEB_UPSTREAM)/g' \
+ -e "s/@DEB_NVER@/$$nver/g" \
+ -e "s/@DATE_EXT@/$$date_ext/g" \
+ -e 's/@ARCH@/$*/g' \
+ -e "s/@PKG@/$(P_CROSS)/g" \
+ debian/binutils-cross.shlibs.in > $(D_CROSS)/DEBIAN/shlibs
+ $(install_script) debian/binutils.postinst $(D_CROSS)/DEBIAN/postinst
+ $(install_script) debian/binutils.postrm $(D_CROSS)/DEBIAN/postrm
+
+ 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)"
+ chown -R root:root $(D_CROSS)
+ chmod -R go=rX $(D_CROSS)
+ find $(D_CROSS) -depth -newermt '$(BUILD_DATE)' -print0 | \
+ xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
+ dpkg --build $(D_CROSS) ..
+
+binary-arch: checkroot build install \
+ $(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="."; $$NF=$$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/@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_bin).overrides \
+ $(d_bin)/$(PF)/share/lintian/overrides/$(p_bin)
+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 scrtips
+ $(install_dir) $(d_bin)/DEBIAN
+ $(install_script) debian/binutils.postinst $(d_bin)/DEBIAN/postinst
+ $(install_script) debian/binutils.postrm $(d_bin)/DEBIAN/postrm
+ $(install_file) debian/binutils.shlibs $(d_bin)/DEBIAN/shlibs
+
+ $(install_dir) $(d_dev)/DEBIAN
+
+ifeq ($(with_multiarch),yes)
+ $(install_dir) $(d_mul)/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_dir) $(d_mdev)/DEBIAN
+endif
+
+ifeq ($(with_hppa64),yes)
+ $(install_dir) $(d_hppa64)/DEBIAN
+ $(install_script) debian/$(p_hppa64).postinst $(d_hppa64)/DEBIAN/postinst
+ $(install_script) debian/$(p_hppa64).postrm $(d_hppa64)/DEBIAN/postrm
+ $(install_file) debian/$(p_hppa64).shlibs $(d_hppa64)/DEBIAN/shlibs
+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_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/d' $(pwd)/test-summary
+ $(install_file) $(pwd)/test-summary $(d_bin)/$(PF)/share/doc/$(p_bin)/
+endif
+endif
+ $(install_file) binutils/NEWS debian/README.cross \
+ $(d_bin)/$(PF)/share/doc/$(p_bin)/
+
+ $(install_file) binutils/ChangeLog $(d_bin)/$(PF)/share/doc/$(p_bin)/changelog
+
+ for pkg in bfd gas gprof ld; do \
+ $(install_dir) $(d_bin)/$(PF)/share/doc/$(p_bin)/$$pkg; \
+ done
+ $(install_file) bfd/ChangeLog bfd/PORTING bfd/TODO \
+ $(d_bin)/$(PF)/share/doc/$(p_bin)/bfd/
+ $(install_file) gas/ChangeLog gas/NEWS $(d_bin)/$(PF)/share/doc/$(p_bin)/gas/
+ $(install_file) gprof/ChangeLog gprof/TODO gprof/TEST \
+ $(d_bin)/$(PF)/share/doc/$(p_bin)/gprof/
+ $(install_file) ld/ChangeLog ld/TODO ld/NEWS \
+ $(d_bin)/$(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_bin)/$(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_bin)/$(PF)/share/doc/$(p_bin)/gprof/.
+
+ : # Compress stuff that needs it
+ gzip -9n $(d_bin)/$(PF)/share/man/man1/*.1
+ find $(d_bin)/$(PF)/share/doc/$(p_bin)/ -type f ! -name copyright -a ! -name bbconv.pl | xargs gzip -9n
+
+ : # Finish it all up
+ find $(d_bin) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps
+ dpkg-gencontrol -P$(d_bin) -p$(p_bin) $(CONFLICTS_TARGET_$(DEB_HOST_ARCH)) $(gold_provides)
+ cd $(d_bin) && 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
+
+ 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
+endif
+
+ chown -R root:root $(d_bin) $(d_dev)
+ chmod -R go=rX $(d_bin) $(d_dev)
+ find $(d_bin) -depth -newermt '$(BUILD_DATE)' -print0 | \
+ xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
+ dpkg --build $(d_bin) ..
+ 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)
+ chmod -R go=rX $(d_mul)
+ find $(d_mul) -depth -newermt '$(BUILD_DATE)' -print0 | \
+ xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
+ dpkg --build $(d_mul) ..
+
+ 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)
+ chmod -R go=rX $(d_hppa64)
+ find $(d_hppa64) -depth -newermt '$(BUILD_DATE)' -print0 | \
+ xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
+ dpkg --build $(d_hppa64) ..
+endif
+
+endif # Process the following only if $(TARGET) is set
+endif # ifndef BACKPORT
+###############################################################################
+
+#################
+# cross targets #
+#################
+
+# Process the following only if $(TARGET) is set
+ifneq (,$(TARGET))
+
+p_cross = $(subst _,-,binutils-$(TARGET))
+d_cross = debian/$(p_cross)
+
+#-----------------------------------------------------------------
+# sysroot options
+ifdef WITH_SYSROOT
+ with_sysroot = $(WITH_SYSROOT)
+endif
+ifdef WITH_BUILD_SYSROOT
+ with_build_sysroot = $(WITH_BUILD_SYSROOT)
+endif
+
+ifneq ($(with_sysroot),)
+ CONFARGS += --with-sysroot=$(with_sysroot)
+endif
+ifneq ($(with_build_sysroot),)
+ CONFARGS += --with-build-sysroot=$(with_build_sysroot)
+endif
+ifeq ($(with_gold),yes)
+ CONFARGS += --enable-ld=default --enable-gold
+endif
+
+stamps/configure-cross: stamps/patch
+ $(checkdir)
+ test "" != "$(TARGET)"
+ rm -rf stamps/configure-cross builddir-$(TARGET)
+ mkdir builddir-$(TARGET)
+ cd builddir-$(TARGET) \
+ && env CC="$(CC)" CXX="$(CXX)" ../configure \
+ $(CONFARGS) \
+ --target=$(TARGET)
+ touch $@
+
+stamps/build-cross: stamps/configure-cross
+ $(checkdir)
+ test "" != "$(TARGET)"
+ env MAKE="$(MAKE) VERSION=$(VERSION)-$(DEB_TARGET_ARCH)" \
+ $(MAKE) -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)"
+ touch $@
+
+stamps/install-cross: stamps/build-cross
+ $(checkdir)
+ test "" != "$(TARGET)"
+ rm -rf $(d_cross)
+ env MAKE="$(MAKE) VERSION=$(VERSION)-$(DEB_TARGET_ARCH)" \
+ $(MAKE) -C builddir-$(TARGET) prefix=$(pwd)/$(d_cross)/$(PF) \
+ mandir=$(pwd)/$(d_cross)/$(PF)/share/man install
+ rm -rf $(d_cross)/$(PF)/lib* $(d_cross)/$(PF)/info $(d_cross)/$(PF)/share/locale
+
+ mkdir -p $(d_cross)/$(PF)/lib/$(DEB_HOST_MULTIARCH)
+ mv $(d_cross)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(TARGET)/lib/*.so \
+ $(d_cross)/$(PF)/lib/$(DEB_HOST_MULTIARCH)
+ $(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)/$(TARGET)/lib/*.la
+
+ : # don't ship header files and static libs
+ rm -rf $(d_cross)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(TARGET)
+
+ gzip -9n $(d_cross)/$(PF)/share/man/man1/*
+ touch $@
+
+stamps/configure-host-cross: stamps/configure-cross
+ $(checkdir)
+ test "" != "$(TARGET)"
+ $(MAKE) configure-host -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)"
+ touch $@
+
+stamps/build-static-cross: stamps/configure-host-cross
+ $(checkdir)
+ test "" != "$(TARGET)"
+ $(MAKE) -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)" LDFLAGS="-all-static"
+ touch $@
+
+stamps/install-static-cross: stamps/build-static-cross stamps/install-cross
+
+binary-cross:
+ @echo "Please use dpkg-buildpackage instead of calling binary-cross directly; see README.cross"
+ @false
+
+endif # ifneq ($(TARGET),)
+
+###############################################################################
+
+define checkdir
+ test -f bfd/elf32.c -a -f debian/rules
+endef
+
+ifeq ($(with_strip),yes)
+# strip_package: <pkgname> <install-dir> <???>
+define strip_package
+ : # Strip shared libraries
+ if which pkg_create_dbgsym >/dev/null 2>&1; then \
+ pkg_create_dbgsym $1 $2; \
+ fi
+ $(STRIP) --strip-unneeded $2/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd-*so
+ $(STRIP) --strip-unneeded $2/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes-*so
+ $(STRIP) $$(file $2/$(PF)/bin/* |awk -F: '$$0 !~ /script/ {print $$1}')
+endef
+else
+define strip_package
+endef
+endif
+
+remove-gfdl-files:
+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/patch stamps/configure.% stamps/build.% stamps/install.%
diff --git a/debian/source.lintian-overrides b/debian/source.lintian-overrides
new file mode 100644
index 0000000..6d2e47b
--- /dev/null
+++ b/debian/source.lintian-overrides
@@ -0,0 +1,5 @@
+# handled via diversions
+binutils source: binaries-have-file-conflict
+
+# wrong positive
+binutils source: license-problem-gfdl-invariants
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..d3827e7
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+1.0
diff --git a/debian/strip.cross.in b/debian/strip.cross.in
new file mode 100644
index 0000000..df2a6e3
--- /dev/null
+++ b/debian/strip.cross.in
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+__TARGET__strip --remove-section=.comment --remove-section=.note $*
diff --git a/debian/test-suite-compare.py b/debian/test-suite-compare.py
new file mode 100644
index 0000000..7373039
--- /dev/null
+++ b/debian/test-suite-compare.py
@@ -0,0 +1,230 @@
+#!/usr/bin/python3
+
+# Quick'n'dirty regression check for dejagnu testsuites
+# Copyright (C) 2003, 2004, 2005, 2006, 2007 James Troup <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()
diff --git a/debian/tests/build b/debian/tests/build
new file mode 100644
index 0000000..b23e556
--- /dev/null
+++ b/debian/tests/build
@@ -0,0 +1 @@
+#!/bin/true
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..26d0ba8
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,9 @@
+Tests: build
+Depends: build-essential
+Restrictions: build-needed
+
+Tests: libc-link
+Depends: build-essential
+
+Tests: shlib-build
+Depends: build-essential
diff --git a/debian/tests/libc-link b/debian/tests/libc-link
new file mode 100644
index 0000000..09bfc8d
--- /dev/null
+++ b/debian/tests/libc-link
@@ -0,0 +1,29 @@
+#!/bin/sh
+# autopkgtest check: Build and run a simple program against libc, to verify
+# basic binutils compile-time and run-time linking functionality.
+#
+# (C) 2012 Canonical Ltd.
+# Author: Martin Pitt <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"
diff --git a/debian/tests/shlib-build b/debian/tests/shlib-build
new file mode 100644
index 0000000..a214563
--- /dev/null
+++ b/debian/tests/shlib-build
@@ -0,0 +1,44 @@
+#!/bin/sh
+# autopkgtest check: Build and link against a simple shared library, to test
+# basic binutils compile-time and run-time linking functionality.
+#
+# (C) 2012 Canonical Ltd.
+# Author: Martin Pitt <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 --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..69cbc8a
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://ftp.gnu.org/gnu/binutils/binutils-([\d\.]*).tar.gz