mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Rename Kconfig options (root)
This commit is contained in:
parent
1af263ebb2
commit
c5000c83d2
@ -18,19 +18,19 @@ endif()
|
|||||||
|
|
||||||
list(APPEND compile_definitions "-DGCC_NOT_5_2_0=${GCC_NOT_5_2_0}")
|
list(APPEND compile_definitions "-DGCC_NOT_5_2_0=${GCC_NOT_5_2_0}")
|
||||||
|
|
||||||
if(CONFIG_OPTIMIZATION_LEVEL_RELEASE)
|
if(CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE)
|
||||||
list(APPEND compile_options "-Os")
|
list(APPEND compile_options "-Os")
|
||||||
else()
|
else()
|
||||||
list(APPEND compile_options "-Og")
|
list(APPEND compile_options "-Og")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_CXX_EXCEPTIONS)
|
if(CONFIG_COMPILER_CXX_EXCEPTIONS)
|
||||||
list(APPEND cxx_compile_options "-fexceptions")
|
list(APPEND cxx_compile_options "-fexceptions")
|
||||||
else()
|
else()
|
||||||
list(APPEND cxx_compile_options "-fno-exceptions")
|
list(APPEND cxx_compile_options "-fno-exceptions")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_DISABLE_GCC8_WARNINGS)
|
if(CONFIG_COMPILER_DISABLE_GCC8_WARNINGS)
|
||||||
list(APPEND compile_options "-Wno-parentheses"
|
list(APPEND compile_options "-Wno-parentheses"
|
||||||
"-Wno-sizeof-pointer-memaccess"
|
"-Wno-sizeof-pointer-memaccess"
|
||||||
"-Wno-clobbered")
|
"-Wno-clobbered")
|
||||||
@ -50,15 +50,15 @@ if(CONFIG_DISABLE_GCC8_WARNINGS)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED)
|
if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
|
||||||
list(APPEND compile_definitions "NDEBUG")
|
list(APPEND compile_definitions "NDEBUG")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_STACK_CHECK_NORM)
|
if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM)
|
||||||
list(APPEND compile_options "-fstack-protector")
|
list(APPEND compile_options "-fstack-protector")
|
||||||
elseif(CONFIG_STACK_CHECK_STRONG)
|
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG)
|
||||||
list(APPEND compile_options "-fstack-protector-strong")
|
list(APPEND compile_options "-fstack-protector-strong")
|
||||||
elseif(CONFIG_STACK_CHECK_ALL)
|
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_ALL)
|
||||||
list(APPEND compile_options "-fstack-protector-all")
|
list(APPEND compile_options "-fstack-protector-all")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
44
Kconfig
44
Kconfig
@ -60,9 +60,9 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
|
|
||||||
menu "Compiler options"
|
menu "Compiler options"
|
||||||
|
|
||||||
choice OPTIMIZATION_COMPILER
|
choice COMPILER_OPTIMIZATION
|
||||||
prompt "Optimization Level"
|
prompt "Optimization Level"
|
||||||
default OPTIMIZATION_LEVEL_DEBUG
|
default COMPILER_OPTIMIZATION_LEVEL_DEBUG
|
||||||
help
|
help
|
||||||
This option sets compiler optimization level (gcc -O argument).
|
This option sets compiler optimization level (gcc -O argument).
|
||||||
|
|
||||||
@ -76,15 +76,15 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
in project makefile, before including $(IDF_PATH)/make/project.mk. Note that
|
in project makefile, before including $(IDF_PATH)/make/project.mk. Note that
|
||||||
custom optimization levels may be unsupported.
|
custom optimization levels may be unsupported.
|
||||||
|
|
||||||
config OPTIMIZATION_LEVEL_DEBUG
|
config COMPILER_OPTIMIZATION_LEVEL_DEBUG
|
||||||
bool "Debug (-Og)"
|
bool "Debug (-Og)"
|
||||||
config OPTIMIZATION_LEVEL_RELEASE
|
config COMPILER_OPTIMIZATION_LEVEL_RELEASE
|
||||||
bool "Release (-Os)"
|
bool "Release (-Os)"
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
choice OPTIMIZATION_ASSERTION_LEVEL
|
choice COMPILER_OPTIMIZATION_ASSERTION_LEVEL
|
||||||
prompt "Assertion level"
|
prompt "Assertion level"
|
||||||
default OPTIMIZATION_ASSERTIONS_ENABLED
|
default COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
|
||||||
help
|
help
|
||||||
Assertions can be:
|
Assertions can be:
|
||||||
|
|
||||||
@ -96,20 +96,20 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
- Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
|
- Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
|
||||||
to CPPFLAGS in this case.
|
to CPPFLAGS in this case.
|
||||||
|
|
||||||
config OPTIMIZATION_ASSERTIONS_ENABLED
|
config COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
|
||||||
prompt "Enabled"
|
prompt "Enabled"
|
||||||
bool
|
bool
|
||||||
help
|
help
|
||||||
Enable assertions. Assertion content and line number will be printed on failure.
|
Enable assertions. Assertion content and line number will be printed on failure.
|
||||||
|
|
||||||
config OPTIMIZATION_ASSERTIONS_SILENT
|
config COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
|
||||||
prompt "Silent (saves code size)"
|
prompt "Silent (saves code size)"
|
||||||
bool
|
bool
|
||||||
help
|
help
|
||||||
Enable silent assertions. Failed assertions will abort(), user needs to
|
Enable silent assertions. Failed assertions will abort(), user needs to
|
||||||
use the aborting address to find the line number with the failed assertion.
|
use the aborting address to find the line number with the failed assertion.
|
||||||
|
|
||||||
config OPTIMIZATION_ASSERTIONS_DISABLED
|
config COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
|
||||||
prompt "Disabled (sets -DNDEBUG)"
|
prompt "Disabled (sets -DNDEBUG)"
|
||||||
bool
|
bool
|
||||||
help
|
help
|
||||||
@ -117,7 +117,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
|
|
||||||
endchoice # assertions
|
endchoice # assertions
|
||||||
|
|
||||||
menuconfig CXX_EXCEPTIONS
|
menuconfig COMPILER_CXX_EXCEPTIONS
|
||||||
bool "Enable C++ exceptions"
|
bool "Enable C++ exceptions"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
@ -129,17 +129,17 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
Enabling this option currently adds an additional ~500 bytes of heap overhead
|
Enabling this option currently adds an additional ~500 bytes of heap overhead
|
||||||
when an exception is thrown in user code for the first time.
|
when an exception is thrown in user code for the first time.
|
||||||
|
|
||||||
config CXX_EXCEPTIONS_EMG_POOL_SIZE
|
config COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE
|
||||||
int "Emergency Pool Size"
|
int "Emergency Pool Size"
|
||||||
default 0
|
default 0
|
||||||
depends on CXX_EXCEPTIONS
|
depends on COMPILER_CXX_EXCEPTIONS
|
||||||
help
|
help
|
||||||
Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
|
Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
|
||||||
memory for thrown exceptions when there is not enough memory on the heap.
|
memory for thrown exceptions when there is not enough memory on the heap.
|
||||||
|
|
||||||
choice STACK_CHECK_MODE
|
choice COMPILER_STACK_CHECK_MODE
|
||||||
prompt "Stack smashing protection mode"
|
prompt "Stack smashing protection mode"
|
||||||
default STACK_CHECK_NONE
|
default COMPILER_STACK_CHECK_MODE_NONE
|
||||||
help
|
help
|
||||||
Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
|
Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
|
||||||
smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
|
smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
|
||||||
@ -162,23 +162,23 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
- coverage: NORMAL < STRONG < OVERALL
|
- coverage: NORMAL < STRONG < OVERALL
|
||||||
|
|
||||||
|
|
||||||
config STACK_CHECK_NONE
|
config COMPILER_STACK_CHECK_MODE_NONE
|
||||||
bool "None"
|
bool "None"
|
||||||
config STACK_CHECK_NORM
|
config COMPILER_STACK_CHECK_MODE_NORM
|
||||||
bool "Normal"
|
bool "Normal"
|
||||||
config STACK_CHECK_STRONG
|
config COMPILER_STACK_CHECK_MODE_STRONG
|
||||||
bool "Strong"
|
bool "Strong"
|
||||||
config STACK_CHECK_ALL
|
config COMPILER_STACK_CHECK_MODE_ALL
|
||||||
bool "Overall"
|
bool "Overall"
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config STACK_CHECK
|
config COMPILER_STACK_CHECK
|
||||||
bool
|
bool
|
||||||
default !STACK_CHECK_NONE
|
default !COMPILER_STACK_CHECK_MODE_NONE
|
||||||
help
|
help
|
||||||
Stack smashing protection.
|
Stack smashing protection.
|
||||||
|
|
||||||
config WARN_WRITE_STRINGS
|
config COMPILER_WARN_WRITE_STRINGS
|
||||||
bool "Enable -Wwrite-strings warning flag"
|
bool "Enable -Wwrite-strings warning flag"
|
||||||
default "n"
|
default "n"
|
||||||
help
|
help
|
||||||
@ -192,7 +192,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
|
|||||||
For C++, this warns about the deprecated conversion from string
|
For C++, this warns about the deprecated conversion from string
|
||||||
literals to ``char *``.
|
literals to ``char *``.
|
||||||
|
|
||||||
config DISABLE_GCC8_WARNINGS
|
config COMPILER_DISABLE_GCC8_WARNINGS
|
||||||
bool "Disable new warnings introduced in GCC 6 - 8"
|
bool "Disable new warnings introduced in GCC 6 - 8"
|
||||||
default "n"
|
default "n"
|
||||||
help
|
help
|
||||||
|
@ -18,9 +18,9 @@
|
|||||||
// Enabling exceptions only when they are enabled in menuconfig
|
// Enabling exceptions only when they are enabled in menuconfig
|
||||||
//
|
//
|
||||||
# include <sdkconfig.h>
|
# include <sdkconfig.h>
|
||||||
# ifndef CONFIG_CXX_EXCEPTIONS
|
# ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
# define ASIO_NO_EXCEPTIONS
|
# define ASIO_NO_EXCEPTIONS
|
||||||
# endif // CONFIG_CXX_EXCEPTIONS
|
# endif // CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
|
|
||||||
//
|
//
|
||||||
// LWIP compatifility inet and address macros/functions
|
// LWIP compatifility inet and address macros/functions
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
//
|
//
|
||||||
// This exception stub is enabled only if exceptions are disabled in menuconfig
|
// This exception stub is enabled only if exceptions are disabled in menuconfig
|
||||||
//
|
//
|
||||||
#if !defined(CONFIG_CXX_EXCEPTIONS) && defined (ASIO_NO_EXCEPTIONS)
|
#if !defined(CONFIG_COMPILER_CXX_EXCEPTIONS) && defined (ASIO_NO_EXCEPTIONS)
|
||||||
|
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
|
||||||
@ -34,6 +34,6 @@ void throw_exception(const Exception& e)
|
|||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
#endif // CONFIG_CXX_EXCEPTIONS==1 && defined (ASIO_NO_EXCEPTIONS)
|
#endif // CONFIG_COMPILER_CXX_EXCEPTIONS==1 && defined (ASIO_NO_EXCEPTIONS)
|
||||||
|
|
||||||
#endif // _ESP_EXCEPTION_H_
|
#endif // _ESP_EXCEPTION_H_
|
||||||
|
@ -5,6 +5,6 @@ register_component()
|
|||||||
target_link_libraries(${COMPONENT_LIB} stdc++)
|
target_link_libraries(${COMPONENT_LIB} stdc++)
|
||||||
target_link_libraries(${COMPONENT_LIB} "-u __cxa_guard_dummy")
|
target_link_libraries(${COMPONENT_LIB} "-u __cxa_guard_dummy")
|
||||||
|
|
||||||
if(NOT CONFIG_CXX_EXCEPTIONS)
|
if(NOT CONFIG_COMPILER_CXX_EXCEPTIONS)
|
||||||
target_link_libraries(${COMPONENT_LIB} "-u __cxx_fatal_exception")
|
target_link_libraries(${COMPONENT_LIB} "-u __cxx_fatal_exception")
|
||||||
endif()
|
endif()
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# is taken from cxx_guards.o instead of libstdc++.a
|
# is taken from cxx_guards.o instead of libstdc++.a
|
||||||
COMPONENT_ADD_LDFLAGS += -u __cxa_guard_dummy
|
COMPONENT_ADD_LDFLAGS += -u __cxa_guard_dummy
|
||||||
|
|
||||||
ifndef CONFIG_CXX_EXCEPTIONS
|
ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
# If exceptions are disabled, ensure our fatal exception
|
# If exceptions are disabled, ensure our fatal exception
|
||||||
# hooks are preferentially linked over libstdc++ which
|
# hooks are preferentially linked over libstdc++ which
|
||||||
# has full exception support
|
# has full exception support
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <bits/functexcept.h>
|
#include <bits/functexcept.h>
|
||||||
#include <sdkconfig.h>
|
#include <sdkconfig.h>
|
||||||
|
|
||||||
#ifndef CONFIG_CXX_EXCEPTIONS
|
#ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
|
|
||||||
const char *FATAL_EXCEPTION = "Fatal C++ exception: ";
|
const char *FATAL_EXCEPTION = "Fatal C++ exception: ";
|
||||||
|
|
||||||
@ -81,4 +81,4 @@ extern "C" void __cxa_call_terminate(void) __attribute__((alias("__cxx_fatal_exc
|
|||||||
|
|
||||||
bool std::uncaught_exception() __attribute__((alias("__cxx_fatal_exception_bool")));
|
bool std::uncaught_exception() __attribute__((alias("__cxx_fatal_exception_bool")));
|
||||||
|
|
||||||
#endif // CONFIG_CXX_EXCEPTIONS
|
#endif // CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
|
@ -196,7 +196,7 @@ TEST_CASE("before scheduler has started, static initializers work correctly", "[
|
|||||||
TEST_ASSERT_EQUAL(2, StaticInitTestBeforeScheduler::order);
|
TEST_ASSERT_EQUAL(2, StaticInitTestBeforeScheduler::order);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CXX_EXCEPTIONS
|
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
|
|
||||||
TEST_CASE("c++ exceptions work", "[cxx]")
|
TEST_CASE("c++ exceptions work", "[cxx]")
|
||||||
{
|
{
|
||||||
@ -259,7 +259,7 @@ TEST_CASE("c++ exceptions emergency pool", "[cxx] [ignore]")
|
|||||||
thrown_value = e;
|
thrown_value = e;
|
||||||
printf("Got exception %d\n", thrown_value);
|
printf("Got exception %d\n", thrown_value);
|
||||||
}
|
}
|
||||||
#if CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE > 0
|
#if CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE > 0
|
||||||
// free all memory
|
// free all memory
|
||||||
while (pprev) {
|
while (pprev) {
|
||||||
p = (void **)(*pprev);
|
p = (void **)(*pprev);
|
||||||
@ -274,7 +274,7 @@ TEST_CASE("c++ exceptions emergency pool", "[cxx] [ignore]")
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // !CONFIG_CXX_EXCEPTIONS
|
#else // !CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
|
|
||||||
TEST_CASE("std::out_of_range exception when -fno-exceptions", "[cxx][reset=abort,SW_CPU_RESET]")
|
TEST_CASE("std::out_of_range exception when -fno-exceptions", "[cxx][reset=abort,SW_CPU_RESET]")
|
||||||
{
|
{
|
||||||
|
@ -570,7 +570,7 @@ menu "ESP32-specific"
|
|||||||
|
|
||||||
config ESP32_DEBUG_STUBS_ENABLE
|
config ESP32_DEBUG_STUBS_ENABLE
|
||||||
bool "OpenOCD debug stubs"
|
bool "OpenOCD debug stubs"
|
||||||
default OPTIMIZATION_LEVEL_DEBUG
|
default COMPILER_OPTIMIZATION_LEVEL_DEBUG
|
||||||
depends on !ESP32_TRAX
|
depends on !ESP32_TRAX
|
||||||
help
|
help
|
||||||
Debug stubs are used by OpenOCD to execute pre-compiled onboard code which does some useful debugging,
|
Debug stubs are used by OpenOCD to execute pre-compiled onboard code which does some useful debugging,
|
||||||
|
@ -454,16 +454,16 @@ void start_cpu1_default(void)
|
|||||||
}
|
}
|
||||||
#endif //!CONFIG_FREERTOS_UNICORE
|
#endif //!CONFIG_FREERTOS_UNICORE
|
||||||
|
|
||||||
#ifdef CONFIG_CXX_EXCEPTIONS
|
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
size_t __cxx_eh_arena_size_get()
|
size_t __cxx_eh_arena_size_get()
|
||||||
{
|
{
|
||||||
return CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void do_global_ctors(void)
|
static void do_global_ctors(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_CXX_EXCEPTIONS
|
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
static struct object ob;
|
static struct object ob;
|
||||||
__register_frame_info( __eh_frame, &ob );
|
__register_frame_info( __eh_frame, &ob );
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
|
||||||
#if CONFIG_STACK_CHECK
|
#if CONFIG_COMPILER_STACK_CHECK
|
||||||
|
|
||||||
static void recur_and_smash()
|
static void recur_and_smash()
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
|
||||||
#if CONFIG_STACK_CHECK
|
#if CONFIG_COMPILER_STACK_CHECK
|
||||||
|
|
||||||
static void recur_and_smash_cxx()
|
static void recur_and_smash_cxx()
|
||||||
{
|
{
|
||||||
|
@ -105,7 +105,7 @@ void _esp_error_check_failed_without_abort(esp_err_t rc, const char *file, int l
|
|||||||
esp_err_t __err_rc = (x); \
|
esp_err_t __err_rc = (x); \
|
||||||
(void) sizeof(__err_rc); \
|
(void) sizeof(__err_rc); \
|
||||||
} while(0)
|
} while(0)
|
||||||
#elif defined(CONFIG_OPTIMIZATION_ASSERTIONS_SILENT)
|
#elif defined(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT)
|
||||||
#define ESP_ERROR_CHECK(x) do { \
|
#define ESP_ERROR_CHECK(x) do { \
|
||||||
esp_err_t __err_rc = (x); \
|
esp_err_t __err_rc = (x); \
|
||||||
if (__err_rc != ESP_OK) { \
|
if (__err_rc != ESP_OK) { \
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#include "sdkconfig.h"
|
#include "sdkconfig.h"
|
||||||
#include "esp_system.h"
|
#include "esp_system.h"
|
||||||
|
|
||||||
#if CONFIG_STACK_CHECK
|
#if CONFIG_COMPILER_STACK_CHECK
|
||||||
|
|
||||||
#define LOG_LOCAL_LEVEL CONFIG_LOG_DEFAULT_LEVEL
|
#define LOG_LOCAL_LEVEL CONFIG_LOG_DEFAULT_LEVEL
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
@ -410,7 +410,7 @@ menu "FreeRTOS"
|
|||||||
|
|
||||||
config FREERTOS_TASK_FUNCTION_WRAPPER
|
config FREERTOS_TASK_FUNCTION_WRAPPER
|
||||||
bool "Enclose all task functions in a wrapper function"
|
bool "Enclose all task functions in a wrapper function"
|
||||||
depends on OPTIMIZATION_LEVEL_DEBUG
|
depends on COMPILER_OPTIMIZATION_LEVEL_DEBUG
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
If enabled, all FreeRTOS task functions will be enclosed in a wrapper function.
|
If enabled, all FreeRTOS task functions will be enclosed in a wrapper function.
|
||||||
|
@ -48,9 +48,9 @@ inline static void multi_heap_assert(bool condition, const char *format, int lin
|
|||||||
*/
|
*/
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
if(!condition) {
|
if(!condition) {
|
||||||
#ifndef CONFIG_OPTIMIZATION_ASSERTIONS_SILENT
|
#ifndef CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
|
||||||
ets_printf(format, line, address);
|
ets_printf(format, line, address);
|
||||||
#endif // CONFIG_OPTIMIZATION_ASSERTIONS_SILENT
|
#endif // CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
#else // NDEBUG
|
#else // NDEBUG
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
#include_next <assert.h>
|
#include_next <assert.h>
|
||||||
|
|
||||||
#if defined(CONFIG_OPTIMIZATION_ASSERTIONS_SILENT) && !defined(NDEBUG)
|
#if defined(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT) && !defined(NDEBUG)
|
||||||
#undef assert
|
#undef assert
|
||||||
#define assert(__e) ((__e) ? (void)0 : abort())
|
#define assert(__e) ((__e) ? (void)0 : abort())
|
||||||
#endif
|
#endif
|
||||||
|
@ -114,9 +114,9 @@ Error handling patterns
|
|||||||
C++ Exceptions
|
C++ Exceptions
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Support for C++ Exceptions in ESP-IDF is disabled by default, but can be enabled using :ref:`CONFIG_CXX_EXCEPTIONS` option.
|
Support for C++ Exceptions in ESP-IDF is disabled by default, but can be enabled using :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS` option.
|
||||||
|
|
||||||
Enabling exception handling normally increases application binary size by a few kB. Additionally it may be necessary to reserve some amount of RAM for exception emergency pool. Memory from this pool will be used if it is not possible to allocate exception object from the heap. Amount of memory in the emergency pool can be set using :ref:`CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE` variable.
|
Enabling exception handling normally increases application binary size by a few kB. Additionally it may be necessary to reserve some amount of RAM for exception emergency pool. Memory from this pool will be used if it is not possible to allocate exception object from the heap. Amount of memory in the emergency pool can be set using :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE` variable.
|
||||||
|
|
||||||
If an exception is thrown, but there is no ``catch`` block, the program will be terminated by ``abort`` function, and backtrace will be printed. See :doc:`Fatal Errors <fatal-errors>` for more information about backtraces.
|
If an exception is thrown, but there is no ``catch`` block, the program will be terminated by ``abort`` function, and backtrace will be printed. See :doc:`Fatal Errors <fatal-errors>` for more information about backtraces.
|
||||||
|
|
||||||
|
@ -283,7 +283,7 @@ Consult :doc:`Heap Memory Debugging <../api-reference/system/heap_debug>` docume
|
|||||||
Stack Smashing
|
Stack Smashing
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Stack smashing protection (based on GCC ``-fstack-protector*`` flags) can be enabled in ESP-IDF using :ref:`CONFIG_STACK_CHECK_MODE` option. If stack smashing is detected, message similar to the following will be printed::
|
Stack smashing protection (based on GCC ``-fstack-protector*`` flags) can be enabled in ESP-IDF using :ref:`CONFIG_COMPILER_STACK_CHECK_MODE` option. If stack smashing is detected, message similar to the following will be printed::
|
||||||
|
|
||||||
Stack smashing protect failure!
|
Stack smashing protect failure!
|
||||||
|
|
||||||
|
@ -126,8 +126,8 @@ ESP-IDF 中大多数函数会返回 :cpp:type:`esp_err_t` 类型的错误码,
|
|||||||
C++ 异常
|
C++ 异常
|
||||||
--------
|
--------
|
||||||
|
|
||||||
默认情况下,ESP-IDF 会禁用对 C++ 异常的支持,但是可以通过 :ref:`CONFIG_CXX_EXCEPTIONS` 选项启用。
|
默认情况下,ESP-IDF 会禁用对 C++ 异常的支持,但是可以通过 :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS` 选项启用。
|
||||||
|
|
||||||
通常情况下,启用异常处理会让应用程序的二进制文件增加几 kB。此外,启用该功能时还应为异常事故池预留一定内存。当应用程序无法从堆中分配异常对象时,就可以使用这个池中的内存。该内存池的大小可以通过 :ref:`CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE` 来设定。
|
通常情况下,启用异常处理会让应用程序的二进制文件增加几 kB。此外,启用该功能时还应为异常事故池预留一定内存。当应用程序无法从堆中分配异常对象时,就可以使用这个池中的内存。该内存池的大小可以通过 :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE` 来设定。
|
||||||
|
|
||||||
如果 C++ 程序抛出了异常,但是程序中并没有 ``catch`` 代码块来捕获该异常,那么程序的运行就会被 ``abort`` 函数中止,然后打印回溯信息。有关回溯的更多信息,请参阅 :doc:`不可恢复错误 <fatal-errors>` 。
|
如果 C++ 程序抛出了异常,但是程序中并没有 ``catch`` 代码块来捕获该异常,那么程序的运行就会被 ``abort`` 函数中止,然后打印回溯信息。有关回溯的更多信息,请参阅 :doc:`不可恢复错误 <fatal-errors>` 。
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
|
|
||||||
This example demonstrates usage of C++ exceptions in ESP-IDF.
|
This example demonstrates usage of C++ exceptions in ESP-IDF.
|
||||||
|
|
||||||
By default, C++ exceptions support is disabled in ESP-IDF. It can be enabled using `CONFIG_CXX_EXCEPTIONS` configuration option.
|
By default, C++ exceptions support is disabled in ESP-IDF. It can be enabled using `CONFIG_COMPILER_CXX_EXCEPTIONS` configuration option.
|
||||||
|
|
||||||
In this example, `sdkconfig.defaults` file sets `CONFIG_CXX_EXCEPTIONS` option. This enables both compile time support (`-fexceptions` compiler flag) and run-time support for C++ exception handling.
|
In this example, `sdkconfig.defaults` file sets `CONFIG_COMPILER_CXX_EXCEPTIONS` option. This enables both compile time support (`-fexceptions` compiler flag) and run-time support for C++ exception handling.
|
||||||
|
|
||||||
Example source code declares a class which can throw exception from the constructor, depending on the argument. It illustrates that exceptions can be thrown and caught using standard C++ facilities.
|
Example source code declares a class which can throw exception from the constructor, depending on the argument. It illustrates that exceptions can be thrown and caught using standard C++ facilities.
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
# Enable C++ exceptions and set emergency pool size for exception objects
|
# Enable C++ exceptions and set emergency pool size for exception objects
|
||||||
CONFIG_CXX_EXCEPTIONS=y
|
CONFIG_COMPILER_CXX_EXCEPTIONS=y
|
||||||
CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE=1024
|
CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=1024
|
||||||
|
@ -375,7 +375,7 @@ COMMON_WARNING_FLAGS = -Wall -Werror=all \
|
|||||||
-Wextra \
|
-Wextra \
|
||||||
-Wno-unused-parameter -Wno-sign-compare
|
-Wno-unused-parameter -Wno-sign-compare
|
||||||
|
|
||||||
ifdef CONFIG_DISABLE_GCC8_WARNINGS
|
ifdef CONFIG_COMPILER_DISABLE_GCC8_WARNINGS
|
||||||
COMMON_WARNING_FLAGS += -Wno-parentheses \
|
COMMON_WARNING_FLAGS += -Wno-parentheses \
|
||||||
-Wno-sizeof-pointer-memaccess \
|
-Wno-sizeof-pointer-memaccess \
|
||||||
-Wno-clobbered \
|
-Wno-clobbered \
|
||||||
@ -391,9 +391,9 @@ COMMON_WARNING_FLAGS += -Wno-parentheses \
|
|||||||
-Wno-int-in-bool-context
|
-Wno-int-in-bool-context
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_WARN_WRITE_STRINGS
|
ifdef CONFIG_COMPILER_WARN_WRITE_STRINGS
|
||||||
COMMON_WARNING_FLAGS += -Wwrite-strings
|
COMMON_WARNING_FLAGS += -Wwrite-strings
|
||||||
endif #CONFIG_WARN_WRITE_STRINGS
|
endif #CONFIG_COMPILER_WARN_WRITE_STRINGS
|
||||||
|
|
||||||
# Flags which control code generation and dependency generation, both for C and C++
|
# Flags which control code generation and dependency generation, both for C and C++
|
||||||
COMMON_FLAGS = \
|
COMMON_FLAGS = \
|
||||||
@ -405,25 +405,25 @@ COMMON_FLAGS = \
|
|||||||
|
|
||||||
ifndef IS_BOOTLOADER_BUILD
|
ifndef IS_BOOTLOADER_BUILD
|
||||||
# stack protection (only one option can be selected in menuconfig)
|
# stack protection (only one option can be selected in menuconfig)
|
||||||
ifdef CONFIG_STACK_CHECK_NORM
|
ifdef CONFIG_COMPILER_STACK_CHECK_MODE_NORM
|
||||||
COMMON_FLAGS += -fstack-protector
|
COMMON_FLAGS += -fstack-protector
|
||||||
endif
|
endif
|
||||||
ifdef CONFIG_STACK_CHECK_STRONG
|
ifdef CONFIG_COMPILER_STACK_CHECK_MODE_STRONG
|
||||||
COMMON_FLAGS += -fstack-protector-strong
|
COMMON_FLAGS += -fstack-protector-strong
|
||||||
endif
|
endif
|
||||||
ifdef CONFIG_STACK_CHECK_ALL
|
ifdef CONFIG_COMPILER_STACK_CHECK_MODE_ALL
|
||||||
COMMON_FLAGS += -fstack-protector-all
|
COMMON_FLAGS += -fstack-protector-all
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Optimization flags are set based on menuconfig choice
|
# Optimization flags are set based on menuconfig choice
|
||||||
ifdef CONFIG_OPTIMIZATION_LEVEL_RELEASE
|
ifdef CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE
|
||||||
OPTIMIZATION_FLAGS = -Os
|
OPTIMIZATION_FLAGS = -Os
|
||||||
else
|
else
|
||||||
OPTIMIZATION_FLAGS = -Og
|
OPTIMIZATION_FLAGS = -Og
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED
|
ifdef CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
|
||||||
CPPFLAGS += -DNDEBUG
|
CPPFLAGS += -DNDEBUG
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -459,7 +459,7 @@ CXXFLAGS := $(strip \
|
|||||||
$(CXXFLAGS) \
|
$(CXXFLAGS) \
|
||||||
$(EXTRA_CXXFLAGS))
|
$(EXTRA_CXXFLAGS))
|
||||||
|
|
||||||
ifdef CONFIG_CXX_EXCEPTIONS
|
ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
CXXFLAGS += -fexceptions
|
CXXFLAGS += -fexceptions
|
||||||
else
|
else
|
||||||
CXXFLAGS += -fno-exceptions
|
CXXFLAGS += -fno-exceptions
|
||||||
|
@ -2,6 +2,25 @@
|
|||||||
# CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION
|
# CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION
|
||||||
|
|
||||||
# SDK tool configuration
|
# SDK tool configuration
|
||||||
CONFIG_TOOLPREFIX CONFIG_SDK_TOOLPREFIX
|
CONFIG_TOOLPREFIX CONFIG_SDK_TOOLPREFIX
|
||||||
CONFIG_PYTHON CONFIG_SDK_PYTHON
|
CONFIG_PYTHON CONFIG_SDK_PYTHON
|
||||||
CONFIG_MAKE_WARN_UNDEFINED_VARIABLES CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES
|
CONFIG_MAKE_WARN_UNDEFINED_VARIABLES CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES
|
||||||
|
|
||||||
|
# Compiler options
|
||||||
|
CONFIG_OPTIMIZATION_COMPILER CONFIG_COMPILER_OPTIMIZATION
|
||||||
|
CONFIG_OPTIMIZATION_LEVEL_DEBUG CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG
|
||||||
|
CONFIG_OPTIMIZATION_LEVEL_RELEASE CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE
|
||||||
|
CONFIG_OPTIMIZATION_ASSERTION_LEVEL CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL
|
||||||
|
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
|
||||||
|
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
|
||||||
|
CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
|
||||||
|
CONFIG_CXX_EXCEPTIONS CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
|
CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE
|
||||||
|
CONFIG_STACK_CHECK_MODE CONFIG_COMPILER_STACK_CHECK_MODE
|
||||||
|
CONFIG_STACK_CHECK_NONE CONFIG_COMPILER_STACK_CHECK_MODE_NONE
|
||||||
|
CONFIG_STACK_CHECK_NORM CONFIG_COMPILER_STACK_CHECK_MODE_NORM
|
||||||
|
CONFIG_STACK_CHECK_STRONG CONFIG_COMPILER_STACK_CHECK_MODE_STRONG
|
||||||
|
CONFIG_STACK_CHECK_ALL CONFIG_COMPILER_STACK_CHECK_MODE_ALL
|
||||||
|
CONFIG_STACK_CHECK CONFIG_COMPILER_STACK_CHECK
|
||||||
|
CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
|
||||||
|
CONFIG_DISABLE_GCC8_WARNINGS CONFIG_COMPILER_DISABLE_GCC8_WARNINGS
|
||||||
|
@ -41,11 +41,9 @@ IGNORE_DIRS = (
|
|||||||
|
|
||||||
SPACES_PER_INDENT = 4
|
SPACES_PER_INDENT = 4
|
||||||
|
|
||||||
# TODO decrease the value (after the names have been refactored)
|
CONFIG_NAME_MAX_LENGTH = 40
|
||||||
CONFIG_NAME_MAX_LENGTH = 60
|
|
||||||
|
|
||||||
# TODO increase prefix length (after the names have been refactored)
|
CONFIG_NAME_MIN_PREFIX_LENGTH = 4
|
||||||
CONFIG_NAME_MIN_PREFIX_LENGTH = 0
|
|
||||||
|
|
||||||
# The checker will not fail if it encounters this string (it can be used for temporarily resolve conflicts)
|
# The checker will not fail if it encounters this string (it can be used for temporarily resolve conflicts)
|
||||||
RE_NOERROR = re.compile(r'\s+#\s+NOERROR\s+$')
|
RE_NOERROR = re.compile(r'\s+#\s+NOERROR\s+$')
|
||||||
|
@ -84,18 +84,18 @@ CONFIG_PARTITION_TABLE_MD5=y
|
|||||||
#
|
#
|
||||||
# Compiler options
|
# Compiler options
|
||||||
#
|
#
|
||||||
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
|
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
|
||||||
CONFIG_OPTIMIZATION_LEVEL_RELEASE=
|
CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=
|
||||||
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
|
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
|
||||||
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=
|
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=
|
||||||
CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=
|
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=
|
||||||
CONFIG_CXX_EXCEPTIONS=
|
CONFIG_COMPILER_CXX_EXCEPTIONS=
|
||||||
CONFIG_STACK_CHECK_NONE=y
|
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
|
||||||
CONFIG_STACK_CHECK_NORM=
|
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=
|
||||||
CONFIG_STACK_CHECK_STRONG=
|
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=
|
||||||
CONFIG_STACK_CHECK_ALL=
|
CONFIG_COMPILER_STACK_CHECK_MODE_ALL=
|
||||||
CONFIG_STACK_CHECK=
|
CONFIG_COMPILER_STACK_CHECK=
|
||||||
CONFIG_WARN_WRITE_STRINGS=
|
CONFIG_COMPILER_WARN_WRITE_STRINGS=
|
||||||
|
|
||||||
#
|
#
|
||||||
# Component config
|
# Component config
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
TEST_EXCLUDE_COMPONENTS=bt app_update
|
TEST_EXCLUDE_COMPONENTS=bt app_update
|
||||||
CONFIG_OPTIMIZATION_LEVEL_RELEASE=y
|
CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y
|
||||||
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=y
|
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
|
||||||
|
@ -21,12 +21,12 @@ CONFIG_ULP_COPROC_ENABLED=y
|
|||||||
CONFIG_TASK_WDT=n
|
CONFIG_TASK_WDT=n
|
||||||
CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS=y
|
CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS=y
|
||||||
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=7
|
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=7
|
||||||
CONFIG_STACK_CHECK_STRONG=y
|
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
|
||||||
CONFIG_STACK_CHECK=y
|
CONFIG_COMPILER_STACK_CHECK=y
|
||||||
CONFIG_SUPPORT_STATIC_ALLOCATION=y
|
CONFIG_SUPPORT_STATIC_ALLOCATION=y
|
||||||
CONFIG_ESP_TIMER_PROFILING=y
|
CONFIG_ESP_TIMER_PROFILING=y
|
||||||
CONFIG_ADC2_DISABLE_DAC=n
|
CONFIG_ADC2_DISABLE_DAC=n
|
||||||
CONFIG_WARN_WRITE_STRINGS=y
|
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
|
||||||
CONFIG_SPI_MASTER_IN_IRAM=y
|
CONFIG_SPI_MASTER_IN_IRAM=y
|
||||||
CONFIG_EFUSE_VIRTUAL=y
|
CONFIG_EFUSE_VIRTUAL=y
|
||||||
CONFIG_SPIRAM_BANKSWITCH_ENABLE=n
|
CONFIG_SPIRAM_BANKSWITCH_ENABLE=n
|
||||||
|
Loading…
Reference in New Issue
Block a user