Valgrind在imx6平台上无法正常使用Openwrt

时间:2017-08-31 07:37:42

标签: arm valgrind openwrt imx6

默认情况下,当为Openwrt进行交叉编译时,IMX6平台的menuconfig中无法选择valgrind,但此平台基于ARM Cortex A9内核,该内核正在实现ARMv7架构。 valgrind支持这种体系结构,所以我在valgrind包的Makefile中做了一些改动,使得可以从menuconfig中选择包并编译。
我使用GCC-5.3和uClibc-0.9.33.2(暂时不能继续使用,因为它非常昂贵)。
问题是valgrind即使对/bin/true

也不能正常工作
valgrind --leak-check=yes /bin/true

输出:

...
==24113== Invalid read of size 4
==24113==    at 0x4000E54: ??? (in /lib/ld-uClibc-0.9.33.2.so)
==24113==  Address 0x7d99c9f4 is on thread 1's stack
==24113==  20 bytes below stack pointer
...
==24113== For counts of detected and suppressed errors, rerun with: -v
==24113== ERROR SUMMARY: 64 errors from 4 contexts (suppressed: 0 from 0)

1 个答案:

答案 0 :(得分:0)

可以使用变通方法--ignore-range-below=44-13 valgrind参数 正如John Reiser所说:

  

使用--ignore-range-below-sp确实可以减少噪音,但是有   忽略该范围内参考文献的实际错误的危险。

可以在Valgrind-users mailing list主题下找到此问题的完整说明:

  

[Valgrind-users] Valgrind在imx6平台上无法正常工作