5962
- 收藏
- 点赞
- 分享
- 举报
valgrind 3535平台移植
最近同事需求内存检测工具,打算在HI3536 Hi3535等平台上移植一下valgrind。
移植valgrind-3.12.0到最后挂载程序运行是都提示Illegal instruction
以3535平台为例,移植过程参考网友的http://blog.csdn.net/lizhangping/article/details/51833997这个帖子
解决了valgrind failed to start tool 'memcheck' for platform 'arm-linux': not a direcory问题by
export VALGRIND_LIB=XXX/../valgrind/lib/valgrind
解决了/lib/下so为strip后的问题,valgrind必须使用为裁剪过的库
从SDK中找到为裁剪的so文件替换文件系统中已裁剪过的动态库,重新制作了squash的文件文件系统
带-g编译了一个内存泄漏的小demo,挂着跑,出现如下问题:
# ./valgrind ../hello
valgrind: failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory
# export VALGRIND_LIB=/mnt/valgrind/lib/valgrind
# ./valgrind ../hello
==695== Memcheck, a memory error detector
==695== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==695== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==695== Command: ../hello
==695==
==695==
==695== Process terminating with default action of signal 4 (SIGILL)
==695== Illegal opcode at address 0x38092674
==695== at 0x4000790: ??? (in /lib/ld-2.11.1.so)
==695==
==695== HEAP SUMMARY:
==695== in use at exit: 0 bytes in 0 blocks
==695== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==695==
==695== All heap blocks were freed -- no leaks are possible
==695==
==695== For counts of detected and suppressed errors, rerun with: -v
==695== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Illegal instruction
尝试过的解决方法
1.观察valgrind的make过程发现 -fno-builtin -marm -mcpu=cortex-a8 -O2 -g
查看3535编译平台信息CFLAGS += -march=armv7-a -mcpu=cortex-a9
将所有Makefile中cortex-a8 改为cortex-a9 shell脚本如下
sed -i "s/cortex-a8/cortex-a9/g" `grep "cortex-a8" -rl ./`
观察到make时 cortex-a8 已被改为cortex-a9
但是问题依旧。
查资料查到valgrind支持armv7 以上平台,但是出现这个操作码不识别的情况是什么原因,平台架构都已经配置正确了啊。 有移植成功的或者有怀疑对象的童鞋欢迎留言指导。先行谢过。
移植valgrind-3.12.0到最后挂载程序运行是都提示Illegal instruction
以3535平台为例,移植过程参考网友的http://blog.csdn.net/lizhangping/article/details/51833997这个帖子
解决了valgrind failed to start tool 'memcheck' for platform 'arm-linux': not a direcory问题by
export VALGRIND_LIB=XXX/../valgrind/lib/valgrind
解决了/lib/下so为strip后的问题,valgrind必须使用为裁剪过的库
从SDK中找到为裁剪的so文件替换文件系统中已裁剪过的动态库,重新制作了squash的文件文件系统
带-g编译了一个内存泄漏的小demo,挂着跑,出现如下问题:
# ./valgrind ../hello
valgrind: failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory
# export VALGRIND_LIB=/mnt/valgrind/lib/valgrind
# ./valgrind ../hello
==695== Memcheck, a memory error detector
==695== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==695== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==695== Command: ../hello
==695==
==695==
==695== Process terminating with default action of signal 4 (SIGILL)
==695== Illegal opcode at address 0x38092674
==695== at 0x4000790: ??? (in /lib/ld-2.11.1.so)
==695==
==695== HEAP SUMMARY:
==695== in use at exit: 0 bytes in 0 blocks
==695== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==695==
==695== All heap blocks were freed -- no leaks are possible
==695==
==695== For counts of detected and suppressed errors, rerun with: -v
==695== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Illegal instruction
尝试过的解决方法
1.观察valgrind的make过程发现 -fno-builtin -marm -mcpu=cortex-a8 -O2 -g
查看3535编译平台信息CFLAGS += -march=armv7-a -mcpu=cortex-a9
将所有Makefile中cortex-a8 改为cortex-a9 shell脚本如下
sed -i "s/cortex-a8/cortex-a9/g" `grep "cortex-a8" -rl ./`
观察到make时 cortex-a8 已被改为cortex-a9
但是问题依旧。
查资料查到valgrind支持armv7 以上平台,但是出现这个操作码不识别的情况是什么原因,平台架构都已经配置正确了啊。 有移植成功的或者有怀疑对象的童鞋欢迎留言指导。先行谢过。
我来回答
回答7个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2019-10-12 17:58:30
-
2019-10-23 09:40:12
-
2018-04-08 11:40:32
-
2020-11-03 14:29:53
-
2021-12-23 09:50:43
-
2018-03-09 10:40:44
-
2016-12-30 16:38:00
-
2018-12-18 14:53:12
-
2018-08-17 16:32:38
-
2017-07-25 11:54:11
-
22017-11-17 11:53:21
-
2020-04-21 14:31:17
-
62016-12-25 16:09:40
-
2019-02-12 10:21:35
-
2021-09-30 16:23:33
-
2020-11-04 15:28:15
-
2023-01-15 10:34:32
-
2021-08-09 17:24:02
-
2020-11-03 20:00:12
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
-
10求HI3519DV500_SDK_V2.0.1.1
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认