From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18494 invoked by alias); 18 Jun 2004 10:35:09 -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 18396 invoked from network); 18 Jun 2004 10:35:06 -0000 Received: from unknown (HELO sohm.kpit.com) (203.129.230.82) by sourceware.org with SMTP; 18 Jun 2004 10:35:06 -0000 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: [Patch H8/300] : Fix for crashing of gdb with" info f" command Date: Fri, 18 Jun 2004 10:35:00 -0000 Message-ID: <4A1BE23A7B777442B60F4B4916AE0F1301AE175D@sohm.kpit.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Sherry Samuel" To: X-SW-Source: 2004-06/txt/msg00428.txt.bz2 Hi, GDB6.1 for H8/300 targets crashes with "info f" command with a breakpoint = in main.=20 ***************************************************************************= ******************* Try the code below with h8300-elf toolchain ----------------Start of bug.c --------------------- 1 int main() 2 { 3 int i; 4 5 i=3D0; 6 } ----------------End of bug.c ------------------------ Compile with h8300-elf-gcc bug.c -g Load the a.out file produced into gdb simulator. Put a break point in line = 2 of main and run gdb.=20 When the control reaches the breakpoint at main, try to get the frame infor= mation by the "info f"=20 command. The gdb crashes. While just before entering main, the frame pointer register is not set. It = contains 0x00. At this point=20 if we try to take the frame information by "info f" command the gdb crashes= . After the frame pointer=20 register is set, gdb will not crash by the "info f" command. This bug is not observed for gdb6.1 for SH targets. ***************************************************************************= *********************** Please find the patch below which fixes the same. ******************CHANGELOG TEXT*******************************************= ************************ 2004-06-18 Sherry Samuel * h8300-tdep.c (h8300_frame_init_saved_regs) : Check whether frame base=20 is null.=09 ***************************************************************************= ************************ --- gdb-6.1/gdb/h8300-tdep.c.old 2004-06-17 15:57:18.000000000 +0530 +++ gdb-6.1/gdb/h8300-tdep.c 2004-06-17 17:08:54.000000000 +0530 @@ -500,8 +500,8 @@ h8300_frame_init_saved_regs (struct fram CORE_ADDR limit =3D (sal.end && sal.end < get_frame_pc (fi)) ? sal.end : get_frame_pc (fi); /* This will fill in fields in fi. */ - - + if(!get_frame_base (fi))//check whether frame is null. + return null_frame_id;//if null return =20 h8300_examine_prologue (func_addr, limit, get_frame_base (fi), deprecated_get_frame_saved_regs (fi), fi); ***************************************************************************= ************ =09 Regards, Sherry Samuel, KPIT Cummins InfoSystems Ltd. Pune, India ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Free download of GNU based tool-chains for Renesas' SH and H8 Series. The following site also offers free technical support to its users.=20 Visit http://www.kpitgnutools.com for details.=20 Latest versions of KPIT GNU tools are released on June 1, 2004. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=20