[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1035539: marked as done (unblock: binutils-mingw-w64/10.4)



Your message dated Fri, 05 May 2023 17:25:44 +0000
with message-id <E1puzBg-007fP8-F2@respighi.debian.org>
and subject line unblock binutils-mingw-w64
has caused the Debian Bug report #1035539,
regarding unblock: binutils-mingw-w64/10.4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1035539: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035539
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- 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 ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: