Bootstrap

gdb编译教程(支持linux下X86和ARM架构)

1、下载源码
http://ftp.gnu.org/gnu/gdb/
在这里插入图片描述
我下载的8.2版本。
2、下载完后拷贝到linux的x86系统。
在这里插入图片描述
3、解压,然后进入到目录下,打开当前目录的命令行窗口。
在这里插入图片描述
4、创建一个生成目录。

在这里插入图片描述
5、我们先开始x86版本,这个比较简单,不需要配置交叉编译工具(当然前提是系统装了gcc和g++的环境啊)。
构建

 ./configure --prefix=/home/yjd/gdb_build/x86

在这里插入图片描述
编译

sudo make -j8

在这里插入图片描述
生成

sudo make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

生成完成。查看版本。
在这里插入图片描述
6、现在我们来编译ARM版本
先清理下编译x86残留下的临时文件。

sudo make clean
sudo make distclean

开始构建:

#运行平台
--host=aarch64-linux         
#目标平台名称
--target=aarch64-linux
#你想使的C编译器的绝对路径
CC=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-gcc
#你想使的C++编译器的绝对路径
CXX=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-g++
#你想使的链接器的绝对路径
LD=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ld
#ar的绝对路径,用作与于创建静态库使
AR=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ar
#配置安装的路径
--prefix=/home/yjd/gdb_build/arm

以上这些配置都是要跟在./configure后面的。如下:

./configure --host=aarch64-linux --target=aarch64-linux CC=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-gcc CXX=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-g++ LD=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ld AR=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ar --prefix=/home/yjd/gdb_build/arm

在这里插入图片描述

sudo make -j8

在这里插入图片描述

sudo make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将gdb文件拷贝到对应平台下,即可使用。(或者使用gdbserver远程调试)
在这里插入图片描述

;