Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@packages.debian.org Usertags: pu
Hi, binutils-mingw-w64/5.2 in Jessie suffers from #787162: ld breaks with DLLs and libraries built with Visual Studio. This makes the mingw-w64 toolchain in Jessie effectively useless for people working with such files. The attached patch fixes this (as has been confirmed by #787162's submitter). It's the upstream patch which is included in newer versions of binutils and is already available in Stretch. Would it be OK to upload a fixed version of binutils-mingw-w64 to stable-proposed-updates? Regards, Stephen -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable'), (200, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff --git a/debian/changelog b/debian/changelog index 3ea00d4..7c2f748 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +binutils-mingw-w64 (5.2+deb8u1) stable; urgency=medium + + * Apply upstream fix to handle Visual Studio DLLs (Closes: #787162). + + -- Stephen Kitt <sk...@debian.org> Thu, 04 Jun 2015 07:17:38 +0200 + binutils-mingw-w64 (5.2) unstable; urgency=high * Rebuild against binutils 2.24.90.20141023-1 or later to fix diff --git a/debian/patches/handle-visual-studio-dlls.patch b/debian/patches/handle-visual-studio-dlls.patch new file mode 100644 index 0000000..fafcdab --- /dev/null +++ b/debian/patches/handle-visual-studio-dlls.patch @@ -0,0 +1,31 @@ +From cdb602b17548eeebb5e700c507d734ea5f887a49 Mon Sep 17 00:00:00 2001 +From: Nick Clifton <ni...@redhat.com> +Date: Fri, 27 Feb 2015 15:38:32 +0000 +Subject: [PATCH 1/1] Fixes a problem recognizing libraries created by Visual + Studio. + + PR binutils/17910 + * coffgen.c (_bfd_coff_internal_syment_name): Only check for + string length overflow when the string table length is actually + set. +--- + +diff --git a/bfd/coffgen.c b/bfd/coffgen.c +index aa01559..83673d4 100644 +--- a/bfd/coffgen.c ++++ b/bfd/coffgen.c +@@ -468,7 +468,10 @@ _bfd_coff_internal_syment_name (bfd *abfd, + if (strings == NULL) + return NULL; + } +- if (sym->_n._n_n._n_offset >= obj_coff_strings_len (abfd)) ++ /* PR 17910: Only check for string overflow if the length has been set. ++ Some DLLs, eg those produced by Visual Studio, may not set the length field. */ ++ if (obj_coff_strings_len (abfd) > 0 ++ && sym->_n._n_n._n_offset >= obj_coff_strings_len (abfd)) + return NULL; + return strings + sym->_n._n_n._n_offset; + } +-- +1.9.4 + diff --git a/debian/rules b/debian/rules index 50ea330..0bee1e9 100755 --- a/debian/rules +++ b/debian/rules @@ -32,6 +32,8 @@ unpack-stamp: # Patch the testsuite (if necessary) patch -d $(upstream_dir) -N -p2 < debian/patches/testsuite-64-bit.patch || true patch -d $(upstream_dir) -N -p2 < debian/patches/testsuite-timeout.patch || true + # Handle Visual Studio DLLs (#787162, upstream PR binutils/17910) + patch -d $(upstream_dir) -p1 < debian/patches/handle-visual-studio-dlls.patch # On big-endian architectures, disable the windres tests (#754829) if [ "$$(dpkg-architecture -qDEB_HOST_ARCH_ENDIAN)" = "big" ]; then \ rm -f $(upstream_dir)/binutils/testsuite/binutils-all/windres/windres.exp; \