交叉编译mips valgrind

valgrind在3.8.0后开始支援mips,从3.9.0开始支援mips dsp ase。但release上3.9.0 使用mips编译出来会在linux

VG_(machine_get_hwcaps)(void)

__asm__ __volatile__(.word 0x7d095351);    /*precr.qb.ph t2,t0,t1*/

检测CPU的时候使用DSP ASE的指令而致使在报错误指令crashshell

所以要在通常的mips上使用valgrind,须要使用3.8.0版本code

1.下载http://valgrind.org/downloads/valgrind-3.8.0.tar.bz2ip

2.编译,在README.mips中有详细说明,简要以下  
内存

 ./configure --host=mips-linux-gnu --prefix=<path_to_install_directory> CFLAGS="-mips32r2 -mplt -EL"
make install -j 8

3.编译注意事项:开发

    a. mips内核大小端是可配置的,须要根据使用的芯片的大小端,配置编译选项,好比我使用的是小端就加入 -EL
    b. gcc编译器版本低于4.5.1,编译选项加入"-mips32r2 -mplt",这个在README.mips里面有提到get

因为valgrind很是吃内存,所以并不太适合内存有限的嵌入式上使用,我原本是打算编译出来给公司用的,不过编译出来后放到公司的平台上跑开发的应用内存不够,产品卡成本,连开发板的内存都是卡了的。网上看valgrind使用的内存是监控程序的2倍。
编译器

相关文章
相关标签/搜索