From e97650437403c04da274200337de53968da20ab0 Mon Sep 17 00:00:00 2001 From: Sean Anderson Date: Tue, 22 Feb 2022 12:19:25 -0500 Subject: [PATCH] Add option to use -Og This adds support for using -Og when building U-Boot. According to the gcc man page: > -Og should be the optimization level of choice for the standard > edit-compile-debug cycle, offering a reasonable level of optimization > while maintaining fast compilation and a good debugging experience. This optimization level is roughly -O1 minus a few additional optimizations. It provides a noticably better debugging experience, with many fewer variables . Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- Kconfig | 6 ++++++ Makefile | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/Kconfig b/Kconfig index 8159c596c0..112745440b 100644 --- a/Kconfig +++ b/Kconfig @@ -90,6 +90,12 @@ config CC_OPTIMIZE_FOR_SPEED Enabling this option will pass "-O2" to gcc, resulting in a faster U-Boot image. +config CC_OPTIMIZE_FOR_DEBUG + bool "Optimize for debugging" + help + Enabling this option will pass "-Og" to gcc, enabling optimizations + which don't interfere with debugging. + endchoice config OPTIMIZE_INLINING diff --git a/Makefile b/Makefile index c04b58d46a..a981cc5e7d 100644 --- a/Makefile +++ b/Makefile @@ -689,6 +689,10 @@ ifdef CONFIG_CC_OPTIMIZE_FOR_SPEED KBUILD_CFLAGS += -O2 endif +ifdef CONFIG_CC_OPTIMIZE_FOR_DEBUG +KBUILD_CFLAGS += -Og +endif + LTO_CFLAGS := LTO_FINAL_LDFLAGS := export LTO_CFLAGS LTO_FINAL_LDFLAGS -- 2.39.5