交叉编译mips平台上valgrind
STEP 1:
下载最新版本的valgrind:
http://www.valgrind.org/downloads/valgrind-3.9.0.tar.bz2
目前支持的平台,在官网上列表如下:
{x86,amd64,arm,ppc32,ppc64,s390x,mips32,mips64}-linux, arm-android (2.3 and later), x86-android (4.0 and later) and {x86,amd64}-darwin (Mac OS X 10.7, with limited support for 10.8).
STEP 2:
首先要配置编译选项,选择你的目标平台,因为我是在mips32平台上运行,所以配置如下:
./configure --host=mips-linux-gnu --prefix=/home/wupeng/workspace/valgrind/bin --program-prefix=mips-linux-gnu- CFLAGS="-EL" LDFLAGS="-EL"
注意:大小端的问题;刚开始配置没有注意这个,运行总是报语法错误,后来运行file命令查看,发现与正常运行的程序差异在于这块;
$ file mips-linux-gnu-valgrind mips-linux-gnu-valgrind: ELF -bit LSB executable, MIPS, MIPS32 rel2 version , dynamically linked (uses shared libs), , with unknown capability 0xf41 = 0x756e6700, not stripped
STEP 3:
生成Makefile后,直接编译即可;在编译过程中,会遇到卡在一个地方过不支,需将drd/Makefile中-O2修改为-O1:
DRD_CFLAGS = \ --param inline-unit-growth= \ -O1 \ -Wextra \ -Wformat-nonliteral \ -Wno-inline \ -Wno-unused-parameter
STEP 4:
安装,然后将执行文件copy到开发板上;需要注意的安装目录与你要拷贝到开发板上的路径要完全一致;
这点很重要,因为在编译时路径的hardcode已经在程序中了,如果不一致,运行时会提示找不到文件:
ex.
在host上,我编译安装valgrind的路径是:/home/wupeng/valgrind/bin, 那么将valgrind拷贝到开发板上的路径也要是这个,程序才能正确执行;
STEP 5:
运行valgrind, 后面跟上要运行的文件即可;
交叉编译mips平台上valgrind的更多相关文章
- Linux平台上DPDK入门指南
1. 简介 本文档包含DPDK软件安装和配置的相关说明.旨在帮助用户快速启动和运行软件.文档主要描述了在Linux环境下编译和 运行DPDK应用程序,但是文档并不深入DPDK的具体实现细节. 1.1. ...
- .NET平台上的Memcached客户端介绍
早上接到一个任务,需要对Linux服务器的Memcached的update操作进行性能测试,我发现我是一个典型的“手里拿着锤子, 就把所有问题都当成钉子”的人.我第一个念头就是,上Memcached的 ...
- .NET平台上的Memcached客户端介绍(Memcached Providers)
早上接到一个任务,需要对Linux服务器的Memcached的update操作进行性能测试,我发现我是一个典型的“手里拿着锤子,就把所有问题都当成钉子”的人.我第一个念头就是,上Memcached的官 ...
- 在不同平台上CocosDenshion所支持的音频格式
在大多数平台上,cocos2d-x调用不同的SDK API来播放背景音乐和音效.CocosDenshion在同一时间只能播放一首背景音乐,但是能同时播放多个音效. 背景音乐 Platform supp ...
- 运行在TQ2440开发板上以及X86平台上的linux内核编译
一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...
- GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。
1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...
- 实验六 CC2530平台上P2P通信的TinyOS编程
实验六 CC2530平台上P2P通信的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步的掌握射频通信TinyOS编程方法 学生通过本实验应理解TinyOS中 ...
- 实验五 CC2530平台上ADC组件的TinyOS编程
实验五 CC2530平台上ADC组件的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步掌握传感器的ADC组件应用方法 学生通过本实验能够初步的了解和掌握CC ...
- 实验四 CC2530平台上UART组件的TinyOS编程
实验四 CC2530平台上UART组件的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步掌握CC2530的UART.及其TinyOS编程方法 学生通过本实验 ...
随机推荐
- Android Studio 生成Release版,报Warning的解决办法
转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6242227.html 请尊重知识产权!!! 同步更新到CSDN:http://blog.csdn.net/ ...
- node.js WebService异常处理(domain)以及利用domain实现request生命周期的全局变量
成熟的Web Service技术,例如Fast CGI.J2EE.php,必然会对代码异常有足够的保护,好的Web必然会在出错后给出友好的提示,而不是莫名其妙的等待504超时.而node.js这里比较 ...
- mysql优化之表建设
就拿常见的用户表.文章类的表.日志表来分析如下 CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMEN ...
- nodejs gearman redis
export NODE_PATH=/root/gearman-1.1.2/node_modulesnpm install gearmanodenpm install redis w.js var re ...
- 基于apt实现的Android快速持久化框架:AptPreferences
AptPreferences是基于面向对象设计的快速持久化框架,目的是为了简化SharePreferences的使用,减少代码的编写.可以非常快速地保存基本类型和对象.AptPreferences是基 ...
- LeetCode:Container With Most Water,Trapping Rain Water
Container With Most Water 题目链接 Given n non-negative integers a1, a2, ..., an, where each represents ...
- [转] sql_id VS hash_value
有没有发现,v$session,v$sql,v$sqlarea,v$sqltext,v$sql_shared_cursor等试图连接的时候经常会用到hash_value,sql_id,但是他们2个之间 ...
- 辅助写作软件:PPT写作助手 帮助创作多图少字文章
读图时代,应该创作“多图少文”的文章. PPT是制作图形最佳工具之一.将“PPT + 文字说明” 结合, 是PPT写作助手开启的全新创作方式,让图文文章更方便创作. PPT写作助手帮助您:1. 方便进 ...
- [转]mongodb与mysql相比的优缺点
原文地址:http://blog.sina.com.cn/s/blog_966e430001019s8v.html 与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问 ...
- Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...