我正试图从源代码中为MIPS32体系结构交叉编译GDB服务器的版本。我用的是一台x86_64机器。
我正在为MIPS (mips-buildroot-linux-uclibc-gcc)使用Buildroot MIPS编译器。
在GDB服务器目录中,我运行./configure命令:
./configure --host=mips-buildroot-linux-uclibc AR=${CROSS}ar LD=${CROSS}ld CC=${CROSS}gcc CXX=${CROSS}g++ RANLIB=${CROSS}ranlib LIBS=-L/root/Desktop/buildroot/buildroot-2018.02.2/output/host/lib使用$CROSS具有mips-buildroot-linux-uclibc-值
./configure运行,但我注意到在输出中提到了checking whether we are cross compiling... no。我似乎并不是说./configure正在尝试交叉编译。
然后运行make LDFLAGS=-static,生成错误:
ld: cannot find -lthread_db
collect2: error: ld returned 1 exit status
Makefile:379: recipe for target 'gdbserver' failed
make: *** [gdbserver] Error 1我读到您可以删除GDB服务器makefile中的makefile依赖项,但是我需要调试线程化的应用程序。
如何使用Buildroot交叉编译工具集为MIPS32体系结构交叉编译GDB服务器?
发布于 2018-05-10 11:15:52
因为您无论如何都要用Buildroot构建工具链,所以最简单的方法就是使用Buildroot构建gdbserver。
BR2_PTHREAD_DEBUG)。这将为您提供静态链接的gdbserver可执行文件。
请注意,如果更改工具链选项(线程库调试、静态库),则必须使用make clean; make进行完全重构。
https://stackoverflow.com/questions/50253929
复制相似问题