mips 交叉编译valgrind

本文介绍了在交叉编译valgrind用于mips平台时遇到的两个主要问题及其解决方案。首先,解决配置过程中的'optimize' attribute directive ignored警告,通过修改drd目录下Makefile中的优化选项。其次,解决运行时找不到'memcheck-mips-linux'的问题,需确保目标机上的文件路径与虚拟机一致。尽管如此,测试结果仍显示错误,可能是库文件不匹配导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近mips板子上一个程序有内存错误,但是很隐蔽,而且不好重现,在网上搜索了内存检测的工具,选择了valgrind工具,在虚拟机上测试了几个小程序,感觉不错,于是决定编一个交叉valgrind出来,历尽千辛万苦,虽然解决了一些问题,但是还是没有最终解决问题。

在这里先将已经解决的问题的方法献给大家。

问题1. 'optimize' attribute directive ignored

configure的过程这里不再赘述。在make的时候遇到了如下错误,编译停止不前,一直停留在这里。

drd_clientreq.c:79: warning: 'optimize' attribute directive ignored

解决方法,修改drd目录下的Makefile,将DRD_CFLAGS的优化选项由-O2改为-O1。

DRD_CFLAGS = \

  --param inline-unit-growth=900    \
  -O1                    \
  -Wextra            \
  -Wformat-nonliteral            \
  -Wno-inline                \

  -Wno-unused-parameter


问题2. valgrind: failed to start tool 'memcheck-mips-linux' for platform 'mips32-linux': No such file or directory

在解决了问题1后,编译成功,make install之后,去安装目录下的bin目录,将valgrind拷贝到目标机上。在运行#./vargrind ./memleak的时候,遇到了:

valgrind: failed to start tool 'memcheck-mips-linux' for platform 'mips32-linux': No such file or directory

于是去虚拟机的安装目录下的lib目录,找到 lib/valgrind/memcheck-mips32-linux,上传到目标机上。

再次执行&#x

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值