pw_toolchain: Use -Oz for size optimized Clang+arm
Sets the Clang-based ARM toolchain to use "-Oz" for size-optimized
builds rather than "-Os".
Change-Id: I7887017e781ef7e94d792e114beef333678c7549
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/32240
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
diff --git a/pw_build/BUILD.gn b/pw_build/BUILD.gn
index 2a8eb42..c14b984 100644
--- a/pw_build/BUILD.gn
+++ b/pw_build/BUILD.gn
@@ -64,6 +64,11 @@
ldflags = cflags
}
+config("optimize_size_clang") {
+ cflags = [ "-Oz" ]
+ ldflags = cflags
+}
+
# Standard compiler flags to reduce output binary size.
config("reduced_size") {
cflags = [
diff --git a/pw_toolchain/arm_clang/toolchains.gni b/pw_toolchain/arm_clang/toolchains.gni
index 0f6019d..5ee6db4 100644
--- a/pw_toolchain/arm_clang/toolchains.gni
+++ b/pw_toolchain/arm_clang/toolchains.gni
@@ -63,7 +63,7 @@
name = "arm_clang_cortex_m0plus_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m0plus + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m0plus + [ "$dir_pw_build:optimize_size_clang" ]
}
}
cortex_m3_debug = {
@@ -84,7 +84,7 @@
name = "arm_clang_cortex_m3_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m3 + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m3 + [ "$dir_pw_build:optimize_size_clang" ]
}
}
cortex_m4_debug = {
@@ -105,7 +105,7 @@
name = "arm_clang_cortex_m4_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m4 + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m4 + [ "$dir_pw_build:optimize_size_clang" ]
}
}
cortex_m4f_debug = {
@@ -126,7 +126,7 @@
name = "arm_clang_cortex_m4f_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m4f + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m4f + [ "$dir_pw_build:optimize_size_clang" ]
}
}
cortex_m7_debug = {
@@ -147,7 +147,7 @@
name = "arm_clang_cortex_m7_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m7 + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m7 + [ "$dir_pw_build:optimize_size_clang" ]
}
}
cortex_m7f_debug = {
@@ -168,7 +168,7 @@
name = "arm_clang_cortex_m7f_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m7f + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m7f + [ "$dir_pw_build:optimize_size_clang" ]
}
}
cortex_m33_debug = {
@@ -189,7 +189,7 @@
name = "arm_clang_cortex_m33_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m33 + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m33 + [ "$dir_pw_build:optimize_size_clang" ]
}
}
cortex_m33f_debug = {
@@ -210,7 +210,7 @@
name = "arm_clang_cortex_m33f_size_optimized"
forward_variables_from(_arm_clang_toolchain, "*")
defaults = {
- default_configs = _cortex_m33f + [ "$dir_pw_build:optimize_size" ]
+ default_configs = _cortex_m33f + [ "$dir_pw_build:optimize_size_clang" ]
}
}
}
diff --git a/pw_toolchain/host_clang/toolchains.gni b/pw_toolchain/host_clang/toolchains.gni
index a1106a8..b4b9580 100644
--- a/pw_toolchain/host_clang/toolchains.gni
+++ b/pw_toolchain/host_clang/toolchains.gni
@@ -95,7 +95,7 @@
forward_variables_from(_host_clang_toolchain, "*")
defaults = {
forward_variables_from(_defaults, "*")
- default_configs += [ "$dir_pw_build:optimize_size" ]
+ default_configs += [ "$dir_pw_build:optimize_size_clang" ]
foreach(sanitizer, pw_toolchain_SANITIZERS) {
default_configs +=
[ "$dir_pw_toolchain/host_clang:sanitize_$sanitizer" ]