/* * SPDX-FileCopyrightText: 2017-2022 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(); } void __stack_chk_fail (void) { esp_rom_printf("\r\nStack smashing protect failure!\r\n\r\n"); abort(); } #endif