我正在使用基于gcc版本4.2.0的mips编译器。当我为mips编译valgrind 3.9.0时,我收到链接器错误,因为“重定位被截断为适合:R_MIPS_HI16对`_gp_disp'”
查找以下详细日志,
输入目录valgrind-3.9.0/memcheck'
../coregrind/link_tool_exe_linux 0x38000000 MIPSel/bin/mipsel-percello-linux-gnu-gcc -Wno-long-long -Ikernel5/ -Ikernel5/include -D__STRUCT_EXEC_OVERRIDE__ -Wwrite-strings -fno-stack-protector -o memcheck-mips32-linux -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -mips32 -O2 -static -nodefaultlibs -nostartfiles -u __start memcheck_mips32_linux-mc_leakcheck.o memcheck_mips32_linux-mc_malloc_wrappers.o memcheck_mips32_linux-mc_main.o memcheck_mips32_linux-mc_translate.o memcheck_mips32_linux-mc_machine.o memcheck_mips32_linux-mc_errors.o ../coregrind/libcoregrind-mips32-linux.a ../VEX/libvex-mips32-linux.a -lgcc
memcheck_mips32_linux-mc_leakcheck.o: In function
pp_heuristic':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:593:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
search_address_in_GP_reg':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:1841:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
get_printing_rules':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:1178:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
lc_push':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:563:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
find_active_chunks':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:333:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
aligned_ptr_above_page0_is_vtable_addr':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:612:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
lc_is_a_chunk_ptr':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:523:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
heuristic_reachedness':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:687:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
lc_push_without_clique_if_a_chunk_ptr':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:781:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
lc_push_if_a_chunk_ptr_register':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:839:重定位被截断以适合:R_MIPS_HI16对_gp_disp'
memcheck_mips32_linux-mc_leakcheck.o: In function
lc_scan_memory':
valgrind-3.9.0 / memcheck / mc_leakcheck.c:946:输出中省略了额外的重定位溢出
collect2:ld返回1退出状态
make [3]: * [memcheck-mips32-linux]错误1
make [3]:离开目录valgrind-3.9.0/memcheck'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
valgrind-3.9.0 / memcheck'
make [1]:* [all-recursive]错误1
make [1]:离开目录`valgrind-3.9.0'
make: * [all]错误2
如果需要更多信息,请告知。 问候 的Eswar