为MIPS 64位构建Valgrind时出现编译错误

为MIPS 64位构建Valgrind时出现编译错误,mips,valgrind,Mips,Valgrind,为Cavium MIPS编译Valgrind时出现以下错误 /opt/cavium-64bit/tools-3535/bin/mips64-octeon-linux-gnu-gcc-std=c99 -msoft float-Wall-mabi=64-G0-fPIC-mips64r2-mplt-DHAVE_CONFIG_H-I.-I-我-I../include-I../include-I../VEX/pub-I../VEX/pub-DVGA_mips64=1-DVGO_linux=1-DVGP_m

为Cavium MIPS编译Valgrind时出现以下错误

/opt/cavium-64bit/tools-3535/bin/mips64-octeon-linux-gnu-gcc-std=c99 -msoft float-Wall-mabi=64-G0-fPIC-mips64r2-mplt-DHAVE_CONFIG_H-I.-I-我-I../include-I../include-I../VEX/pub-I../VEX/pub-DVGA_mips64=1-DVGO_linux=1-DVGP_mips64_linux=1-DVGPV_mips64_linux_vanilla=1-DVGABI_64-I../corefrind-DVG_LIBDIR=“\”/usr/local/lib/valgrind“\”-DVG_平台=“\”mips64-linux\”-O2-g-Wall-Wmissing原型-Wshadow-Wpointer arith-Wstrict原型-Wmissing声明-Wcast align-Wcast qual-Wwrite strings-Wempty body-Wformat-Wformat安全性-Wignored限定符-Wmissing参数类型-Wlogical op-Wold样式声明-finline函数-fno堆栈保护器-fno严格别名-fno内置-march=octeon2-mabi=64-MT libnolto\u corefrind\u mips64\u linux\u a-m\u main.o-MD-MP-MF.deps/libnolto\u corefrind\u mips64\u linux\u a-m\u main.Tpo-c-o libnolto_corefrind_mips64_linux_a-m_main.o
test-f'm_main.c'| echo
“./”
m_main.c m_main.c:2885:1:错误:需要声明说明符 或字符串常量Makefile:8044:recipe for target之前的“…” “libnolto_coregrind_mips64_linux_a-m_main.o”生成失败[3]:* [libnolto_corefrind_mips64_linux_a-m_main.o]错误1生成[3]:离开 目录'/home/ankit/Desktop/valgrind/valgrind-3.15.0/corefind' 生成文件:1914:目标“全部”的配方失败生成[2]:[all]错误 2 make[2]:离开目录 “/home/ankit/Desktop/valgrind/valgrind-3.15.0/corefind”Makefile:841: 目标“全部递归”的配方制作失败[1]:[全部递归] 错误1生成[1]:正在离开目录 “/home/ankit/Desktop/valgrind/valgrind-3.15.0”Makefile:710:recipe 对于目标“全部”生成失败:[all]错误2


为MIPS体系结构构建Valgrind二进制文件的过程

  • 从()获取最新的Valgrind源代码
wget

  • 取出焦油球
tar-xvf valgrind-3.15.0.tar.bz2

  • 在Bash提示符下导出makefile定义
  • 成功执行配置后,在目录中执行make
制造​

  • 要在目标上运行Valgrind,请执行以下步骤
将valgrind文件夹复制到目标机器,例如:/etc/user/
cd/etc/user/valgrind-3.15.0
触摸/etc/user/valgrind-3.15.0/memcheck/default.supp
导出VALGRIND_LIB=$PWD/memcheck/
导出LD_LIBRARY_PATH=/usr/sbin/user/sharedobj/
./coregrind/valgrind--tool=memcheck--gen suppressions=yes--leak check=full-v
--轨迹原点=是​
CC=/opt/CAVIUMsdk312/OCTEON-SDK/tools/bin/mips64-octeon-linux-gnu-gcc
CXX=/opt/CAVIUMsdk312/OCTEON-SDK/tools/bin/mips64-octeon-linux-gnu-g++
./configure --host=mips64-octeon-linux --target=mips64-octeon-linux
CFLAGS=" -march=octeon2 -mabi=64"
 Copy the valgrind folder to target machine, Ex: /etc/user/
 cd /etc/user/valgrind-3.15.0
 touch /etc/user/valgrind-3.15.0/memcheck/default.supp
 export VALGRIND_LIB=$PWD/memcheck/
 export LD_LIBRARY_PATH=/usr/sbin/user/sharedobj/
 ./coregrind/valgrind --tool=memcheck --gen-suppressions=yes --leak-check=full -v 
 --track-origins=yes <Daemon>​