From 3e3286a28ab29052f2169bfce01b3e770d589037 Mon Sep 17 00:00:00 2001 From: Sergio Durigan Junior Date: Thu, 9 Oct 2014 13:45:09 -0400 Subject: [PATCH] PR tdep/9390: Fix typo on xstorxstormy16-tdep.c This patch 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 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 ee82f1f448f..aeba430163e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2014-10-09 Sergio Durigan Junior + + PR tdep/9390 + * xstorxstormy16-tdep.c (xstormy16_analyze_prologue): Fix possible + typo when using logical AND to determine instruction type. + 2014-10-09 Yao Qi * infrun.c (handle_signal_stop): Remove local variable diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index af3ff32f03f..9692742189a 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. */ -- 2.30.2