From: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
To: Simon Marchi <simark@simark.ca>, gdb-patches@sourceware.org
Cc: uweigand@de.ibm.com, edjunior@gmail.com
Subject: Re: [PATCH v5 12/12] [PowerPC] Add support for HTM registers
Date: Mon, 11 Feb 2019 19:10:00 -0000 [thread overview]
Message-ID: <87tvhauoo5.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <d4b94047-ff61-69eb-e421-2a053484d52e@simark.ca>
Hello Simon,
> From what I understand from the comment above, the problem is that raw_write_part
> does not return any feedback.
That's right, in the live frame an exception is raised only if the
target is called to try to write to the register, which doesn't happen
in regcache::raw_write_part when the initial read doesn't return a valid
status. This initial read does go to the target, but it doesn't raise
an exception, it just marks the register as unavailable.
> [...] Would it be fine to make raw_write_part return a value
> (probably a bool) to say whether it succeeded, and replace the current
> error handling code with a check of that return value? Something
> like:
>
> bool success = regcache->raw_write_part (vr0 + reg_index, offset,
> register_size (gdbarch, reg_nr), buffer);
> if (!success)
> error (_("Cannot write to the checkpointed EFP register, "
> "the corresponding vector register is unavailable."));
>
This should work, although I wonder if it makes sense to return a
register_status like the private regcache::raw_write_part already does,
instead of a bool.
This should also work nicely if the write is done for a regular EFP
pseudo-register (as opposed to checkpointed one). Before your patch
series, only the checkpointed version could result in an unavailable
read, but now I think this can also happen to the regular one for a
frame in which the underlying register wasn't saved.
In fact, couldn't this silent failure now also affect other arches that
use raw_write_part too, when the register is unavailable in a frame?
A possible solution might be to raise an exception directly from
register_readwriter::write_part when the read returns something other
than REG_VALID, although I'm not sure this would be correct in all
cases.
The only detail is that "checkpointed" should be removed from the error
message, so it becomes something like:
if (regcache->get_register_status (vr0 + reg_index) != REG_VALID)
error (_("Cannot write to the EFP register, the corresponding "
"vector register is unavailable."));
(I also added a space before the string continuation which was
previously missing).
Thanks!
--
Pedro Franco de Carvalho
next prev parent reply other threads:[~2019-02-11 19:10 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-22 22:33 [PATCH v5 00/12] GDB support for more powerpc registers on linux Pedro Franco de Carvalho
2018-10-22 22:33 ` [PATCH v5 06/12] [PowerPC] Fix indentation in arch/ppc-linux-common.c Pedro Franco de Carvalho
2018-10-22 22:33 ` [PATCH v5 03/12] Add decfloat registers to float reggroup Pedro Franco de Carvalho
2018-10-22 22:33 ` [PATCH v5 04/12] [PowerPC] Remove rs6000_pseudo_register_reggroup_p Pedro Franco de Carvalho
2018-10-22 22:33 ` [PATCH v5 07/12] [PowerPC] Refactor have_ initializers in rs6000-tdep.c Pedro Franco de Carvalho
2018-10-22 22:33 ` [PATCH v5 05/12] [PowerPC] Fix two if statements in gdb/ppc-linux-nat.c Pedro Franco de Carvalho
2018-10-22 22:33 ` [PATCH v5 02/12] [PowerPC] Don't zero-initialize vector register buffers Pedro Franco de Carvalho
2018-10-22 22:33 ` [PATCH v5 01/12] Zero-initialize linux note sections Pedro Franco de Carvalho
2018-10-22 22:54 ` [PATCH v5 10/12] [PowerPC] Add support for EBB and PMU registers Pedro Franco de Carvalho
2018-10-22 22:56 ` [PATCH v5 11/12] [PowerPC] Reject tdescs with VSX and no FPU or Altivec Pedro Franco de Carvalho
2018-10-23 16:05 ` Pedro Alves
2018-10-23 18:46 ` Pedro Franco de Carvalho
2018-10-25 15:45 ` Pedro Alves
2018-10-22 22:58 ` [PATCH v5 09/12] [PowerPC] Add support for TAR Pedro Franco de Carvalho
2018-10-23 2:34 ` Eli Zaretskii
2018-10-23 18:50 ` Pedro Franco de Carvalho
2018-10-22 23:05 ` [PATCH v5 12/12] [PowerPC] Add support for HTM registers Pedro Franco de Carvalho
2019-02-09 5:51 ` Simon Marchi
2019-02-11 19:10 ` Pedro Franco de Carvalho [this message]
2018-10-22 23:16 ` [PATCH v5 08/12] [PowerPC] Add support for PPR and DSCR Pedro Franco de Carvalho
2018-10-23 15:37 ` [PATCH v5 00/12] GDB support for more powerpc registers on linux Pedro Alves
2018-10-23 18:42 ` Pedro Franco de Carvalho
2018-10-24 17:59 ` Ulrich Weigand
2018-10-25 20:05 ` Pedro Franco de Carvalho
2018-10-26 11:01 ` Ulrich Weigand
2018-10-26 10:57 ` Pedro Alves
2018-10-26 11:00 ` Ulrich Weigand
2018-10-26 15:16 ` Pedro Franco de Carvalho
2018-10-29 14:20 ` Regression on old kernels (Re: [PATCH v5 00/12] GDB support for more powerpc registers on linux) Ulrich Weigand
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=87tvhauoo5.fsf@linux.vnet.ibm.com \
--to=pedromfc@linux.ibm.com \
--cc=edjunior@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=simark@simark.ca \
--cc=uweigand@de.ibm.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