64bit Windows(host) - CentOS 7(target)のgdb作成手順

Windowsホスト上でCentOS 7上のプロセスをリモートデバッグするためのクロスターゲット用gdbを作ります。開発環境はWindowsホスト上の MSYS MinGW 64bit を使います。

1. GNUのサイトからgdbのソースtarball(gdb-7.6.1.tar.gz)を入手する。

2. windows-termcap.o をリンクさせないためのパッチファイルを用意する。

$ ls
gdb-7.6.1.tar.gz  gdb-mingw64-configure.patch

[gdb-mingw64-configure.patch]
--- gdb/configure.org
+++ gdb/configure
@@ -6960,7 +6960,6 @@
     ;;
   *mingw32*)
     ac_cv_search_tgetent="none required"
-    CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
     ;;
 esac
 

3. gdbのソースを展開してパッチをあてる。

$ tar xvf gdb-7.6.1.tar.gz
$ cd gdb-7.6.1
$ patch -p0 < ../gdb-mingw64-configure.patch

4. gdbをビルドする。ビルドが成功すれば /opt/centos7/bin/x86_64-unknown-linux-gnu-gdb.exe ができる。

$ mkdir build
$ cd build
$ ../configure --target=x86_64-unknown-linux-gnu --disable-werror --with-expat --prefix=/opt/centos7
$ make -j4 && make install

4. CentOS7上でgdbserverを起動しておき、クロスターゲット用gdbからgdbserverにTCP/IP接続してリモートデバッグする。