Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Andreas Arnez <arnez@linux.vnet.ibm.com>
Cc: Mark Kettenis <mark.kettenis@xs4all.nl>,
	gdb-patches@sourceware.org,        Ulrich.Weigand@de.ibm.com
Subject: Re: [PATCH v3 3/3] Dynamic core regset sections support
Date: Thu, 13 Jun 2013 14:44:00 -0000	[thread overview]
Message-ID: <51B9D67E.1080207@redhat.com> (raw)
In-Reply-To: <878v2e8ead.fsf@br87z6lw.de.ibm.com>

On 06/13/2013 12:02 PM, Andreas Arnez wrote:
> Pedro Alves <palves@redhat.com> writes:
> 
>>> Do you mean to always write the TDB regset into the core dump, like
>>> without the patch?  And then add some logic such that GDB recognizes
>>> zero values in the register note section as invalid and clears the
>>> regset?  Or do I misinterpret your suggestion?
>>
>> Not zero, but present them as unavailable/invalid.
> 
> Not sure I understand your point here.  *Presenting them* as unavailable
> is exactly what the patch does.

Well, you were the one who brought zeros up.  ;-)
Mark didn't seem to imply any connection between zeros and the registers'
validity, and I was reinforcing the idea.  I'm not sure what you meant
by clearing, but that seemed to imply zeroing too.  If you had a control
register to check, there would be no need to zero out registers.

>> Isn't there a control register GDB can read to check whether a
>> transaction is in progress (useful for both core and live debugging) ?
> 
> No, the kernel indicates an interrupted transaction with the presence of
> the TDB regset.  This applies to ptrace as well as to a core dump.  My
> goal for gcore was to behave the same.

I see...

I tried to do a little investigation on s390 transactions.  It's now my
understanding that these "registers" are really a memory block whose
address passed in by the user to the hardware when a transaction is
started with TBEGIN.  There's a tbegin variant ("simple tbegin" ?) that
doesn't take such a tcb address, and I guess there's some way the kernel
coordinates with the hardware to know/specify where the tcb is written to.
I couldn't find the definite manual/document that explains what exactly
the TDB contains though (tdb0, atia, etc?), only references like
"If the transaction fails, the TDB is populated with lots of information.".
Cool, what is lots, though? :-)  Do you have a pointer, for my own
education, and for the archives?

I was mildly wondering whether it wouldn't be a little better to expose
this through a new target object (and target_read/qXfer:read) instead,
and add a $_tdb convenience variable (similar to $_siginfo --
p $_tdb; p $_tdb.atia, etc.).  That'd mean no read of the TDB block unless
the user requested it, possibility to error out when outside a transaction,
and a way for the user to put the whole TDB in GDB's value
history.

-- 
Pedro Alves


  reply	other threads:[~2013-06-13 14:27 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-12 15:12 [RFA PATCH v3 0/3] Add TDB regset support Andreas Arnez
2013-06-12 15:12 ` [PATCH v3 1/3] S/390 regmap rework Andreas Arnez
2013-06-12 15:13 ` [PATCH v3 2/3] Add TDB regset Andreas Arnez
2013-06-12 15:23 ` [PATCH v3 3/3] Dynamic core regset sections support Andreas Arnez
2013-06-12 16:06   ` Mark Kettenis
2013-06-13  9:32     ` Andreas Arnez
2013-06-13 11:02       ` Pedro Alves
2013-06-13 12:23         ` Andreas Arnez
2013-06-13 14:44           ` Pedro Alves [this message]
2013-06-13 17:36             ` Andreas Arnez

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=51B9D67E.1080207@redhat.com \
    --to=palves@redhat.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=arnez@linux.vnet.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=mark.kettenis@xs4all.nl \
    /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