编译Valgrind arm交叉编译

简介: 1. 下载源码: http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2   2. 加压缩: mkdir sw cd sw tar zxf valgrind-3.

1. 下载源码:

http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2
 
2. 加压缩:
mkdir sw
cd sw
tar zxf valgrind-3.9.0.tar.bz2
 
3. 修改代码:
cd valgrind-3.9.0/
vim coregrind/m_debuginfo/readstabs.c
第57行:注释掉
//#include <-a.out.h>
然后添加:
struct nlist {
  union {
    char *n_name;
    struct nlist*n_next;
    long n_strx;
  } n_un;
  unsigned char n_type;
  char n_other;
  short n_desc;
  unsigned long n_value;
};
 
解决Valgrind编译时依赖一些列a.out.h头文件问题,
以上代码,是从系统:/usr/include/a.out.h文件中,将nlist结构体拷贝过来。
 
4. 开始编译:
export PATH=:$PATH
./configure \
  --prefix=/home/nianzhong/sw/install_vg\
  --host=mipsel-linux \
  --build=i686-linux \
  CPPFLAGS=-I 
 
make 
make install
 
5. 部署运行:
将install_vg/拷贝到nfs/目录下。
进入嵌入式系统,mount服务器中的nfs目录到嵌入式系统中:
mount -t nfs -o vers=2,nolock /mnt/nfs/
export VALGRIND_LIB=/mnt/nfs/install_vg/lib/valgrind
/mnt/nfs/install_vg/bin/valgrind ls -l
 
export VALGRIND_LIB用于解决错误:
valgrind: failed to start tool 'memcheck' for platform: nosuch file or directory
目录
相关文章
|
Ubuntu Linux C++
Ubuntu20.4配置arm交叉编译环境
我是在虚拟机中配置的,如果你的嵌入式设备足够完成自己的编译,可以不考虑虚拟机的。
763 0
|
4月前
|
Ubuntu 编译器 C语言
蓝易云 - ubuntu上安装boost库为SOMEIP的X86和ARM下编译做准备(编译两种版本)
以上就是在Ubuntu上安装Boost库并为SOME/IP的X86和ARM架构编译做准备的全部步骤。
62 0
|
11月前
|
Java DataX Docker
arm 64 环境利用 docker 编译 datax 工具
arm 64 环境利用 docker 编译 datax 工具
218 0
|
5月前
|
编译器 Linux
boost库交叉编译ARM版本
boost库交叉编译ARM版本
207 2
|
5月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
104 1
|
5月前
|
物联网 编译器 测试技术
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
899 7
|
5月前
|
Linux 计算机视觉
Linux交叉编译opencv并移植ARM端
通过以上步骤,你可以在Linux上交叉编译OpenCV,并将生成的库文件和头文件移植到ARM平台上,从而在ARM上使用OpenCV。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
418 0
|
5月前
|
编译器
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
149 0
|
5月前
交叉编译libvisca库ARM版本
交叉编译libvisca库ARM版本
80 0
|
5月前
|
数据处理 编译器 数据库
x64 和 arm64 处理器架构的区别
x64 和 arm64 处理器架构的区别