diff --git a/components/esp8266/include/esp_wifi_os_adapter.h b/components/esp8266/include/esp_wifi_os_adapter.h index d91ac19c..1605197c 100644 --- a/components/esp8266/include/esp_wifi_os_adapter.h +++ b/components/esp8266/include/esp_wifi_os_adapter.h @@ -80,11 +80,11 @@ typedef struct { bool (*timer_stop)(void *timer, uint32_t ticks); bool (*timer_delete)(void *timer, uint32_t ticks); - void *(*malloc)(uint32_t size, uint32_t cap); - void *(*zalloc)(uint32_t size, uint32_t cap); - void *(*realloc)(void *ptr, uint32_t size, uint32_t cap); - void *(*calloc)(uint32_t cnt, uint32_t size, uint32_t cap); - void (*free)(void *p); + void *(*malloc)(uint32_t size, uint32_t cap, const char *file, size_t line); + void *(*zalloc)(uint32_t size, uint32_t cap, const char *file, size_t line); + void *(*realloc)(void *ptr, uint32_t size, uint32_t cap, const char *file, size_t line); + void *(*calloc)(uint32_t cnt, uint32_t size, uint32_t cap, const char *file, size_t line); + void (*free)(void *p, const char *file, size_t line); uint32_t (*get_free_heap_size)(void); void (*srand)(uint32_t seed); diff --git a/components/esp8266/include/esp_wifi_osi.h b/components/esp8266/include/esp_wifi_osi.h index 763d6f28..f780d85e 100644 --- a/components/esp8266/include/esp_wifi_osi.h +++ b/components/esp8266/include/esp_wifi_osi.h @@ -126,19 +126,19 @@ extern wifi_osi_funcs_t s_wifi_osi_funcs; s_wifi_osi_funcs.timer_delete(t, tk) #define wifi_malloc(s, c) \ - s_wifi_osi_funcs.malloc(s, c) + s_wifi_osi_funcs.malloc(s, c, __FILE__, __LINE__) #define wifi_zalloc(s, c) \ - s_wifi_osi_funcs.zalloc(s, c) + s_wifi_osi_funcs.zalloc(s, c, __FILE__, __LINE__) #define wifi_calloc(cnt, s, c) \ - s_wifi_osi_funcs.calloc(cnt, s, c) + s_wifi_osi_funcs.calloc(cnt, s, c, __FILE__, __LINE__) #define wifi_realloc(ptr, s, c) \ - s_wifi_osi_funcs.realloc(ptr, s, c) + s_wifi_osi_funcs.realloc(ptr, s, c, __FILE__, __LINE__) #define wifi_free(p) \ - s_wifi_osi_funcs.free(p) + s_wifi_osi_funcs.free(p, __FILE__, __LINE__) #define wifi_get_free_heap_size() \ s_wifi_osi_funcs.get_free_heap_size() diff --git a/components/esp8266/lib/VERSION b/components/esp8266/lib/VERSION index 95fa0c1b..30e0d49c 100644 --- a/components/esp8266/lib/VERSION +++ b/components/esp8266/lib/VERSION @@ -1,9 +1,9 @@ gwen: - core: b55a74f - net80211: b55a74f - pp: b55a74f - smartconfig:103fbb8 - wpa: 103fbb8 - espnow: 103fbb8 - wps: 103fbb8 + core: 01980e2 + net80211: 01980e2 + pp: 01980e2 + smartconfig:01980e2 + wpa: 01980e2 + espnow: 01980e2 + wps: 01980e2 phy: 1055_8 diff --git a/components/esp8266/lib/libcore.a b/components/esp8266/lib/libcore.a index a2cbd42d..774c934c 100644 Binary files a/components/esp8266/lib/libcore.a and b/components/esp8266/lib/libcore.a differ diff --git a/components/esp8266/lib/libespnow.a b/components/esp8266/lib/libespnow.a index 9a99a2d2..b400ebf4 100644 Binary files a/components/esp8266/lib/libespnow.a and b/components/esp8266/lib/libespnow.a differ diff --git a/components/esp8266/lib/libnet80211.a b/components/esp8266/lib/libnet80211.a index ebd3a21c..39984de7 100644 Binary files a/components/esp8266/lib/libnet80211.a and b/components/esp8266/lib/libnet80211.a differ diff --git a/components/esp8266/lib/libpp.a b/components/esp8266/lib/libpp.a index 0bd49659..decc95e6 100644 Binary files a/components/esp8266/lib/libpp.a and b/components/esp8266/lib/libpp.a differ diff --git a/components/esp8266/lib/libsmartconfig.a b/components/esp8266/lib/libsmartconfig.a index badcf14d..6e1ad7eb 100644 Binary files a/components/esp8266/lib/libsmartconfig.a and b/components/esp8266/lib/libsmartconfig.a differ diff --git a/components/esp8266/lib/libwpa.a b/components/esp8266/lib/libwpa.a index 1d6f85c3..84fdce06 100644 Binary files a/components/esp8266/lib/libwpa.a and b/components/esp8266/lib/libwpa.a differ diff --git a/components/esp8266/lib/libwps.a b/components/esp8266/lib/libwps.a index 55bfc4cb..02b4ca80 100644 Binary files a/components/esp8266/lib/libwps.a and b/components/esp8266/lib/libwps.a differ diff --git a/components/esp8266/source/esp_wifi_os_adapter.c b/components/esp8266/source/esp_wifi_os_adapter.c index bf6ddfaf..519dc899 100644 --- a/components/esp8266/source/esp_wifi_os_adapter.c +++ b/components/esp8266/source/esp_wifi_os_adapter.c @@ -272,63 +272,57 @@ static bool timer_delete_wrapper(void *timer, uint32_t ticks) return xTimerDelete(timer, ticks); } -static void *malloc_wrapper(uint32_t s, uint32_t cap) +static void *malloc_wrapper(uint32_t s, uint32_t cap, const char *file, size_t line) { uint32_t os_caps; - void *return_addr = (void *)__builtin_return_address(0); if (cap & (OSI_MALLOC_CAP_8BIT | OSI_MALLOC_CAP_DMA)) os_caps = MALLOC_CAP_8BIT | MALLOC_CAP_DMA; else os_caps = MALLOC_CAP_32BIT; - return _heap_caps_malloc(s, os_caps, return_addr, 0); + return _heap_caps_malloc(s, os_caps, file, line); } -static void *zalloc_wrapper(uint32_t s, uint32_t cap) +static void *zalloc_wrapper(uint32_t s, uint32_t cap, const char *file, size_t line) { uint32_t os_caps; - void *return_addr = (void *)__builtin_return_address(0); if (cap & (OSI_MALLOC_CAP_8BIT | OSI_MALLOC_CAP_DMA)) os_caps = MALLOC_CAP_8BIT | MALLOC_CAP_DMA; else os_caps = MALLOC_CAP_32BIT; - return _heap_caps_zalloc(s, os_caps, return_addr, 0); + return _heap_caps_zalloc(s, os_caps, file, line); } -static void *realloc_wrapper(void *ptr, uint32_t s, uint32_t cap) +static void *realloc_wrapper(void *ptr, uint32_t s, uint32_t cap, const char *file, size_t line) { uint32_t os_caps; - void *return_addr = (void *)__builtin_return_address(0); if (cap & (OSI_MALLOC_CAP_8BIT | OSI_MALLOC_CAP_DMA)) os_caps = MALLOC_CAP_8BIT | MALLOC_CAP_DMA; else os_caps = MALLOC_CAP_32BIT; - return _heap_caps_realloc(ptr, s, os_caps, return_addr, 0); + return _heap_caps_realloc(ptr, s, os_caps, file, line); } -static void *calloc_wrapper(uint32_t cnt, uint32_t s, uint32_t cap) +static void *calloc_wrapper(uint32_t cnt, uint32_t s, uint32_t cap, const char *file, size_t line) { uint32_t os_caps; - void *return_addr = (void *)__builtin_return_address(0); if (cap & (OSI_MALLOC_CAP_8BIT | OSI_MALLOC_CAP_DMA)) os_caps = MALLOC_CAP_8BIT | MALLOC_CAP_DMA; else os_caps = MALLOC_CAP_32BIT; - return _heap_caps_calloc(cnt , s, os_caps, return_addr, 0); + return _heap_caps_calloc(cnt , s, os_caps, file, line); } -static void free_wrapper(void *ptr) +static void free_wrapper(void *ptr, const char *file, size_t line) { - void *return_addr = (void *)__builtin_return_address(0); - - _heap_caps_free(ptr, return_addr, 0); + _heap_caps_free(ptr, file, line); } static void srand_wrapper(uint32_t seed)