From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Blandy To: gdb-patches@sources.redhat.com Subject: PATCH: S/390: handle sp element of saved_regs array correctly Date: Tue, 27 Nov 2001 19:37:00 -0000 Message-id: <20011128033835.4A43A5E9D8@zwingli.cygnus.com> X-SW-Source: 2001-11/msg00521.html 2001-11-27 Jim Blandy * s390-tdep.c (s390_frame_chain): Remember that the SP's element of the frame's saved_regs array is special. Index: gdb/s390-tdep.c =================================================================== RCS file: /cvs/cvsfiles/devo/gdb/s390-tdep.c,v retrieving revision 2.19 diff -c -r2.19 s390-tdep.c *** gdb/s390-tdep.c 2001/11/28 03:18:34 2.19 --- gdb/s390-tdep.c 2001/11/28 03:31:35 *************** *** 974,991 **** { if (thisframe->saved_regs) { - int regno; - regno = - ((prev_fextra_info.frame_pointer_saved_pc - && thisframe-> - saved_regs[S390_FRAME_REGNUM]) ? S390_FRAME_REGNUM : - S390_SP_REGNUM); if (thisframe->saved_regs[regno]) ! prev_fp = ! read_memory_integer (thisframe->saved_regs[regno], ! S390_GPR_SIZE); } } } --- 974,997 ---- { if (thisframe->saved_regs) { int regno; + + if (prev_fextra_info.frame_pointer_saved_pc + && thisframe->saved_regs[S390_FRAME_REGNUM]) + regno = S390_FRAME_REGNUM; + else + regno = S390_SP_REGNUM; if (thisframe->saved_regs[regno]) ! { ! /* The SP's entry of `saved_regs' is special. */ ! if (regno == S390_SP_REGNUM) ! prev_fp = thisframe->saved_regs[regno]; ! else ! prev_fp = ! read_memory_integer (thisframe->saved_regs[regno], ! S390_GPR_SIZE); ! } } } } From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14967 invoked by alias); 28 Nov 2001 03:37:20 -0000 Mailing-List: contact gdb-patches-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 14945 invoked from network); 28 Nov 2001 03:37:19 -0000 Received: from unknown (HELO zwingli.cygnus.com) (208.245.165.35) by hostedprojects.ges.redhat.com with SMTP; 28 Nov 2001 03:37:19 -0000 Received: by zwingli.cygnus.com (Postfix, from userid 442) id 4A43A5E9D8; Tue, 27 Nov 2001 22:38:35 -0500 (EST) From: Jim Blandy To: gdb-patches@sources.redhat.com Subject: PATCH: S/390: handle sp element of saved_regs array correctly Message-ID: <20011128033835.4A43A5E9D8@zwingli.cygnus.com> Date: Thu, 15 Nov 2001 10:28:00 -0000 X-SW-Source: 2001-11/txt/msg00306.txt.bz2 Message-ID: <20011115102800.0Oq97r6KJ8meYrLMn0DCQ9-luhb_Jdlp6hI2GQyngZc@z> 2001-11-27 Jim Blandy * s390-tdep.c (s390_frame_chain): Remember that the SP's element of the frame's saved_regs array is special. Index: gdb/s390-tdep.c =================================================================== RCS file: /cvs/cvsfiles/devo/gdb/s390-tdep.c,v retrieving revision 2.19 diff -c -r2.19 s390-tdep.c *** gdb/s390-tdep.c 2001/11/28 03:18:34 2.19 --- gdb/s390-tdep.c 2001/11/28 03:31:35 *************** *** 974,991 **** { if (thisframe->saved_regs) { - int regno; - regno = - ((prev_fextra_info.frame_pointer_saved_pc - && thisframe-> - saved_regs[S390_FRAME_REGNUM]) ? S390_FRAME_REGNUM : - S390_SP_REGNUM); if (thisframe->saved_regs[regno]) ! prev_fp = ! read_memory_integer (thisframe->saved_regs[regno], ! S390_GPR_SIZE); } } } --- 974,997 ---- { if (thisframe->saved_regs) { int regno; + + if (prev_fextra_info.frame_pointer_saved_pc + && thisframe->saved_regs[S390_FRAME_REGNUM]) + regno = S390_FRAME_REGNUM; + else + regno = S390_SP_REGNUM; if (thisframe->saved_regs[regno]) ! { ! /* The SP's entry of `saved_regs' is special. */ ! if (regno == S390_SP_REGNUM) ! prev_fp = thisframe->saved_regs[regno]; ! else ! prev_fp = ! read_memory_integer (thisframe->saved_regs[regno], ! S390_GPR_SIZE); ! } } } }