Missing expat support in GDB 7.8

Andreas Schmidl andreas.schmidl at gmail.com
Fri Sep 11 19:17:56 UTC 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linaro.org/pipermail/linaro-toolchain/attachments/20150911/4098b42e/attachment-0001.html>


More information about the linaro-toolchain mailing list