mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
Merge branch 'bugfix/cxx_exception_pool_4.2' into 'release/v4.2'
startup: Make __cxx_eh_arena_size_get return 0 if exceptions disabled (v4.2) See merge request espressif/esp-idf!18800
This commit is contained in:
@ -532,12 +532,20 @@ void start_cpu1_default(void)
|
|||||||
}
|
}
|
||||||
#endif //!CONFIG_FREERTOS_UNICORE
|
#endif //!CONFIG_FREERTOS_UNICORE
|
||||||
|
|
||||||
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
/**
|
||||||
|
* This function overwrites a the same function of libsupc++ (part of libstdc++).
|
||||||
|
* Consequently, libsupc++ will then follow our configured exception emergency pool size.
|
||||||
|
*
|
||||||
|
* It will be called even with -fno-exception for user code since the stdlib still uses exceptions.
|
||||||
|
*/
|
||||||
size_t __cxx_eh_arena_size_get(void)
|
size_t __cxx_eh_arena_size_get(void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
||||||
}
|
#else
|
||||||
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void do_global_ctors(void)
|
static void do_global_ctors(void)
|
||||||
{
|
{
|
||||||
|
@ -395,12 +395,20 @@ void start_cpu0_default(void)
|
|||||||
abort(); /* Only get to here if not enough free heap to start scheduler */
|
abort(); /* Only get to here if not enough free heap to start scheduler */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
/**
|
||||||
|
* This function overwrites a the same function of libsupc++ (part of libstdc++).
|
||||||
|
* Consequently, libsupc++ will then follow our configured exception emergency pool size.
|
||||||
|
*
|
||||||
|
* It will be called even with -fno-exception for user code since the stdlib still uses exceptions.
|
||||||
|
*/
|
||||||
size_t __cxx_eh_arena_size_get(void)
|
size_t __cxx_eh_arena_size_get(void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||||
return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
||||||
}
|
#else
|
||||||
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void do_global_ctors(void)
|
static void do_global_ctors(void)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user