| Issue |
87979
|
| Summary |
Arise“relocation truncated to fit: R_RISCV_JAL against `.L13090'” when I cross-compile LLVM for RISC-V on X86
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
dinyy
|
This is my cmake command:
` cmake ../llvm -G Ninja -DCMAKE_BUILD_TYPE=Debug \
-DLLVM_HOST_TRIPLE=riscv64-unknown-linux-gnu \
-DCMAKE_CROSSCOMPILING=True \
-DCMAKE_SYSTEM_NAME=Linux \
-DLLVM_DEFAULT_TARGET_TRIPLE=riscv64-unknown-linux-gnu \
-DCMAKE_TOOLCHAIN_FILE=/home/sole/work/qemu_rvv/llvm-project-main/ToolchainExample.cmake \
-DLLVM_TARGET_ARCH=riscv64 \
-DLLVM_TARGETS_TO_BUILD=RISCV \
-DLLVM_ENABLE_PROJECTS='clang;lld' \
-DLLVM_OCAML_INSTALL_PATH=/home/sole/work/qemu_rvv/opt/llvm-0/ocaml-llvm \
-DCMAKE_INSTALL_PREFIX=/home/sole/work/qemu_rvv/opt/llvm-0/llvm \
-DLLVM_TABLEGEN=/home/sole/work/qemu_rvv/llvm-project-main/build-host/bin/llvm-tblgen \
-DCLANG_TABLEGEN=/home/sole/work/qemu_rvv/llvm-project-main/build-host/bin/clang-tblgen \
-DLLVM_BUILD_LLVM_DYLIB=On \
-DLLVM_LINK_LLVM_DYLIB=On \
-DLLVM_INSTALL_TOOLCHAIN_ONLY=On \
-DHAVE_STEADY_CLOCK=0 \
-DHAVE_PTHREAD_AFFINITY=0 \
-DHAVE_POSIX_REGEX=0 \`
And my `ToolchainExample.cmake` shows blow:
`
SET(CMAKE_C_COMPILER riscv64-unknown-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER riscv64-unknown-linux-gnu-g++)
SET(CMAKE_C_FLAGS "-march=rv64gcv -mcmodel=medany")
SET(CMAKE_CXX_FLAGS "-march=rv64gcv -mcmodel=medany")
set(VALGRIND_INCLUDE_DIR /home/sole/work/qemu_rvv/riscv-sysroot/usr/local/include)
include_directories(${VALGRIND_INCLUDE_DIR})
SET(LLVM_ENABLE_LIBPFM 0)
SET(LLVM_ENABLE_LIBEDIT OFF)
SET(LIBXML2_INCLUDE_DIR /home/sole/work/qemu_rvv/riscv-sysroot/usr/include)
include_directories(${LIBXML2_INCLUDE_DIR})
SET(HISDEIT_INCLUDE_DIR /home/sole/work/qemu_rvv/riscv-sysroot/usr/include)
include_directories(${HISDEIT_INCLUDE_DIR})
SET(LibEdit_INCLUDE_DIRS /home/sole/work/qemu_rvv/riscv-sysroot/usr/include)
SET(LibEdit_LIBRARIES /home/sole/work/qemu_rvv/riscv-sysroot/usr/lib/riscv64-linux-gnu)
SET(CMAKE_FIND_ROOT_PATH /home/sole/work/qemu_rvv/riscv-sysroot)
SET(CMAKE_LIBRARY_PATH /home/sole/work/qemu_rvv/riscv-sysroot/usr/lib/riscv64-linux-gnu)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
`
And the error log when I building is that:
`FAILED: lib/libclang-cpp.so.19.0git
: && /home/sole/opt/riscv/gcc/bin/riscv64-unknown-linux-gnu-g++ -fPIC -march=rv64gcv -mcmodel=medany - ...
.....
/home/sole/work/qemu_rvv/llvm-project-main/clang/lib/CodeGen/CGBuiltin.cpp:21038:(.text+0x13606a): relocation truncated to fit: R_RISCV_JAL against `.L13090'
collect2: error: ld returned 1 exit status
[442/486] Linking CXX static library lib/libclangSerialization.a
ninja: build stopped: subcommand failed.
`
I hava add "-mcmodel=medany" in flag, but it not working.
If my method is wrong,I want to know how to do?
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs