Hi3535 移植valgrind

本文介绍了在Hi3535芯片上移植valgrind的步骤,包括下载源码、修改configure文件、编译及安装过程。然而,由于Hi3535不支持VFP,最终确认valgrind无法在该平台上运行。

首先遗憾的是: Valgrind要求硬件为ARMv7 和 VFP, 而Hi353无VFP, 因此valgrind在Hi3535上是不可用的。

移植过程如下:

1. 下载valgrind最新版本,我使用的版本为valgrind-3.13.0.tar.bz2

http://valgrind.org/downloads/current.html

2. 将下载的valgrind包,放置合适文件夹,并压文件

tar -jxf valgrind-3.13.0.tar.bz2

3. 切换至解压后的目录

cd valgrind-3.13.0

4. 修改configure文件

### Valgrind 移植到 AARCH64 架构的详细步骤 #### 安装依赖库 为了成功编译和运行 Valgrind,在目标平台上需要安装一些必要的开发工具和库。通常这些可以通过包管理器来完成。 对于基于 Debian 的系统,可以执行如下命令: ```bash sudo apt-get update && sudo apt-get install build-essential libtool autoconf automake texinfo bison flex ``` 对于 Red Hat/CentOS 类型的操作系统,则应使用 yum 或 dnf 来代替 apt-get[^1]。 #### 获取源码并打补丁 下载最新版本的 Valgrind 源代码压缩包,并解压它。由于官方可能尚未完全支持 AArch64 平台,因此还需要应用社区贡献者提供的针对该平台的支持补丁文件。 可以从 GitHub 上查找适用于 AArch64 的 Valgrind 补丁集,并按照说明文档中的指示操作。 #### 配置构建选项 进入 Valgrind 解压后的目录,创建一个新的子目录用于存放编译产物,这有助于保持项目结构清晰整洁。接着配置 Makefile 文件以便于后续编译过程能够识别当前体系结构特性。 ```bash mkdir aarch64-build && cd $_ ../configure --prefix=/usr/local/aarch64-valgrind --host=aarch64-linux-gnu CFLAGS="-O2" ``` 这里指定了 `--host` 参数告知 configure 脚本这是交叉编译环境;同时设置了优化级别 `-O2` 编译标志以提高性能表现。 #### 执行编译与测试 一旦完成了上述准备工作之后就可以正式开始编译工作了。考虑到大型项目的复杂度以及可能出现的问题,建议先进行全面自检确保一切正常无误后再继续下一步骤。 ```bash make -j$(nproc) make check ``` 如果所有单元测试都能顺利通过的话就证明移植初步成功了! #### 安装至指定路径下 最后一步就是把生成好的二进制文件复制到之前定义过的前缀位置当中去。注意此时应当具有足够的权限才能顺利完成此动作。 ```bash sudo make install ``` 至此整个迁移流程宣告结束,现在可以在 ARMv8 设备上尝试调用 valgrind 工具来进行内存调试啦! #### 设置环境变量 为了让新安装的应用程序能够在任何地方被找到,记得更新 shell session 中的相关环境变量设置。具体做法已在参考资料中给出过相应指导。 ```bash export PATH=/usr/local/aarch64-valgrind/bin:$PATH export INCLUDE=/usr/local/aarch64-valgrind/include:$INCLUDE export LD_LIBRARY_PATH=/usr/local/aarch64-valgrind/lib:/usr/local/aarch64-valgrind/lib64:$LD_LIBRARY_PATH ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值