前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >交叉编译gdb

交叉编译gdb

作者头像
用户3765803
发布2019-03-05 10:12:36
3.3K0
发布2019-03-05 10:12:36
举报
文章被收录于专栏:悟空被FFmpeg玩悟空被FFmpeg玩

环境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 gdbgdb: 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 下载: 下载

文件:

gdb-6.8-patch-for-QQ2440.patch.gz

大小:

0KB

下载:

下载

文件:

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文件,然后调试了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2009/09/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档