For some reason gdb fails to build with xz and expat support at the same time when using an external toolchain. This is how the problem is shown: checking for liblzma... no configure: error: missing liblzma for --with-lzma Try this defconfig if you want to reproduce the problem: BR2_x86_64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_PACKAGE_XZ=y BR2_PACKAGE_GDB=y BR2_PACKAGE_GDB_DEBUGGER=y BR2_PACKAGE_EXPAT=y Using the above defconfig, the error in the gdb/config.log will look like this: configure:13241: checking whether to use lzma configure:13243: result: yes configure:13657: checking for liblzma configure:13678: /br/output/host/usr/bin/i686-pc-linux-gnu-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -I/br/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include -static-libstdc++ -static-libgcc conftest.c -ldl -ldl -lncurses -lm -ldl /usr/lib/liblzma.so >&5 /lib64/liblzma.so.5: undefined reference to `clock_gettime@GLIBC_2.17' collect2: error: ld returned 1 exit status You can also use this defconfig to reproduce the problem for MIPS: BR2_mips=y BR2_mips_32r2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_PACKAGE_XZ=y BR2_PACKAGE_GDB=y BR2_PACKAGE_GDB_DEBUGGER=y BR2_PACKAGE_EXPAT=y In that case the error will look like this: configure:13241: checking whether to use lzma configure:13243: result: yes configure:13657: checking for liblzma configure:13678: /br/output/host/usr/bin/mips-linux-gnu-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -I/br/output/host/usr/mips-buildroot-linux-gnu/sysroot/usr/include -static-libstdc++ -static-libgcc conftest.c -ldl -ldl -lncurses -lm -ldl /usr/lib/liblzma.so >&5 /br/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.2.0/../../../../mips-linux-gnu/bin/ld: skipping incompatible /lib64/liblzma.so.5 when searching for /lib64/liblzma.so.5 /br/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.2.0/../../../../mips-linux-gnu/bin/ld: cannot find /lib64/liblzma.so.5 collect2: error: ld returned 1 exit status You can also use this defconfig to reproduce the problem for ARM: BR2_arm=y BR2_cortex_a7=y BR2_TOOLCHAIN_EXTERNAL=y BR2_PACKAGE_XZ=y BR2_PACKAGE_GDB=y BR2_PACKAGE_GDB_DEBUGGER=y BR2_PACKAGE_EXPAT=y In that case the error will look like this: configure:13241: checking whether to use lzma configure:13243: result: yes configure:13657: checking for liblzma configure:13678: /br/output/host/usr/bin/arm-linux-gnueabihf-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -I/br/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -static-libstdc++ -static-libgcc conftest.c -ldl -ldl -lncurses -lm -ldl /usr/lib/liblzma.so >&5 /lib64/liblzma.so.5: file not recognized: File format not recognized collect2: error: ld returned 1 exit status
The problem seems related to the fact that you have lzma installed on your build machine, including the development files. I've tested your last defconfig (on ARM), and I'm not able to reproduce, either with lzma development files installed or not installed. The failure: /lib64/liblzma.so.5: undefined reference to `clock_gettime@GLIBC_2.17' is related to the fact that it finds your host lzma, tries to link with it, but fails because it lacks -lrt. Can you try --with-lzma-prefix=$(HOST_DIR)/usr in GDB_CONF_OPTS ?
That fixes the problem. I've sent a patch: http://patchwork.ozlabs.org/patch/595861/
Fixed in e6a29a4f3c48b13fde2214365067e34fbb92cfd6.