秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、安装编译环境:
1、下载gdb源码(Index of /gnu/gdb)最新的源码
2、下载msys64安装包(MSYS2
3、安装msys64
4、安装后运行mingw64.exe
5、在mingw64里安装编译环境:

pacman -Syu
pacman -S mingw-w64-x86_64-toolchain
pacman -S texinfo
pacman -S pathch
pacman -S gcc
pacman -S make

注意: 
pacman -Syu更新后会退出mingw64,只需重新运行mingw64,继续执行后续指令就可以。

二、编译GDB源码:
因下面编译会很容易破环这个编译环境,建议编译环境安装完成后备份一下(备份msys64这个目录)

1、解压gdb源码到msys64目录(用gdb16.2为例)
2、编译gdb(以下命令在mingw64里执行)

1
2
3
4
5
cd /gdb-16.2
mkdir output
./configure CFLAGS=" -g -O2 -Wno-error -Fno-debug " LDFLAGS="-static -Wl,-s" --target=i386-none-linux-gnu -build=x86_64-w64-mingw32 --with-python=no --disable-gtk --disable-x11 --disable-libexpat --enable-static --disable-shared --prefix=e:/msys64/gdb-16.2/output
make -j4
make install

make -j4  同时使用4个线程编译,可根据CPU调整以加快编译速度。
注意:编译其他CPU时请执行以下命令【彻底清理之前编译所有生成的文件(包括配置文件和依赖关系)】,然后重复执行第3--5行的指令就可以。

make distclean

三、configure参数说明
在这简单解释一下configure的参数:

  --prefix=e:/msys64/gdb-16.2/output    # 安装路径(可选)
  --with-python=no                # 禁用 Python
  --without-guile                 # 禁用 Guile
  --disable-gtk                  # 禁用 GTK 图形界面
  --disable-x11                  # 禁用 X11 图形界面
  --enable-static                # 启用静态链接核心库
  --disable-shared                 # 不生成共享库
  --build=x86_64-w64-mingw32     # 主机架构(Windows 示例)
  --target=x86_64-none-linux-gnu     # 目标架构(示例)
  LDFLAGS="-static -Wl,-s"        # 静态链接并剥离符号
  CFLAGS=" -g -O2 -Wno-error -Fno-debug "

编译不同CPU的GDB.EXE只需修改红色的部分:

--target=x86_64-none-linux-gnu

以下是常用CPU对应的名称:

X86 64位=X86_64
x86 32位=i386 //暂时不能编译i386 for linux版
ARM 64位=aarch64
ARM 32位=arm
龙芯 64位=loongarch64
riscv 32位=riscv
riscv 64位=riscv64

四、编译成功后的文件处理
编译成功后生成的GDB在msys64/gdb-16.2/output/bin目录,文件名为“x86_64-none-linux-gnu-gdb.exe”,将x86_64-none-linux-gnu-gdb.exe改名为gdb.exe,拷贝gdb.exe及依赖文件到fpcbootstrap\gdb\x86_64-linux。
注意:
GDB.EXE需要以下依赖文件(在msys64/mingw64/bin目录)。

libexpat-1.dll
libgcc_s_seh-1.dll
libgmp-10.dll
libiconv-2.dll
libintl-8.dll
liblzma-5.dll
libmpfr-6.dll
libncursesw6.dll
libstdc++-6.dll
libwinpthread-1.dll
libxxhash.dll
libzstd.dll
posted on 2025-03-07 14:01  秋·风  阅读(394)  评论(0)    收藏  举报