This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] PR tdep/9390: Fix possible typo on xstorxstormy16-tdep.c
- From: Pedro Alves <palves at redhat dot com>
- To: Sergio Durigan Junior <sergiodj at redhat dot com>, GDB Patches <gdb-patches at sourceware dot org>, Corinna Vinschen <vinschen at redhat dot com>
- Date: Tue, 16 Sep 2014 21:27:32 +0100
- Subject: Re: [PATCH] PR tdep/9390: Fix possible typo on xstorxstormy16-tdep.c
- Authentication-results: sourceware.org; auth=none
- References: <1410898465-28350-1-git-send-email-sergiodj at redhat dot com>
[Adding Corinna, listed as xstormy16 maintainer in MAINTAINERS.
Hi Corinna. Do we still care about this port?]
The fix makes sense to me, though I know nothing about
xstormy16 either.
Thanks,
Pedro Alves
On 09/16/2014 09:14 PM, Sergio Durigan Junior wrote:
> This patch (probably) fixes the bug described in PR tdep/9390, which
> is about a wrong check in the following code:
>
> ...
>
> /* optional copying of args in r2-r7 to r10-r13. */
> /* Probably only in optimized case but legal action for prologue. */
> else if ((inst & 0xff00) == 0x4600 /* 46SD mov rD, rS */
> && (inst & 0x00f0) >= 0x0020 && (inst & 0x00f0) <= 0x0070
> && (inst & 0x000f) >= 0x00a0 && (inst & 0x000f) <= 0x000d)
> ^^^^^^^^^^^^^^^^^^^^^^^^^
> ...
>
> This condition will never trigger, and the fix proposed in the bug
> (which made sense to me) was to test against 0x000a. I tried finding
> documentation about this target, but couldn't find anything. I don't
> even know if it is still used, but decided to submit the fix anyway.
>
> Tested on my x86_64 Fedora 20 GNU/Linux.
>
> gdb/ChangeLog:
> 2014-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
>
> PR tdep/9390
> * xstorxstormy16-tdep.c (xstormy16_analyze_prologue): Fix possible
> typo when using logical AND to determine instruction type.
> ---
> gdb/ChangeLog | 6 ++++++
> gdb/xstormy16-tdep.c | 2 +-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index 8216274..622976d 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,5 +1,11 @@
> 2014-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
>
> + PR tdep/9390
> + * xstorxstormy16-tdep.c (xstormy16_analyze_prologue): Fix possible
> + typo when using logical AND to determine instruction type.
> +
> +2014-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
> +
> * objc-lang.c (find_implementation_from_class): Remove dead code.
>
> 2014-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
> diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
> index af3ff32..9692742 100644
> --- a/gdb/xstormy16-tdep.c
> +++ b/gdb/xstormy16-tdep.c
> @@ -374,7 +374,7 @@ xstormy16_analyze_prologue (struct gdbarch *gdbarch,
> /* Probably only in optimized case but legal action for prologue. */
> else if ((inst & 0xff00) == 0x4600 /* 46SD mov rD, rS */
> && (inst & 0x00f0) >= 0x0020 && (inst & 0x00f0) <= 0x0070
> - && (inst & 0x000f) >= 0x00a0 && (inst & 0x000f) <= 0x000d)
> + && (inst & 0x000f) >= 0x000a && (inst & 0x000f) <= 0x000d)
> ;
>
> /* Optional copying of args in r2-r7 to stack. */
>