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远程调试)