This is not a direct answer to your question, but you may still find it useful for reducing the gcc libc’s bloat by a bit...
Add these linker flags to your project configuration:
Project -> Properties -> C/C++ Build -> Settings -> MCU GCC LInker -> Miscellaneous -> Linker flags
This won’t get rid of malloc() in and of itself, but it will reduce libc’s bloat by a few Kbytes.
You can change the RAM sizes allocated for the stack and the heap by modifying the linker configuration (*.ld) file for your project. Don’t recall the specific symbol names, but they are defined right at the top of the file and are very obvious.