When I build the fallowing I got these messages on Eclipse Oxygen. The file compiles but fails to link. The nostdlibs are others are unticked at the linker general. The linker error doesn't appear when I am not using stranded functions.
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("!!!Hello RISC-V World!!!\n\r");
return 0;
}
Errors:
make all
Building file: ../src/Test_1.c
Invoking: RISC-V GCC/Newlib C Compiler
riscv64-unknown-elf-gcc -mabi=ilp32 -g3 -gdwarf-2 -march=rv32i -O0 -Wall -c -MMD -MP -MF"src/Test_1.d" -MT"src/Test_1.o" -o "src/Test_1.o" "../src/Test_1.c"
Finished building: ../src/Test_1.c
Building target: Test_1.elf
Invoking: RISC-V GCC/Newlib C Linker
riscv64-unknown-elf-gcc -mabi=ilp32 -g3 -gdwarf-2 -march=rv32i -L"C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32" -Wl,-Map,Test_1.map -o "Test_1.elf" ./src/Test_1.o -lc
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-exit.o): In function `.L0 ':
exit.c:(.text.exit+0x34): undefined reference to `_exit'
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-sbrkr.o): In function `.L0 ':
sbrkr.c:(.text._sbrk_r+0x1c): undefined reference to `_sbrk'
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-writer.o): In function `.L0 ':
writer.c:(.text._write_r+0x28): undefined reference to `_write'
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-closer.o): In function `.L0 ':
closer.c:(.text._close_r+0x1c): undefined reference to `_close'
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-fstatr.o): In function `.L0 ':
fstatr.c:(.text._fstat_r+0x24): undefined reference to `_fstat'
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-isattyr.o): In function `.L0 ':
isattyr.c:(.text._isatty_r+0x1c): undefined reference to `_isatty'
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-lseekr.o): In function `.L0 ':
lseekr.c:(.text._lseek_r+0x28): undefined reference to `_lseek'
C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.1.1-2-20170912-2255\riscv64-unknown-elf\lib\rv32i\ilp32\libc.a(lib_a-readr.o): In function `.L0 ':
readr.c:(.text._read_r+0x28): undefined reference to `_read'
collect2.exe: error: ld returned 1 exit status
make: *** [Test_1.elf] Error 1
makefile:42: recipe for target 'Test_1.elf' failed