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]

Re: Infinite loop in make_cv_type



> Any suggestions as to how the stabs reader might be getting ahead of 
> itself?  Is there another function that might be returning the stabs 
> string?  I don't think dbx_next_symbol_text has ever returned this 
> earlier...

Dead simple really.  The stabs on the ARM are broken into very short 
strings for historical reasons (there was once an assembler that couldn't 
cope with stabs strings of more than about 100 characters).  We are simply 
running off the end of a stabs string without calling STABS_CONTINUE.  
Thus we end up parsing the following string twice: once on the overrun and 
the second when dbx_next_symbol_text returns it.

OK to apply?

R.

<date>  Richard Earnshaw  (rearnsha@arm.com)

	* stabsread.c (read_member_functions): Call STABS_CONTINUE after 
	skipping a method.


Index: stabsread.c
===================================================================
RCS file: /cvs/src/src/gdb/stabsread.c,v
retrieving revision 1.27
diff -p -r1.27 stabsread.c
*** stabsread.c	2002/02/20 18:40:52	1.27
--- stabsread.c	2002/02/22 19:39:29
*************** read_member_functions (struct field_info
*** 3104,3109 ****
--- 3104,3110 ----
  	    (*pp) ++;
  	  (*pp) ++;
  
+ 	  STABS_CONTINUE (pp, objfile);
  	  continue;
  	}
  

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