From: Simon Marchi <simark@simark.ca>
To: Trent Piepho <tpiepho@impinj.com>,
"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: [PATCH] Record ARM THUMB2 PLD/PLI cache instructions
Date: Sun, 30 Sep 2018 14:22:00 -0000 [thread overview]
Message-ID: <cbf0d619-2307-855d-4620-373c6614d149@simark.ca> (raw)
In-Reply-To: <20180928230437.4329-1-tpiepho@impinj.com>
On 2018-09-28 7:04 p.m., Trent Piepho wrote:
> These weren't decoded correctly and trigger an unknown instruction error
> when recording. The ARM format was handled, but not the 32-bit THUMB2
> format.
>
> Since they are only hints that may affect cache state, there is nothing
> to record.
>
> gdb/ChangeLog
> 2018-09-28 Trent Piepho <tpiepho@impinj.com>
>
> PR gdb/23725
> * gdb/arm-tdep.c (thumb2_record_ld_mem_hints): Decode thumb2 PLD/PLI
> ---
> gdb/arm-tdep.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
> index c3280ee211..90936ada8e 100644
> --- a/gdb/arm-tdep.c
> +++ b/gdb/arm-tdep.c
> @@ -12683,6 +12683,14 @@ thumb2_record_ld_mem_hints (insn_decode_record *thumb2_insn_r)
> record_buf);
> return ARM_RECORD_SUCCESS;
> }
> + else
> + {
> + if (bits (thumb2_insn_r->arm_insn, 20, 22) == 0x1)
> + {
> + /* Handle PLD, PLI affect only caches, so nothing to record */
> + return ARM_RECORD_SUCCESS;
> + }
> + }
>
> return ARM_RECORD_FAILURE;
> }
>
Hi Trent,
Thanks for the patch. After staring at the ARM architecture reference manual enough, I
think this is fine.
In the manual, however, in table "Table A5-20 Load byte, memory hints", some encodings with
Rt == 0b1111 decode to "UNPREDICTABLE". Should the record fail for those? I think currently
with your patch we will accept them. I am thinking it would be good to fail, because since
we can't know the side effects of such instruction, we risk showing some false information if
we just assume nothing has changed.
If you are motivated, it would be nice to add a test for this instruction in arm_record_test,
but I won't require it, since the current state is that this test isn't meant to test all
possible instruction, and I don't want to impose that burden on you.
Simon
next prev parent reply other threads:[~2018-09-30 14:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-28 23:05 Trent Piepho
2018-09-30 14:22 ` Simon Marchi [this message]
2018-10-01 22:05 ` Trent Piepho
2018-10-02 17:19 ` Simon Marchi
2018-10-03 0:34 ` Trent Piepho
2018-10-03 17:19 ` Pedro Alves
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=cbf0d619-2307-855d-4620-373c6614d149@simark.ca \
--to=simark@simark.ca \
--cc=gdb-patches@sourceware.org \
--cc=tpiepho@impinj.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