riscv / riscv-bitmanip

Working draft of the proposed RISC-V Bitmanipulation extension
https://jira.riscv.org/browse/RVG-122
Creative Commons Attribution 4.0 International
204 stars 65 forks source link

compile gcc b extension of soft-float modules #92

Open syvenwang7 opened 4 years ago

syvenwang7 commented 4 years ago

Hi, After I compiled riscv-binutils/riscv-gcc/riscv-newlib, I encountered some errors when I use riscv gcc to compile coremark. Then I add "--with-abi=lp64" in the configure option for these repos. Same errors occur. riscv_binutils configure: ../riscv-binutils/configure --with-abi=lp64 --prefix=/home/syven.wang/local2/gcc-b --target=riscv64-unknown-elf riscv_gcc configure: ../riscv-gcc/configure --with-abi=lp64 --prefix=/home/syven.wang/local2/gcc-b --target=riscv64-unknown-elf --enable-languages=c --disable-libssp riscv-newlib configure: ../riscv-newlib/configure --with-abi=lp64 --prefix=/home/syven.wang/local2/gcc-b --target=riscv64-unknown-elf

compile command: ~/local2/gcc-b/bin/riscv64-unknown-elf-gcc -O3 -funroll-loops -DPREALLOCATE=1 -mcmodel=medany -std=gnu99 -fno-common -fno-builtin-printf -march=rv64ima -mabi=lp64 -nostartfiles -lm -lgcc -Ilinux64 -I. -DFLAGS_STR=\""-O3 -funroll-loops -DPREALLOCATE=1 -mcmodel=medany -std=gnu99 -fno-common -fno-builtin-printf -march=rv64ima -mabi=lp64 -nostartfiles -lm -lgcc -Tlinux64/link.ld"\" -I../riscv-tests/benchmarks/common/ -I../riscv-tests/env/ -DITERATIONS=1 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c linux64/syscalls.c ../riscv-tests/benchmarks/common/crt.S -o ./coremark.riscv -Tlinux64/link.ld

error info: /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/bin/ld: /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-memcpy.o): can't link double-float modules with soft-float modules /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/bin/ld: failed to merge target specific data of file /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-memcpy.o) /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/bin/ld: /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-memset.o): can't link double-float modules with soft-float modules /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/bin/ld: failed to merge target specific data of file /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/../../../../riscv64-unknown-elf/lib/libc.a(lib_a-memset.o) /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/libgcc.a(divdf3.o): in function __divdf3': /home/syven.wang/local/riscv-bitmanip/tools/riscv-gcc-build_2/riscv64-unknown-elf/libgcc/../../../riscv-gcc/libgcc/soft-fp/divdf3.c:46:(.text+0x90): relocation truncated to fit: R_RISCV_HI20 against.L11' /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/libgcc.a(_clzsi2.o): in function __clzdi2': /home/syven.wang/local/riscv-bitmanip/tools/riscv-gcc-build_2/riscv64-unknown-elf/libgcc/../../../riscv-gcc/libgcc/libgcc2.c:710:(.text+0x12): relocation truncated to fit: R_RISCV_HI20 against symbol__clz_tab' defined in .rodata section in /home/syven.wang/local2/gcc-b/lib/gcc/riscv64-unknown-elf/10.0.0/libgcc.a(_clz.o) collect2: error: ld returned 1 exit status