From 79646f41b596f56cc26aa1c3df9697c71867df4a Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Thu, 24 Nov 2016 08:08:09 +1100 Subject: [PATCH] Fixes for stdlib.h inclusion Refs: http://esp32.com/viewtopic.php?f=13&t=550 http://esp32.com/viewtopic.php?f=13&t=551 rmt.c should include stdlib.h for malloc, esp_bignum,c & https_request_main.c for abort(). FreeRTOSConfig.h is only including stdlib if CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is set. However, it is included for abort() so needs to be included whenever CONFIG_FREERTOS_ASSERT_FAIL_ABORT is set. This change includes unconditionally in FreeRTOSConfig.h. This is to avoid this kind of bug where compiler errors are dependent on config. I suggest we don't change this to be more selective until we have 'make randomconfig' style tests in CI. --- components/driver/rmt.c | 1 + components/freertos/include/freertos/FreeRTOSConfig.h | 3 +-- components/mbedtls/port/esp_bignum.c | 1 + examples/04_https_request/main/https_request_main.c | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/driver/rmt.c b/components/driver/rmt.c index 21bc8696b0..9fc36d49c2 100644 --- a/components/driver/rmt.c +++ b/components/driver/rmt.c @@ -13,6 +13,7 @@ // limitations under the License. #include #include +#include #include "freertos/FreeRTOS.h" #include "freertos/semphr.h" #include "freertos/xtensa_api.h" diff --git a/components/freertos/include/freertos/FreeRTOSConfig.h b/components/freertos/include/freertos/FreeRTOSConfig.h index 13ce73e0a8..4f1012657a 100644 --- a/components/freertos/include/freertos/FreeRTOSConfig.h +++ b/components/freertos/include/freertos/FreeRTOSConfig.h @@ -108,6 +108,7 @@ /* configASSERT behaviour */ #ifndef __ASSEMBLER__ +#include /* for abort() */ #include "rom/ets_sys.h" #if defined(CONFIG_FREERTOS_ASSERT_DISABLE) @@ -126,8 +127,6 @@ #endif #if CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION -#include -#include "rom/ets_sys.h" #define UNTESTED_FUNCTION() { ets_printf("Untested FreeRTOS function %s\r\n", __FUNCTION__); configASSERT(false); } while(0) #else #define UNTESTED_FUNCTION() diff --git a/components/mbedtls/port/esp_bignum.c b/components/mbedtls/port/esp_bignum.c index 7570820e3b..ec2e420398 100644 --- a/components/mbedtls/port/esp_bignum.c +++ b/components/mbedtls/port/esp_bignum.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "mbedtls/bignum.h" #include "rom/bigint.h" #include "soc/hwcrypto_reg.h" diff --git a/examples/04_https_request/main/https_request_main.c b/examples/04_https_request/main/https_request_main.c index 2ad56681d0..1f7112bc86 100644 --- a/examples/04_https_request/main/https_request_main.c +++ b/examples/04_https_request/main/https_request_main.c @@ -22,6 +22,7 @@ * limitations under the License. */ #include +#include #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/event_groups.h" -- 2.40.0