diff --git a/components/libc/compilers/picolibc/syscall.c b/components/libc/compilers/picolibc/syscall.c index 882964a1f3..ba496c6864 100644 --- a/components/libc/compilers/picolibc/syscall.c +++ b/components/libc/compilers/picolibc/syscall.c @@ -14,3 +14,29 @@ int pico_get_errno(void) { return rt_get_errno(); } + +#ifdef RT_USING_HEAP /* Memory routine */ +void *malloc(size_t n) +{ + return rt_malloc(n); +} +RTM_EXPORT(malloc); + +void *realloc(void *rmem, size_t newsize) +{ + return rt_realloc(rmem, newsize); +} +RTM_EXPORT(realloc); + +void *calloc(size_t nelem, size_t elsize) +{ + return rt_calloc(nelem, elsize); +} +RTM_EXPORT(calloc); + +void free(void *rmem) +{ + rt_free(rmem); +} +RTM_EXPORT(free); +#endif