mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
startup: Make __cxx_eh_arena_size_get return 0 if exceptions disabled
This function is necessary to provide the emergency exception memory pool size for C++ code. Since our libstdc++ always has exceptions enabled, this function must exist here even if -fno-exception is set for user code.
This commit is contained in:
parent
42ea9b7cb1
commit
2bcfeb612f
@ -532,12 +532,20 @@ void start_cpu1_default(void)
|
||||
}
|
||||
#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)
|
||||
{
|
||||
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||
return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
||||
}
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
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 */
|
||||
}
|
||||
|
||||
#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)
|
||||
{
|
||||
#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
|
||||
return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
|
||||
}
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void do_global_ctors(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user