From patchwork Tue Sep 16 20:14:25 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Durigan Junior X-Patchwork-Id: 2868 Received: (qmail 3695 invoked by alias); 16 Sep 2014 20:14:37 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 3685 invoked by uid 89); 16 Sep 2014 20:14:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.5 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 16 Sep 2014 20:14:35 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s8GKEXxM008656 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 16 Sep 2014 16:14:33 -0400 Received: from psique.yyz.redhat.com (dhcp-10-15-16-169.yyz.redhat.com [10.15.16.169]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s8GKEWq0029486; Tue, 16 Sep 2014 16:14:33 -0400 From: Sergio Durigan Junior To: GDB Patches Cc: Sergio Durigan Junior Subject: [PATCH] PR tdep/9390: Fix possible typo on xstorxstormy16-tdep.c Date: Tue, 16 Sep 2014 16:14:25 -0400 Message-Id: <1410898465-28350-1-git-send-email-sergiodj@redhat.com> X-IsSubscribed: yes 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 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 + 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 + * objc-lang.c (find_implementation_from_class): Remove dead code. 2014-09-16 Sergio Durigan Junior 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. */