Hi!
 
The pre-built version of the stable version of Linaro Toolchain (Linaro GDB 2015.02-3) for Windows is shipped with GDB 7.8-2014.09-1-git. GDB was built with the following options:
(gdb) show configuration
This GDB was configured as follows:
configure --host=i686-w64-mingw32 --target=arm-linux-gnueabihf
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--without-expat
--with-gdb-datadir=/home/buildslave/workspace/BinaryRelease/label/hetzner/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32/share/gdb (relocatable)
--with-jit-reader-dir=/home/buildslave/workspace/BinaryRelease/label/hetzner/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32/lib/gdb (relocatable)
--without-libunwind-ia64
--without-lzma
--without-guile
--with-separate-debug-dir=/home/buildslave/workspace/BinaryRelease/label/hetzner/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32/lib/debug (relocatable)
--without-zlib
--without-babeltrace
 
As you can see in the output GDB was built without expat support. This is a major problem for widely used micro controllers like ARM Cortex A8 (e.g. used in Beaglebone Black), because the technical description of this microcontroller is loaded out of xml files (arm-with-neon.xml part of GDB). It's also possible to do that manually with "set tdesc filename <xml-file>, before connecting to the target.
 
Without having the expat option enabled the g package, which is sent from gdbserver during establishing a connection to gdb, can't be parsed correctly. The result is in the first step a warning because of the missing xml support and later on a error regarding the unexpected content of the g package:
 
warning: Can not parse XML target description; XML support was disabled at compile time
Remote 'g' packet reply is too long: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0fcffbe00000000407afdb6300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 
Old GDB versions of Linaro Toolchain like 7.6.1-2013.10 doesn't have that problem because they were compiled with enabled expat support.
 
In my opinion there can be two root causes regarding that missing expat support:
a) Expat support was explicitly disabled with --without-expat option during the built of GDB.
b) On the build machine there wasn't a expat library available when gdb was built.
 
Best regards,
Andreas Schmidl