diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2016-03-30 16:30:28 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2016-03-30 16:30:28 +0300 |
commit | 29cbf83b228215faba1ed46a84c0929b26912f83 (patch) | |
tree | 00d436a446f25bc6e40f688b4f2674773e091c8b | |
download | binutils-29cbf83b228215faba1ed46a84c0929b26912f83.tar.gz |
Imported binutils_2.26-8debian/2.26-8
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 |