SW1621下如何编译rust1.34.2?

其它 其它 1470 人阅读 | 2 人回复 | 2021-10-29

CPU是SW1621,GCC是710,如何编译rust1.34.2?
目前在GCC710下编译依赖llvm7.0.1报错,报错信息如下:
[ 84%] Linking CXX shared library ../../lib/libLLVM-7.so

../../lib/libLLVMAMDGPUCodeGen.a(R600ExpandSpecialInstrs.cpp.o):在函数‘(anonymous namespace)::R600ExpandSpecialInstrsPass::runOnMachineFunction(llvm::MachineFunction&)’中:
(.text._ZN12_GLOBAL__N_127R600ExpandSpecialInstrsPass20runOnMachineFunctionERN4llvm15MachineFunctionE+0xa0c):  截断重寻址至相符: GPRELHIGH 针对 .rodata._ZZN12_GLOBAL__N_127R600ExpandSpecialInstrsPass20runOnMachineFunctionERN4llvm15MachineFunctionEE10CubeSrcSwz
collect2: error: ld returned 1 exit status



回复

使用道具 举报

回答|共 2 个

zhaiyh

发表于 2021-11-1 17:34:47 | 显示全部楼层

该问题正在排查,可采用临时解决方法:将R600ExpandSpecialInstrs.cpp单独使用O0编译
回复

使用道具 举报

xiaocheng

发表于 2021-11-4 14:40:27 | 显示全部楼层

具体如何操作,还请确认?
在SW1621的GCC710下编译llvm7.0.1, 我猜测如下:
1,llvm/lib/Target/AMDGPU/CMakeLists.txt 去除 84行的R600ExpandSpecialInstrs.cpp
2,gcc R600ExpandSpecialInstrs.cpp -o R600ExpandSpecialInstrs.o
3,再执行 ./mk.release install .
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则