mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 12:14:32 +02:00
Merge branch 'feature/add_compiler_no_merge_constants_v5.3' into 'release/v5.3'
feat: add compiler config for not merging const sections (v5.3) See merge request espressif/esp-idf!34086
This commit is contained in:
@@ -136,6 +136,10 @@ if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
|
|||||||
list(APPEND compile_definitions "-DNDEBUG")
|
list(APPEND compile_definitions "-DNDEBUG")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_COMPILER_NO_MERGE_CONSTANTS)
|
||||||
|
list(APPEND compile_options "-fno-merge-constants")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM)
|
if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM)
|
||||||
list(APPEND compile_options "-fstack-protector")
|
list(APPEND compile_options "-fstack-protector")
|
||||||
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG)
|
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG)
|
||||||
|
9
Kconfig
9
Kconfig
@@ -529,6 +529,15 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
help
|
help
|
||||||
Stack smashing protection.
|
Stack smashing protection.
|
||||||
|
|
||||||
|
config COMPILER_NO_MERGE_CONSTANTS
|
||||||
|
bool "Disable merging const sections"
|
||||||
|
depends on IDF_TOOLCHAIN_GCC
|
||||||
|
help
|
||||||
|
Disable merging identical constants (string/floating-point) across compilation units.
|
||||||
|
This helps in better size analysis of the application binary as the rodata section
|
||||||
|
distribution is more uniform across libraries. On downside, it may increase
|
||||||
|
the binary size and hence should be used during development phase only.
|
||||||
|
|
||||||
config COMPILER_WARN_WRITE_STRINGS
|
config COMPILER_WARN_WRITE_STRINGS
|
||||||
bool "Enable -Wwrite-strings warning flag"
|
bool "Enable -Wwrite-strings warning flag"
|
||||||
default "n"
|
default "n"
|
||||||
|
@@ -0,0 +1 @@
|
|||||||
|
CONFIG_COMPILER_NO_MERGE_CONSTANTS=y
|
Reference in New Issue
Block a user