From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17773 invoked by alias); 17 Nov 2009 12:22:30 -0000 Received: (qmail 17764 invoked by uid 22791); 17 Nov 2009 12:22:29 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 17 Nov 2009 12:21:25 +0000 Received: (qmail 15232 invoked from network); 17 Nov 2009 12:21:23 -0000 Received: from unknown (HELO mbp.local) (maxim@127.0.0.2) by mail.codesourcery.com with ESMTPA; 17 Nov 2009 12:21:23 -0000 Message-ID: <4B02953C.4050606@codesourcery.com> Date: Tue, 17 Nov 2009 12:22:00 -0000 From: Maxim Kuvyrkov User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: gdb-patches@sourceware.org CC: Daniel Jacobowitz Subject: [PATCH, M68K] Handle lack of FPU registers References: <4B029388.5070001@codesourcery.com> In-Reply-To: <4B029388.5070001@codesourcery.com> Content-Type: multipart/mixed; boundary="------------020405000200020404080307" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-11/txt/msg00381.txt.bz2 This is a multi-part message in MIME format. --------------020405000200020404080307 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 390 This patch by Daniel Jacobowitz fixes handling of FPU-less ColdFire CPUs. Note: m68k_gdbarch_init() invokes set_gdbarch_fp0_regnum twice, the first call is conditioned on fpregs_present, the second invocation is erroneous and, thus, should be removed. Dan, feel free to check in this patch yourself. Regards, -- Maxim Kuvyrkov CodeSourcery maxim@codesourcery.com (650) 331-3385 x724 --------------020405000200020404080307 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="fsf-gdb-m68k-cf-fp-regs.ChangeLog" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fsf-gdb-m68k-cf-fp-regs.ChangeLog" Content-length: 182 2009-11-17 Daniel Jacobowitz * m68k-tdep.c (m68k_register_name): Check fpregs_present. (m68k_gdbarch_init): Remove a duplicate of set_gdbarch_fp0_regnum. --------------020405000200020404080307 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="fsf-gdb-m68k-cf-fp-regs.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fsf-gdb-m68k-cf-fp-regs.patch" Content-length: 1194 ChangeLog.cf-fp-regs | 5 +++++ gdb/m68k-tdep.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index dcf8779..9cbbbb3 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -179,6 +179,9 @@ m68k_register_name (struct gdbarch *gdbarch, int regnum) if (regnum < 0 || regnum >= ARRAY_SIZE (m68k_register_names)) internal_error (__FILE__, __LINE__, _("m68k_register_name: illegal register number %d"), regnum); + else if (regnum >= M68K_FP0_REGNUM && regnum <= M68K_FPI_REGNUM + && gdbarch_tdep (gdbarch)->fpregs_present == 0) + return ""; else return m68k_register_names[regnum]; } @@ -1190,7 +1193,6 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_sp_regnum (gdbarch, M68K_SP_REGNUM); set_gdbarch_pc_regnum (gdbarch, M68K_PC_REGNUM); set_gdbarch_ps_regnum (gdbarch, M68K_PS_REGNUM); - set_gdbarch_fp0_regnum (gdbarch, M68K_FP0_REGNUM); set_gdbarch_convert_register_p (gdbarch, m68k_convert_register_p); set_gdbarch_register_to_value (gdbarch, m68k_register_to_value); set_gdbarch_value_to_register (gdbarch, m68k_value_to_register); --------------020405000200020404080307--