编译支持所有体系结构的gdb

准备工作:

  1. 下载自己所需的gdb源码
  1. Windows上安装好cygwin,作为移植工具
  2. 新建gdb文件夹,作为此次编译的工作空间
  3. 新建gdb/build文件夹,作为编译临时目录
  4. 新建gdb/install文件夹,作为安装目录
  5. 打开cygwin,切换到build文件夹下

开始编译gdb

我们要编译的gdb主要分几种:

  1. 适用于32位x86目标机的gdb
  2. 适用于32位loongson目标机的gdb
  3. 适用于32位ppc目标机的gdb
  4. 通用所有平台的gdb

平台配置参数

x86: i686-elf
arm: arm-elf
mips: mips-elf
ppc: powerpc-eabi

configure参数

../gdb-7.8/configure --target=i686-elf --prefix=f:/gdb/install

../gdb-7.8/configure --target=powerpc-eabi --prefix=f:/gdb/install

../gdb-7.2/configure --target=mips-elf --disable-werror --enable-interwork --enable-multilib --prefix=f:/gdb/install

../gdb-7.2/configure --target=arm-elf --disable-werror --enable-interwork --enable-multilib --prefix=f:/gdb/install

通用所有平台并支持64位的gdb

../gdb-7.8/configure --enable-targets=all --enable-64-bit-bfd --prefix=f:/gdb/install

编译步骤

以所有平台的gdb为例

../gdb-7.8/configure --enable-targets=all --enable-64-bit-bfd --prefix=f:/gdb/install make make install

编译完成后的检查
若把../gdb/bin/gdb.exe拖到cygwin执行成功,则编译成功。

编译脱离cygwin,可直接点击运行,需做的处理

在gdb文件夹下的bin文件夹下拷贝出gdb.exe,放到cygwin的bin文件夹下,点击看能否执行成功。

若成功,则把cygwin整个文件夹拷贝出来。然后一个个剔除掉不需要的文件。
最后只留下gdb.exe和其相关文件。

当然,也可以直接点击gdb.exe按照提示补充对应的文件,但这样可能最终仍无法执行。

现在,我已经把需要的文件整理出来了,以后只需把编译的gdb.exe提出来放到整理好的文件里面就可以了。

**注意,如果是使用的支持所有的体系结构的gdb,需要指定。命令是:set gnutarget *(elf64-x86-64)

你可能感兴趣的:(编译支持所有体系结构的gdb)