--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Dear release team,
Please unblock package binutils-mingw-w64.
[ Reason ]
Version 10.4 includes a two-line upstream fix for a crash when
handling certain import libraries.
[ Impact ]
Users with affected libraries can’t use Bookworm’s binutils-mingw-w64
at all; this is a regression from Bullseye.
[ Tests ]
The reporter of https://bugs.debian.org/1029841 provided a test case;
see also https://sourceware.org/bugzilla/show_bug.cgi?id=30079
[ Risks ]
The fix is tiny:
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 84a2914fc26..b5e0d026ae4 100644
--- a/upstream/ld/ldlang.c
+++ b/upstream/ld/ldlang.c
@@ -649,7 +649,8 @@ wild_sort (lang_wild_statement_type *wild,
looking at the sections for this file. */
/* Find the correct node to append this section. */
- if (compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
+ if (sec && sec->spec.sorted != none && sec->spec.sorted != by_none
+ && compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
tree = &((*tree)->left);
else
tree = &((*tree)->right);
The risk is minute.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
unblock binutils-mingw-w64/10.4
Regards,
Stephen
diff -Nru binutils-mingw-w64-10.3/debian/changelog binutils-mingw-w64-10.4/debian/changelog
--- binutils-mingw-w64-10.3/debian/changelog 2023-01-11 13:02:20.000000000 +0100
+++ binutils-mingw-w64-10.4/debian/changelog 2023-05-03 08:49:22.000000000 +0200
@@ -1,3 +1,9 @@
+binutils-mingw-w64 (10.4) unstable; urgency=medium
+
+ * Apply upstream patch to fix an internal error. Closes: #1029841.
+
+ -- Stephen Kitt <skitt@debian.org> Wed, 03 May 2023 08:49:22 +0200
+
binutils-mingw-w64 (10.3) unstable; urgency=medium
* Drop another failing codeview test.
diff -Nru binutils-mingw-w64-10.3/debian/patches/pr30079.patch binutils-mingw-w64-10.4/debian/patches/pr30079.patch
--- binutils-mingw-w64-10.3/debian/patches/pr30079.patch 1970-01-01 01:00:00.000000000 +0100
+++ binutils-mingw-w64-10.4/debian/patches/pr30079.patch 2023-05-03 08:49:22.000000000 +0200
@@ -0,0 +1,26 @@
+commit b7eab2a9d4f4e92692daf14b09fc95ca11b72e30
+Author: Michael Matz <matz@suse.de>
+Date: Thu Feb 9 15:29:00 2023 +0100
+
+ Fix PR30079: abort on mingw
+
+ the early-out in wild_sort is not enough, it might still be
+ that filenames are equal _and_ the wildcard list doesn't specify
+ a sort order either. Don't call compare_section then.
+
+ Tested on all targets.
+
+diff --git a/ld/ldlang.c b/ld/ldlang.c
+index 84a2914fc26..b5e0d026ae4 100644
+--- a/upstream/ld/ldlang.c
++++ b/upstream/ld/ldlang.c
+@@ -649,7 +649,8 @@ wild_sort (lang_wild_statement_type *wild,
+ looking at the sections for this file. */
+
+ /* Find the correct node to append this section. */
+- if (compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
++ if (sec && sec->spec.sorted != none && sec->spec.sorted != by_none
++ && compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
+ tree = &((*tree)->left);
+ else
+ tree = &((*tree)->right);
diff -Nru binutils-mingw-w64-10.3/debian/patches/series binutils-mingw-w64-10.4/debian/patches/series
--- binutils-mingw-w64-10.3/debian/patches/series 2021-10-25 10:49:54.000000000 +0200
+++ binutils-mingw-w64-10.4/debian/patches/series 2023-05-03 08:46:34.000000000 +0200
@@ -3,3 +3,4 @@
dont-run-objcopy.patch
disable-flags.patch
reproducible-import-libraries.patch
+pr30079.patch
--- End Message ---