summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2023-05-05 14:14:48 +0200
committerGitHub <noreply@github.com>2023-05-05 14:14:48 +0200
commitaf9b9f6bafdbbd56ff5a0df33697538cc4eb89ee (patch)
tree0d06b66998e79542043e21f9d06a4fd3eae349db
parentbbc779f3f0d8b4462b3dd3d205dca809ecdf4441 (diff)
downloadspack-af9b9f6bafdbbd56ff5a0df33697538cc4eb89ee.tar.gz
spack-af9b9f6bafdbbd56ff5a0df33697538cc4eb89ee.tar.bz2
spack-af9b9f6bafdbbd56ff5a0df33697538cc4eb89ee.tar.xz
spack-af9b9f6bafdbbd56ff5a0df33697538cc4eb89ee.zip
binutils: enable debug section compression with zlib by default (#37359)
-rw-r--r--var/spack/repos/builtin/packages/binutils/package.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py
index cd11f0f8e5..0bec2ca1a2 100644
--- a/var/spack/repos/builtin/packages/binutils/package.py
+++ b/var/spack/repos/builtin/packages/binutils/package.py
@@ -110,6 +110,13 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage):
multi=True,
description="Build shared libs, static libs or both",
)
+ variant(
+ "compress_debug_sections",
+ default="zlib",
+ values=(conditional("zstd", when="@2.40:"), "zlib", "none"),
+ description="Enable debug section compression by default in ld, gas, gold.",
+ when="@2.26:",
+ )
patch("cr16.patch", when="@:2.29.1")
patch("update_symbol-2.26.patch", when="@2.26")
@@ -250,6 +257,15 @@ class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder):
else:
args.append("--disable-pgo-build")
+ # Compressed debug symbols by default. Note that the "default" flag only applies
+ # to 2.40: but since it is ignored in earlier versions, that is not a problem.
+ if self.spec.satisfies("compress_debug_sections=zlib"):
+ args.append("--enable-compressed-debug-sections=all")
+ args.append("--enable-default-compressed-debug-sections-algorithm=zlib")
+ elif self.spec.satisfies("compress_debug_sections=zstd"):
+ args.append("--enable-compressed-debug-sections=all")
+ args.append("--enable-default-compressed-debug-sections-algorithm=zstd")
+
# To avoid namespace collisions with Darwin/BSD system tools,
# prefix executables with "g", e.g., gar, gnm; see Homebrew
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/binutils.rb