1 下载并解压gdb源码
mkdir -p /data/plat/gdb && cd /data/plat/gdb
wget http://ftp.gnu.org/gnu/gdb/gdb-7.3.1.tar.gz
tar xf gdb-7.3.1.tar.gz
cd gdb-7.3.1
2 编译gdb
2.1 编译termcap
mkdir -p /data/plat/termcap && cd /data/plat/termcap
wget ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
tar xf termcap-1.3.1.tar.gz
cd termcap-1.3.1
export CC=mips-linux-gcc && export AR=mips-linux-ar && ./configure --build=i386-linux --host=mips-linux --target=mips-linux --prefix=/data/plat/termcap_lib
make && make install
mips-linux-gcc --print-file-name libc.a
cd /opt/toolchains/crosstools-mips-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21/usr/mips-unknown-linux-uclibc/sysroot/usr/lib
ln -s /data/plat/termcap_lib/lib/libtermcap.a .
cd ../include
ln -s /data/plat/termcap_lib/include/termcap.h .
cd /data/plat/gdb/gdb-7.3.1
mkdir build && cd build
./configure --build=i386-linux --host=mips-linux --target=mips-linux --enable-static --with-static-standard-libraries --prefix=$PWD/install
make && make install
cd gdb && mips-linux-strip gdb
其他
- 交叉编译gdb 12.1 需要先交叉编译gmp,然后按照编译termcap的方式将对应的库链到编译链相关路径下
相关的编译配置命令需改为 ./configure --build=i386-linux --host=arm-linux --target=arm-linux --with-static-standard-libraries --prefix=$PWD/install LDFLAGS='-static -pthread'
参考
- https://blog.csdn.net/feixiang3839/article/details/41093021
- https://blog.csdn.net/ai2000ai/article/details/50441845