From: Ivo Raisr <ivo.raisr@oracle.com>
To: Pedro Alves <palves@redhat.com>
Cc: Yao Qi <qiyaoltc@gmail.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH] Bug 20936 - provide sparc and sparcv9 target description XML files
Date: Wed, 25 Jan 2017 16:05:00 -0000 [thread overview]
Message-ID: <9cab8cda-99e8-8921-c999-be0324a133f8@oracle.com> (raw)
In-Reply-To: <9351d864-e939-cc66-97e3-1c768bf78df1@redhat.com>
On 25.1.2017 16:46, Pedro Alves wrote:
> (I know I'm quite behind this thread.)
>
> On 01/06/2017 03:12 PM, Ivo Raisr wrote:
>>
>> ChangeLog entry:
>> 2017-01-06 Ivo Raisr <ivo.raisr@oracle.com>
>>
>> Split real and pseudo registers in preparation for registers provided
>> by a target. Registers provided by target description can have more real
>> registers and pseudo registers need to be positioned after them.
>
> I don't quite understand this rationale, and I'm wondering if there's
> a misunderstanding of register numbering somewhere (maybe mine!).
>
> What exactly would go wrong if you just added the new registers
> between the existing raw and pseudo registers? Other ports do
> that routinely.
Good question.
The rationale is target provided registers.
Consider a typical Valgrind use case where target (gdbserver stub
implemented inside Valgrind) supplies 3 times more raw registers than
the architecture normally supports.
One set mimics the "normal" registers, the other two sets are shadow
copies used internally by Memcheck tool to keep track of
defined/undefined bits and their origins.
So when gdb'ing ordinary process, you have:
- raw registers (one set)
- pseudo registers
However when gdb'ing Valgrind'ed process over gdb remote protocol
with --vgdb-shadow-registers=yes, target provides:
- first set of raw registers (describes guest state)
- second set of raw registers (describes the first shadow copy)
- third set of raw registers (describes the second shadow copy)
- pseudo registers (actually provided by gdb)
So this means pseudo registers numbering must be flexible.
Other targets (such as s390x, aarch64, amd64) do it in similar ways.
Kind regards,
I.
next prev parent reply other threads:[~2017-01-25 16:05 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-06 11:41 Ivo Raisr
2016-12-06 15:26 ` Yao Qi
2016-12-06 23:46 ` Ivo Raisr
2016-12-06 23:58 ` Ivo Raisr
2016-12-12 12:54 ` Yao Qi
2017-01-04 17:43 ` Ivo Raisr
2017-01-05 14:31 ` Yao Qi
2017-01-06 15:12 ` Ivo Raisr
2017-01-09 17:35 ` Yao Qi
2017-01-09 21:18 ` Ivo Raisr
2017-01-10 9:29 ` Yao Qi
2017-01-11 13:15 ` Ivo Raisr
2017-01-11 15:46 ` Yao Qi
2017-01-12 11:09 ` Ivo Raisr
2017-01-16 16:50 ` Jose E. Marchesi
2017-01-25 15:46 ` Pedro Alves
2017-01-25 16:05 ` Ivo Raisr [this message]
2017-01-25 16:24 ` Pedro Alves
2017-01-25 16:26 ` Ivo Raisr
2017-01-25 16:44 ` Yao Qi
2017-01-17 21:38 ` Ivo Raisr
2017-01-25 5:46 ` Ivo Raisr
2017-01-25 22:42 ` Yao Qi
2017-01-26 11:23 ` Ivo Raisr
2016-12-11 17:23 ` Ivo Raisr
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=9cab8cda-99e8-8921-c999-be0324a133f8@oracle.com \
--to=ivo.raisr@oracle.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
--cc=qiyaoltc@gmail.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