Chinaunix首页 | 论坛 | 博客
  • 博客访问: 488680
  • 博文数量: 174
  • 博客积分: 130
  • 博客等级: 入伍新兵
  • 技术积分: 587
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-12 19:39
文章分类

全部博文(174)

文章存档

2018年(2)

2016年(10)

2015年(6)

2014年(31)

2013年(92)

2012年(33)

我的朋友

分类: LINUX

2016-05-29 20:11:54

原文地址:交叉编译gdb 作者:T-bagwell

 
环境QQ2440配套的环境
 
 
由于之前习惯了用gdb调试coredump,所以,打算自己编一个QQ2440上的gdb文件
很早以前用的是gdbserver,后来发现,有的时候没有网络环境的时候,还真就得有一个gdb,所以,编译了一个静态的gdb
 
 
 

[root@T-bagwellgdb]# ll gdb
-rwxr-xr-x 1 root root 11937427 2009-09-14 07:23 gdb
[root@T-bagwell gdb]# file gdb
gdb: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.14, not stripped
[root@T-bagwell gdb]#


编译完以后,生成的文件就是这样的

具体过程如下:

编译的时候遇到了需要找到termcap,我先交叉编译了termcap,然后暂时先存着

然后把gdb里的configure改了一下,我做成了patch,在附件中能看到

文件: gdb-6.8-patch-for-QQ2440.patch.gz
大小: 0KB
下载: 下载

大了patch以后不行的,还要找到之前编译的termcap的lib,因为在最后链接生成gdb的时候需要用到libtermcap.a文件,我交叉编译的时候,直接将其生成在对应的目录下了

在configure配置gdb环境时

../gdb-6.8/configure --target=arm-linux --host=arm-linux --enable-static


链接的时候我使用了命令

arm-linux-gcc -g -O2 -static -o gdb gdb.o libgdb.a ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lm ../libiberty/libiberty.a -ldl /usr/local/arm/4.3.2/lib/libtermcap.a


搞定,该gdb可以使用了

可以生成core文件,然后调试了

阅读(1125) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~