Re: gdb 8.3.1 truncated register in remote g packet

Luis Machado
2019-11-05T12:49:17Z

I've filed this as https://sourceware.org/bugzilla/show_bug.cgi?id=25162

I'll do some more investigation later and will update the ticket.

On 11/5/19 1:05 AM, Reinoud Koornstra wrote:
> 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
> <mailto: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?)
>