Parcourir la source

esp32: disable -Wframe-address

Since the behavior is well defined on Xtensa with Window ABI we can
suppress a frame-address warning. Also fix the CMAKE_C*_FLAGS parsing.
Anton Maklakov il y a 6 ans
Parent
commit
2e6c8cdce3
3 fichiers modifiés avec 5 ajouts et 2 suppressions
  1. 1 0
      make/project.mk
  2. 2 0
      tools/cmake/idf_functions.cmake
  3. 2 2
      tools/cmake/toolchain-esp32.cmake

+ 1 - 0
make/project.mk

@@ -397,6 +397,7 @@ endif #CONFIG_WARN_WRITE_STRINGS
 
 # Flags which control code generation and dependency generation, both for C and C++
 COMMON_FLAGS = \
+	-Wno-frame-address \
 	-ffunction-sections -fdata-sections \
 	-fstrict-volatile-bitfields \
 	-mlongcalls \

+ 2 - 0
tools/cmake/idf_functions.cmake

@@ -92,6 +92,8 @@ function(idf_set_global_compile_options)
 
     list(APPEND compile_definitions "ESP_PLATFORM" "HAVE_CONFIG_H")
 
+    spaces2list(CMAKE_C_FLAGS)
+    spaces2list(CMAKE_CXX_FLAGS)
     list(APPEND compile_options "${CMAKE_C_FLAGS}")
     list(APPEND c_compile_options "${CMAKE_C_FLAGS}")
     list(APPEND cxx_compile_options "${CMAKE_CXX_FLAGS}")

+ 2 - 2
tools/cmake/toolchain-esp32.cmake

@@ -5,5 +5,5 @@ set(CMAKE_CXX_COMPILER xtensa-esp32-elf-g++)
 set(CMAKE_ASM_COMPILER xtensa-esp32-elf-gcc)
 
 set(CMAKE_EXE_LINKER_FLAGS "-nostdlib" CACHE STRING "Linker Base Flags")
-set(CMAKE_C_FLAGS "-mlongcalls" CACHE STRING "C Compiler Base Flags")
-set(CMAKE_CXX_FLAGS "-mlongcalls" CACHE STRING "C++ Compiler Base Flags")
+set(CMAKE_C_FLAGS "-mlongcalls -Wno-frame-address" CACHE STRING "C Compiler Base Flags")
+set(CMAKE_CXX_FLAGS "-mlongcalls -Wno-frame-address" CACHE STRING "C++ Compiler Base Flags")