This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]