diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix index 04ed7db71147..ac60a01a1ae9 100644 --- a/pkgs/development/tools/mold/default.nix +++ b/pkgs/development/tools/mold/default.nix @@ -33,6 +33,10 @@ stdenv.mkDerivation rec { mimalloc ]; + patches = [ + ./fix-debug-strip.patch # fix --debug-strip; https://github.com/rui314/mold/pull/1038 + ]; + postPatch = '' sed -i CMakeLists.txt -e '/.*set(DEST\ .*/d' ''; diff --git a/pkgs/development/tools/mold/fix-debug-strip.patch b/pkgs/development/tools/mold/fix-debug-strip.patch new file mode 100644 index 000000000000..78906efc73ac --- /dev/null +++ b/pkgs/development/tools/mold/fix-debug-strip.patch @@ -0,0 +1,23 @@ +From b699b73451c57ac01c2680c0b86e1f56ca19e51c Mon Sep 17 00:00:00 2001 +From: Jakub Konka +Date: Sat, 6 May 2023 07:55:46 +0200 +Subject: [PATCH] Fix handling of --debug-strip + +Signed-off-by: Jakub Konka +--- + 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 parse_nonpositional_args(Context &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")) {