nixpkgs/pkgs/development/tools/mold/fix-debug-strip.patch
Austin Seipp e4db1840dc mold: patch an upstream bug in --strip-debug
Mold currently has a bug where `--strip-debug` is treated the same as
`--strip-all`; this causes things like Rust backtraces to stop working
because the symbol tables get stripped.

The fix is trivial and obvious, and comes from an upstream patch that
needs to be merged and release.

GitHub Issue: rui314/mold#1038
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2023-07-14 05:46:34 -05:00

24 lines
923 B
Diff

From b699b73451c57ac01c2680c0b86e1f56ca19e51c Mon Sep 17 00:00:00 2001
From: Jakub Konka <kubkon@jakubkonka.com>
Date: Sat, 6 May 2023 07:55:46 +0200
Subject: [PATCH] Fix handling of --debug-strip
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
---
elf/cmdline.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/elf/cmdline.cc b/elf/cmdline.cc
index 3ac19f237..731af63ab 100644
--- a/elf/cmdline.cc
+++ b/elf/cmdline.cc
@@ -994,7 +994,7 @@ std::vector<std::string> parse_nonpositional_args(Context<E> &ctx) {
} else if (read_flag("strip-all") || read_flag("s")) {
ctx.arg.strip_all = true;
} else if (read_flag("strip-debug") || read_flag("S")) {
- ctx.arg.strip_all = true;
+ ctx.arg.strip_debug = true;
} else if (read_flag("warn-unresolved-symbols")) {
ctx.arg.unresolved_symbols = UNRESOLVED_WARN;
} else if (read_flag("error-unresolved-symbols")) {