Merge branch 'bugfix/add_exception_emergency_pool_again' into 'master'

[esp_system]: added __cxx_eh_arena_size_get again

See merge request espressif/esp-idf!14089
pull/6904/head
Ivan Grokhotkov 2021-06-23 10:34:27 +00:00
commit 94611bc281
1 zmienionych plików z 15 dodań i 0 usunięć

Wyświetl plik

@ -138,6 +138,21 @@ static IRAM_ATTR void _Unwind_SetNoFunctionContextInstall_Default(unsigned char
static const char* TAG = "cpu_start";
/**
* 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
}
/**
* Xtensa gcc is configured to emit a .ctors section, RISC-V gcc is configured with --enable-initfini-array
* so it emits an .init_array section instead.