Explorar o código

sleep: disable switch-case jump tables from being placed in flash

sleep_modes.c contains switch statements that should be placed in flash.
Settings for avoiding this was not updated during sleep_modes refactor.
Marius Vikhammer %!s(int64=4) %!d(string=hai) anos
pai
achega
38d9251bda

+ 5 - 0
components/esp_hw_support/CMakeLists.txt

@@ -17,6 +17,11 @@ if(NOT BOOTLOADER_BUILD)
                      "mac_addr.c"
                      "sleep_modes.c")
      list(APPEND priv_requires esp_ipc)
+
+     if(NOT CMAKE_BUILD_EARLY_EXPANSION)
+          set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/sleep_modes.c" PROPERTIES
+                                      COMPILE_FLAGS "-fno-jump-tables -fno-tree-switch-conversion")
+     endif()
 endif()
 
 idf_component_register(SRCS ${srcs}

+ 0 - 4
components/esp_system/CMakeLists.txt

@@ -52,10 +52,6 @@ else()
         PROPERTIES COMPILE_FLAGS
         -fno-stack-protector)
 
-    if(NOT CMAKE_BUILD_EARLY_EXPANSION)
-        set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/sleep_modes.c" PROPERTIES
-                                    COMPILE_FLAGS "-fno-jump-tables -fno-tree-switch-conversion")
-    endif()
 endif()
 
 if(CONFIG_IDF_ENV_FPGA)