/* * SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #include "sdkconfig.h" #include "esp_system.h" #include "esp_random.h" #include "esp_rom_sys.h" #if CONFIG_COMPILER_STACK_CHECK #include "esp_log.h" const static char *TAG = "stack_chk"; void *__stack_chk_guard = NULL; static void __attribute__((constructor)) __esp_stack_guard_setup(void) { ESP_LOGD(TAG, "Intialize random stack guard"); __stack_chk_guard = (void *)esp_random(); } IRAM_ATTR void __stack_chk_fail(void) { esp_system_abort(DRAM_STR("Stack smashing protect failure!")); } #endif