From 5a7e58af4e4fffa127af50e9c7756989e63f6248 Mon Sep 17 00:00:00 2001 From: Jeremy Volkman Date: Tue, 25 Apr 2023 15:52:55 -0700 Subject: [PATCH] Move -Wl,-S to a separate strip_debug_symbols feature --- toolchain/zig_toolchain.bzl | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/toolchain/zig_toolchain.bzl b/toolchain/zig_toolchain.bzl index 3863a2e..93bdd1d 100644 --- a/toolchain/zig_toolchain.bzl +++ b/toolchain/zig_toolchain.bzl @@ -69,6 +69,7 @@ def _compilation_mode_features(ctx): ], ) + # fastbuild also gets the strip_debug_symbols flags by default. fastbuild_feature = feature( name = "fastbuild", flag_sets = [ @@ -76,7 +77,7 @@ def _compilation_mode_features(ctx): actions = actions, flag_groups = [ flag_group( - flags = ["-fno-lto", "-Wl,-S"], + flags = ["-fno-lto"], ), ], ), @@ -117,20 +118,20 @@ def _zig_cc_toolchain_config_impl(ctx): link_flag_sets = [] if ctx.attr.linkopts: - link_flag_sets += [ + link_flag_sets.append( flag_set( actions = all_link_actions, flag_groups = [flag_group(flags = ctx.attr.linkopts)], - ), - ] + ) + ) if ctx.attr.dynamic_library_linkopts: - link_flag_sets += [ + link_flag_sets.append( flag_set( actions = dynamic_library_link_actions, flag_groups = [flag_group(flags = ctx.attr.dynamic_library_linkopts)], - ), - ] + ) + ) default_linker_flags = feature( name = "default_linker_flags", @@ -143,10 +144,26 @@ def _zig_cc_toolchain_config_impl(ctx): enabled = True, ) + strip_debug_symbols_feature = feature( + name = "strip_debug_symbols", + flag_sets = [ + flag_set( + actions = all_link_actions, + flag_groups = [ + flag_group( + flags = ["-Wl,-S"], + expand_if_available = "strip_debug_symbols", + ), + ], + ), + ], + ) + features = [ compile_and_link_flags, default_linker_flags, supports_dynamic_linker, + strip_debug_symbols_feature, ] + _compilation_mode_features(ctx) artifact_name_patterns = [