Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Luis Machado via Gdb <gdb@sourceware.org>
To: Andrew Burgess <aburgess@redhat.com>,
	Stephen Brennan <stephen.s.brennan@oracle.com>,
	Tom Tromey <tom@tromey.com>,
	Luis Machado via Gdb <gdb@sourceware.org>
Cc: linux-debuggers@vger.kernel.org,
	Omar Sandoval <osandov@osandov.com>,
	Amal Raj T <tjarlama@gmail.com>
Subject: Re: GDB Remote Protocol Extension - Linux VMCOREINFO - Request for Feedback
Date: Thu, 16 Jan 2025 10:49:03 +0000	[thread overview]
Message-ID: <a119598d-51ce-44ae-a315-aa07c8fdb987@arm.com> (raw)
In-Reply-To: <87cygnoxi2.fsf@redhat.com>

On 1/16/25 10:37, Andrew Burgess wrote:
> Stephen Brennan via Gdb <gdb@sourceware.org> writes:
> 
>> Tom Tromey <tom@tromey.com> writes:
>>>>>>>> Luis Machado via Gdb <gdb@sourceware.org> writes:
>>>
>>>>> To sum up, my specific questions are:
>>>>>
>>>>> 1. What is the maximum protocol packet size, if any?
>>>
>>>> It is hardcoded by gdb, but the remote can also specify that, but...
>>>
>>>>> 2. Would this functionality be better implemented in a single "q
>>>>> linux.vmcoreinfo" packet, or as a "qXfer" packet?
>>>
>>>> ... we have packets like qXfer that can handle multi-part transfers. So the
>>>> packet size is not a critical concern anymore, and it is best to use this
>>>> newer mechanism, if the usage fits the packet structure.
>>>
>>> Agreed, qXfer is the way to go.
>>
>> Thank you Tom & Luis for confirmation, qXfer seems appropriate. With
>> that approach the buffer size is not really a concern: we can simply use
>> the minimum of the requested read size, and the stub's buffer size. So
>> long as clients use multiple requests until the data is fully read.
>>
>> While the "os" object also sounds like a good place to put this (e.g.
>> within a new annex), it seems like that contains XML-formatted data with
>> well-understood schema and semantics. The vmcoreinfo is free-form text
>> (generally of a "key=value" format), so it probably should be a separate
>> object.
>>
>> So I think we would prefer to add an object type, e.g. named "vmcoreinfo".
>> (But please do speak up if this sounds like a mistake)
>>
>>> If you're adding a new object type, a patch to the manual would be good.
>>
>> I'll definitely include a patch for the manual in the plan for this.
>> Another patch I'd like to write is to allow GDB's server to expose this
>> object type when the target is an ELF core dump with a VMCOREINFO note.
>> We're hoping for this to useful for all debuggers, not just drgn.
> 
> Hi Stephen,
> 
> I took a look at the wiki page and it seems like initially at least,
> your plan is to make the information from vmcoreinfo available via a new
> 'info' command.
> 
> It is possible to send remote packets through GDB's Python API[1].  And
> of course, the Python API allows for new commands to be created[2].
> There is a test in GDB's test suite that makes use of the packet sending
> API, and it happens to send a qXfer packet[3].
> 
> I say all this not to put you off contributing a patch to core GDB, but
> if what you want is a new user command which will send a packet to a
> remote target and process the results, then it should be possible to
> implement this as a Python extension.

A bit off-topic, but wouldn't that have the potential to proliferate
remote packets gdb/debugging stubs have no control over or no documentation
to point at/refer to? Possibly contributing to greater confusion as to what
should be minimally supported in terms of remote packets?

  reply	other threads:[~2025-01-16 10:55 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <8734hmtfbr.fsf@oracle.com>
2025-01-14 15:03 ` Luis Machado via Gdb
2025-01-14 17:15   ` Tom Tromey
2025-01-14 17:39     ` Stephen Brennan via Gdb
2025-01-16 10:37       ` Andrew Burgess via Gdb
2025-01-16 10:49         ` Luis Machado via Gdb [this message]
2025-01-16 16:40           ` Andrew Burgess via Gdb
2025-01-16 17:15             ` Luis Machado via Gdb
2025-01-17 22:01             ` Tom Tromey
2025-01-16 17:58         ` Stephen Brennan via Gdb
2025-01-23  1:11         ` Stephen Brennan via Gdb
2025-01-26 18:07 ` Thomas Weißschuh via Gdb
2025-01-27 18:13   ` Omar Sandoval
2025-01-27 18:42     ` Stephen Brennan via Gdb
2025-01-27 22:40       ` Thomas Weißschuh via Gdb
2025-01-28  0:19         ` Stephen Brennan via Gdb
2025-01-29 21:16           ` Thomas Weißschuh via Gdb

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a119598d-51ce-44ae-a315-aa07c8fdb987@arm.com \
    --to=gdb@sourceware.org \
    --cc=aburgess@redhat.com \
    --cc=linux-debuggers@vger.kernel.org \
    --cc=luis.machado@arm.com \
    --cc=osandov@osandov.com \
    --cc=stephen.s.brennan@oracle.com \
    --cc=tjarlama@gmail.com \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox