From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4366 invoked by alias); 6 Aug 2002 05:06:20 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 4359 invoked from network); 6 Aug 2002 05:06:19 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 6 Aug 2002 05:06:19 -0000 Received: from redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id WAA10240; Mon, 5 Aug 2002 22:04:39 -0700 (PDT) Message-ID: <3D4F54EA.6CA82E5E@redhat.com> Date: Mon, 05 Aug 2002 22:06:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Accept-Language: en MIME-Version: 1.0 To: gdb-patches@sources.redhat.com CC: cagney@redhat.com, kevinb@redhat.com Subject: [RFA] 32/64 mistake in mips_find_saved_regs Content-Type: multipart/mixed; boundary="------------E8712B07DE0D0C1B7DE4131B" X-SW-Source: 2002-08/txt/msg00119.txt.bz2 This is a multi-part message in MIME format. --------------E8712B07DE0D0C1B7DE4131B Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-length: 148 Here is a test that should check for stack/register size, not whether target == mips64. Fixes four failures in callfuncs.exp, no other regressions. --------------E8712B07DE0D0C1B7DE4131B Content-Type: text/plain; charset=us-ascii; name="patch2.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch2.diff" Content-length: 1332 2002-08-05 Michael Snyder * mips-tdep.c (mips_find_saved_regs): Adjust stack according to MIPS_SAVED_REGSIZE, not GDB_TARGET_IS_MIPS64. N32 is not MIPS64, but it does save 64 bits worth of register. Index: mips-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/mips-tdep.c,v retrieving revision 1.88 diff -p -r1.88 mips-tdep.c *** mips-tdep.c 1 Aug 2002 23:10:34 -0000 1.88 --- mips-tdep.c 6 Aug 2002 04:32:33 -0000 *************** mips_find_saved_regs (struct frame_info *** 1371,1379 **** were saved. */ reg_position = fci->frame + PROC_FREG_OFFSET (proc_desc); ! /* The freg_offset points to where the first *double* register ! is saved. So skip to the high-order word. */ ! if (!GDB_TARGET_IS_MIPS64) reg_position += MIPS_SAVED_REGSIZE; /* Fill in the offsets for the float registers which float_mask says --- 1371,1379 ---- were saved. */ reg_position = fci->frame + PROC_FREG_OFFSET (proc_desc); ! /* The freg_offset points to where the first *double* register is ! saved. So skip to the high-order word if saved_reg_size == 4. */ ! if (MIPS_SAVED_REGSIZE == 4) reg_position += MIPS_SAVED_REGSIZE; /* Fill in the offsets for the float registers which float_mask says --------------E8712B07DE0D0C1B7DE4131B--