Re: gdb 8.3.1 truncated register in remote g packet

Reinoud Koornstra
2019-11-05T04:05:50Z

I tried to submit a bug, but it said the info output from gdb I'm trying to
attach is spam and now my account is locked due to spam?.......
Without pasting the gdb output this case doesn't have the info it needs,
but the system thinks it's spam
Thanks, Reinoud.

On Mon, Nov 4, 2019 at 4:50 PM Luis Machado <luis.machado@linaro.org> wrote:

> Hi Reinoud,
>
> On 11/4/19 2:52 PM, Reinoud Koornstra wrote:
> >
> > You might have gotten lucky. Or GDB wasn't too restrictive on the
> > checks.
> >
> >
> > True
> >
> >
> > >
> > > Just to confirm, does your arm target have floating point
> > registers?
> > >
> > > Good point, I did assume it has, because in some cases armeabihf
> was
> > > used to compile, but not in all cases, I'll check whether it is,
> > > otherwise I'd have to recompile gdb without hf.
> > > I'll get the info and let you know, thanks for helping out!
> >
> >
> > Yes, the arm cpu used has floating point registers
> >
> >
> > Well, it seems GDB assumes floating point registers are there by
> > default, so there wouldn't be a need to build GDB specifically for
> that.
> >
> >
> > I did compile a gdb 7.7.1, i compiled earlier 7.0 (failed to compile
> > without removing Werror in bfd directory Makefile...), then I tried
> > 7.4.1, but both of these versions didn't support remote baud rate.
> > However 7.7.1 worked nicely, well way better: (I did go echo g >
> > /proc/sysrq-trigger to get it waiting for gdb).
>
> This indicates something might have changed that made newer GDB's grumpy
> at your kgdb instance.
>
> Would you mind opening a ticket here (https://sourceware.org/bugzilla/)
> so we can track this properly? I'll do some more investigation.
>
> If you don't have an account i can do it for you, from information we
> exchanged through e-mail.
>
> > GNU gdb (GDB) 7.7.1
> > Copyright (C) 2014 Free Software Foundation, Inc.
> > License GPLv3+: GNU GPL version 3 or later
> > <http://gnu.org/licenses/gpl.html>
> > This is free software: you are free to change and redistribute it.
> > There is NO WARRANTY, to the extent permitted by law. Type "show
> copying"
> > and "show warranty" for details.
> > This GDB was configured as "--host=x86_64-unknown-linux-gnu
> > --target=arm-linux-gnueabihf".
> > Type "show configuration" for configuration details.
> > For bug reporting instructions, please see:
> > <http://www.gnu.org/software/gdb/bugs/>.
> > Find the GDB manual and other documentation resources online at:
> > <http://www.gnu.org/software/gdb/documentation/>.
> > For help, type "help".
> > Type "apropos word" to search for commands related to "word"...
> > Reading symbols from ./vmlinux...done.
> > (gdb) set serial baud 115200
> > (gdb) set debug remote 1
> > (gdb) target remote /dev/ttyUSB4
> > Remote debugging using /dev/ttyUSB4
> > Sending packet: $qSupported:multiprocess+;qRelocInsn+#2a...Ack
> > Packet received:
> > Packet qSupported (supported-packets) is NOT supported
> > Sending packet: $Hg0#df...Ack
> > Packet received: OK
> > Sending packet: $qTStatus#49...Ack
> > Packet received:
> > Packet qTStatus (trace-status) is NOT supported
> > Sending packet: $?#3f...Ack
> > Packet received: S05
> > Sending packet: $Hc-1#09...Ack
> > Packet received: OK
> > Sending packet: $qC#b4...Ack
> > Packet received: QC1fbb
> > Sending packet: $qAttached#8f...Ack
> > Packet received:
> > Packet qAttached (query-attached) is NOT supported
> > Sending packet: $qOffsets#4b...Ack
> > Packet received:
> > Sending packet: $g#67...Ack
> > Packet received:
> >
> 0000000001000000b0829e80ac829e8054829880b4a698806700000013000060060000000000000000000000cc5e0bbfd05e0bbfc05e0bbf10200a80581f0a8000000000000000000000000000000000000000000000000000000000000000000000000000000000
> > Sending packet: $m800a1f58,4#ca...Ack
> > Packet received: ffdeffe7
> > Sending packet: $m800a1f54,4#c6...Ack
> > Packet received: 4ef07ff5
> > Sending packet: $m800a1f58,4#ca...Ack
> > Packet received: ffdeffe7
> > Sending packet: $m800a1f54,4#c6...Ack
> > Packet received: 4ef07ff5
> > Sending packet: $m800a1f58,4#ca...Ack
> > Packet received: ffdeffe7
> > Sending packet: $m800a1f54,4#c6...Ack
> > Packet received: 4ef07ff5
> > Sending packet: $m800a1f58,4#ca...Ack
> > Packet received: ffdeffe7
> > Sending packet: $m800a1f54,4#c6...Ack
> > Packet received: 4ef07ff5
> > Sending packet: $m800a1f58,4#ca...Ack
> > Packet received: ffdeffe7
> > Sending packet: $m800a1f58,4#ca...Ack
> > Packet received: ffdeffe7
> > Sending packet: $m800a1f58,4#ca...Ack
> > Packet received: ffdeffe7
> > 0x800a1f58 in arch_kgdb_breakpoint () at kernel/debug/debug_core.c:1049
> > 1049 kernel/debug/debug_core.c: No such file or directory.
> > Sending packet: $qSymbol::#5b...Ack
> > Packet received:
> > Packet qSymbol (symbol-lookup) is NOT supported
> > (gdb) set debug remote 0
> > (gdb) bt full
> > #0 0x800a1f58 in arch_kgdb_breakpoint () at
> kernel/debug/debug_core.c:1049
> > No locals.
> > #1 kgdb_breakpoint () at kernel/debug/debug_core.c:1050
> > No locals.
> > #2 0x800a2010 in sysrq_handle_dbg (key=0) at
> kernel/debug/debug_core.c:810
> > No locals.
> > #3 0x80367308 in __handle_sysrq (key=103, check_mask=false) at
> > drivers/tty/sysrq.c:535
> > op_p = 0x8098a6b4 <sysrq_dbg_op>
> > orig_log_level = 6
> > i = -2137479500
> > flags = 1610612755
> > #4 0x8036745c in write_sysrq_trigger (file=0x0 <__vectors_start>,
> > buf=0x1 <__vectors_start> <error: Cannot access memory at address 0x1>,
> > count=2, ppos=0x809e82ac <kgdb_use_con>) at drivers/tty/sysrq.c:1083
> > No locals.
> > #5 0x80177e18 in proc_reg_write (file=0x0 <__vectors_start>, buf=0x1
> > <__vectors_start> <error: Cannot access memory at address 0x1>,
> > count=2157871792, ppos=0xbf0b5f78) at fs/proc/inode.c:224
> > write = 0xbf0b5ed0
> > rv = 0
> > #6 0x8011fba4 in vfs_write (file=0xbe37bcc0, buf=0xaa408
> > "g\nyS0,115200\n", '\337' <repeats 186 times>, <incomplete sequence
> > \337>..., count=2157871792, pos=0xbf0b5f78) at fs/read_write.c:485
> > No locals.
> > #7 0x801201d4 in SYSC_write (count=<optimized out>, buf=<optimized
> > out>, fd=<optimized out>) at fs/read_write.c:534
> > pos = 0
> > #8 SyS_write (fd=0, buf=697352, count=2) at fs/read_write.c:526
> > ret = 0
> > #9 0x8000f760 in ?? ()
> > No symbol table info available.
> > Backtrace stopped: previous frame identical to this frame (corrupt
> stack?)
>