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

Reply via email to