From 69a337edae4d8d0dd6bd6e96468ba887509f3f0a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 28 Feb 2016 01:54:55 +0100 Subject: [PATCH] separateDebugInfo: Compress debug sections at compile/link time --- .../setup-hooks/separate-debug-info.sh | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pkgs/build-support/setup-hooks/separate-debug-info.sh b/pkgs/build-support/setup-hooks/separate-debug-info.sh index 37753d9ce40..d2d8386c92d 100644 --- a/pkgs/build-support/setup-hooks/separate-debug-info.sh +++ b/pkgs/build-support/setup-hooks/separate-debug-info.sh @@ -1,5 +1,5 @@ -export NIX_LDFLAGS+=" --build-id" -export NIX_CFLAGS_COMPILE+=" -ggdb" +export NIX_LDFLAGS+=" --build-id --compress-debug-sections" +export NIX_CFLAGS_COMPILE+=" -ggdb -Wa,--compress-debug-sections" dontStrip=1 fixupOutputHooks+=(_separateDebugInfo) @@ -25,18 +25,10 @@ _separateDebugInfo() { # Extract the debug info. header "separating debug info from $i (build ID $id)" mkdir -p "$dst/${id:0:2}" - objcopy --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug" --compress-debug-sections + objcopy --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug" strip --strip-debug "$i" # Also a create a symlink .debug. ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")" done < <(find "$prefix" -type f -print0) } - -# - We might prefer to compress the debug info during link-time already, -# but our ld doesn't support --compress-debug-sections=zlib (yet). -# - Debug info may cause problems due to excessive memory usage during linking. -# Using -Wa,--compress-debug-sections should help with that; -# further interesting information: https://gcc.gnu.org/wiki/DebugFission -# - Another related tool: https://fedoraproject.org/wiki/Features/DwarfCompressor -