gdbserver 7.1 unable to read registers

Ulrich Weigand
Fri Sep 24 12:58:00 GMT 2010

William Wagner wrote:

> I have built up a cross toolchain for an arm target with an x64 host. I 
> have compiled gdb/gdbserver 7.1.
> When I try to debug my application I can connect to gdbserver fine but I 
> get an error when gdb tries to read the registers:
> Remote 'g' packet reply is too long: 
> 00000000b07edbbe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c07ddbbe00000000a007004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
> As far as I can tell the error is because the target and the host 
> disagree as to how many registers there are on the target, however I 
> compiled gdb and gdbserver with the same options.
> How can I tell what register information gdb is expecting? Is there some 
> either a compile time or runtime option I need to set with gdb so they 
> agree on numbers of registers?

Usually, gdbserver will inform GDB via the remote protocol about the
set of registers supported on the platform, and GDB is supposed to
automatically take that information into account.

However, this requires that GDB is built to include XML support to
parse this configuration information; if the expat libraries were
not available when you built GDB, the configure process might have
decided to build GDB without XML support instead ...

Can you try rebuilding with the --with-expat configure option?
This will cause the build to fail if XML support is not available.


  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE

More information about the Gdb mailing list