[git commit] kbuild: Prefer -Oz over -Os

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Sun Apr 24 17:18:57 UTC 2022


commit: https://git.busybox.net/busybox/commit/?id=7fbfb2050f24a457a909ea6bcec85c49a21db83a
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

-Oz Optimize aggressively for size rather than speed.

with gcc-12 so far (i think only https://gcc.gnu.org/PR32803 and 103773 )
"shorter load imm on x86_64":
(add/remove: 0/0 grow/shrink: 4/1670 up/down: 6/-13196)    Total: -13190 bytes
   text	   data	    bss	    dec	    hex	filename
 975753	   4227	   1816	 981796	  efb24	busybox_old
 962442	   4227	   1816	 968485	  ec725	busybox_unstripped

with clang-15:
(add/remove: 394/34 grow/shrink: 161/1856 up/down: 18644/-98946)Total: -80302 bytes
   text	   data	    bss	    dec	    hex	filename
1120994	  16066	   1696	1138756	 116044	busybox_old
1040689	  16026	   1696	1058411	 10266b	busybox_unstripped

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 Makefile.flags | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile.flags b/Makefile.flags
index c34356230..84cb00a75 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -87,14 +87,14 @@ endif
 #CFLAGS += $(call cc-option,-Wconversion,)
 
 ifneq ($(CONFIG_DEBUG),y)
-CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,))
+CFLAGS += $(call cc-option,-Oz,$(call cc-option,-Os,$(call cc-option,-O2,)))
 else
 CFLAGS += $(call cc-option,-g,)
 #CFLAGS += "-D_FORTIFY_SOURCE=2"
 ifeq ($(CONFIG_DEBUG_PESSIMIZE),y)
 CFLAGS += $(call cc-option,-O0,)
 else
-CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,))
+CFLAGS += $(call cc-option,-Oz,$(call cc-option,-Os,$(call cc-option,-O2,)))
 endif
 endif
 ifeq ($(CONFIG_DEBUG_SANITIZE),y)


More information about the busybox-cvs mailing list