From 37514792178a49d97a49c9cf5be22f6b524761f1 Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Thu, 3 Jul 2025 11:26:34 +0800 Subject: [PATCH] change(bootloader): removed support for CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE --- CMakeLists.txt | 2 -- components/bootloader/Kconfig.projbuild | 3 --- components/bootloader/sdkconfig.rename | 3 +++ docs/en/migration-guides/release-6.x/6.0/system.rst | 5 +++++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cd2e791ba..968801f36b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,8 +29,6 @@ if(BOOTLOADER_BUILD) if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CONFIG_IDF_TARGET_LINUX) list(APPEND compile_options "-fno-shrink-wrap") # Disable shrink-wrapping to reduce binary size endif() - elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE) - list(APPEND compile_options "-O0") elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF) list(APPEND compile_options "-O2") endif() diff --git a/components/bootloader/Kconfig.projbuild b/components/bootloader/Kconfig.projbuild index 0e40693ab0..f8ff0f146f 100644 --- a/components/bootloader/Kconfig.projbuild +++ b/components/bootloader/Kconfig.projbuild @@ -34,9 +34,6 @@ menu "Bootloader config" bool "Debug (-Og)" config BOOTLOADER_COMPILER_OPTIMIZATION_PERF bool "Optimize for performance (-O2)" - config BOOTLOADER_COMPILER_OPTIMIZATION_NONE - bool "Debug without optimization (-O0) (Deprecated, will be removed in IDF v6.0)" - depends on IDF_TARGET_ARCH_XTENSA || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 endchoice diff --git a/components/bootloader/sdkconfig.rename b/components/bootloader/sdkconfig.rename index bbc1846e7a..81d3926495 100644 --- a/components/bootloader/sdkconfig.rename +++ b/components/bootloader/sdkconfig.rename @@ -27,3 +27,6 @@ CONFIG_SECURE_BOOT_ENABLED CONFIG_SECURE_BOOT_V CONFIG_SPI_FLASH_32BIT_ADDR_ENABLE CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH CONFIG_SPI_FLASH_QUAD_32BIT_ADDR_ENABLE CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH CONFIG_SPI_FLASH_OCTAL_32BIT_ADDR_ENABLE CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH + + +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG diff --git a/docs/en/migration-guides/release-6.x/6.0/system.rst b/docs/en/migration-guides/release-6.x/6.0/system.rst index 1f0dcdf3a1..4258671476 100644 --- a/docs/en/migration-guides/release-6.x/6.0/system.rst +++ b/docs/en/migration-guides/release-6.x/6.0/system.rst @@ -37,3 +37,8 @@ Update to: if (causes & BIT(ESP_SLEEP_WAKEUP_TIMER)) { handle_timer_wakeup(); } + +Bootloader +---------- + +Removed option for compiling bootloader with no optimization level (-O0, `CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE`). On most targets it was no longer possible to compile the bootloader with -O0, as IRAM sections would overflow. For debugging purposes, it is recommended to use the -Og (:ref:`CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG`) optimization level instead. This provides a good balance between optimization and debuggability.