1From b7eab2a9d4f4e92692daf14b09fc95ca11b72e30 Mon Sep 17 00:00:00 2001
2From: Michael Matz <matz@suse.de>
3Date: Thu, 9 Feb 2023 15:29:00 +0100
4Subject: [PATCH 1/1] Fix PR30079: abort on mingw
5
6the early-out in wild_sort is not enough, it might still be
7that filenames are equal _and_ the wildcard list doesn't specify
8a sort order either. Don't call compare_section then.
9
10Tested on all targets.
11---
12 ld/ldlang.c | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-)
14
15diff --git a/ld/ldlang.c b/ld/ldlang.c
16index 84a2914fc26..b5e0d026ae4 100644
17--- a/ld/ldlang.c
18+++ b/ld/ldlang.c
19@@ -649,7 +649,8 @@ wild_sort (lang_wild_statement_type *wild,
20 looking at the sections for this file. */
21
22 /* Find the correct node to append this section. */
23- if (compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
24+ if (sec && sec->spec.sorted != none && sec->spec.sorted != by_none
25+ && compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
26 tree = &((*tree)->left);
27 else
28 tree = &((*tree)->right);
29--
302.31.1