This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[Patch H8/300] : Fix for crashing of gdb with" info f" command
- From: "Sherry Samuel" <SherryS at KPITCummins dot com>
- To: <gdb-patches at sources dot redhat dot com>
- Date: Fri, 18 Jun 2004 16:01:30 +0530
- Subject: [Patch H8/300] : Fix for crashing of gdb with" info f" command
Hi,
GDB6.1 for H8/300 targets crashes with "info f" command with a breakpoint in main.
**********************************************************************************************
Try the code below with h8300-elf toolchain
----------------Start of bug.c ---------------------
1 int main()
2 {
3 int i;
4
5 i=0;
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.
When the control reaches the breakpoint at main, try to get the frame information by the "info f"
command. The gdb crashes.
While just before entering main, the frame pointer register is not set. It contains 0x00. At this point
if we try to take the frame information by "info f" command the gdb crashes. After the frame pointer
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 <SherryS@KPITCummins.com>
* h8300-tdep.c (h8300_frame_init_saved_regs) : Check whether frame base
is null.
***************************************************************************************************
--- 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 = (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
h8300_examine_prologue (func_addr, limit, get_frame_base (fi),
deprecated_get_frame_saved_regs (fi), fi);
***************************************************************************************
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.
Visit http://www.kpitgnutools.com for details.
Latest versions of KPIT GNU tools are released on June 1, 2004.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~