NewlibC Configuration

For a threadsafe newlib C implementation, we need to define:

FreeRTOSConfig.h
#define configUSE_NEWLIB_REENTRANT      1

This will create a separate impure pointer for each task (handled by FreeRTOS).

Furthermore, we need to provide reentrant implementations for sbrk(), malloc_lock(), malloc_unlock(), env_lock(), env_unlock(). Broadly used is this independent implementation: newlib and FreeRTOS.

To use this, libc_mem_support from the libc_support component needs to be excluded from the build.

See FreeRTOSConfig documentation.