exit.c:(.text+0x18): undefined reference to `_exit' when using arm-none-eabi-gcc
This happens when compiling a file with arm-none-eabi-gcc
in one machine/architecture to load it in an ARM target machine. Most probably you are not making use of semihosting, you want to retarget.
ARM® Compiler toolchain Version 4.1 indicates:
Semihosting is a mechanism that enables code running on an ARM target to communicate and use the Input/Output facilities on a host computer that is running a debugger.
From the toolchain's readme.txt (under folder .../gcc-arm-none-eabi-VERSION/share/doc/gcc-arm-none-eabi
):
** non-semihosting/retarget
If you are using retarget, linking like: $ arm-none-eabi-gcc --specs=nosys.specs $(OTHER_LINK_OPTIONS)
Use --specs=nosys.specs
:
arm-none-eabi-gcc --specs=nosys.specs $(OTHER_LINK_OPTIONS)
Reference:
参考:https://blog.csdn.net/daxiebao/article/details/52651891