Actually, some code in Espruino checks where the stack is vs the end of memory, so it tries not to overflow the stack by recursing too far. It could be that you just need to define those variables in the linker file at the right place. In fact I think build_platform_config actually lets you change the name of them (or some of them) if you don't want to change the linker file: https://github.com/espruino/Espruino/blob/master/scripts/build_platform_config.py#L161
For _sbrk, often what I do in these cases is define the symbol in a C file, compile it, and the search the assembly code for _sbrk in order to see what is using it (it might be something got pulled in that shouldn't be)
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Actually, some code in Espruino checks where the stack is vs the end of memory, so it tries not to overflow the stack by recursing too far. It could be that you just need to define those variables in the linker file at the right place. In fact I think
build_platform_config
actually lets you change the name of them (or some of them) if you don't want to change the linker file: https://github.com/espruino/Espruino/blob/master/scripts/build_platform_config.py#L161For _sbrk, often what I do in these cases is define the symbol in a C file, compile it, and the search the assembly code for _sbrk in order to see what is using it (it might be something got pulled in that shouldn't be)