esp_system: fix placement of __stack_chk_fail from flash to RAM

When stack check is enabled, certain functions (sometimes placed in RAM)
are being decorated with stack guards and a call to __stask_chk_fail() in
case ofr stack corruption. For this reason, __stack_chk_fail() must be
placed in RAM too.

Add stack check config in heap tests on all targets to find eventual flash to RAM
calls due to stack checks when running callgraph_check.py
This commit is contained in:
Guillaume Souchere 2022-12-06 09:23:52 +01:00
parent 43ba878870
commit dd249a9ecd

View File

@ -30,10 +30,9 @@ __esp_stack_guard_setup (void)
__stack_chk_guard = (void *)esp_random();
}
void __stack_chk_fail (void)
IRAM_ATTR void __stack_chk_fail (void)
{
esp_rom_printf("\r\nStack smashing protect failure!\r\n\r\n");
abort();
esp_system_abort(DRAM_STR("Stack smashing protect failure!"));
}
#endif