This is the mail archive of the gdb@sourceware.org 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: recursive bug in dwarf2read.c


On Wed, Dec 09, 2009 at 10:55:30AM +0000, Gaius Mulley wrote:
> 
> Hi,
> 
> I think there is a bug in dwarf2read.c which can be exposed by
> attempting to set a break point at RealIO_WriteFixed in this
> executable.
> 
> I acknowledge the (gnu modula-2 generated executable) could probably
> be at fault, nevertheless it does contain cyclic data structures which
> are not explicitly created in the same way as C.  For example:
> 
> 
> TYPE
>   ScanState =  PROCEDURE (CHAR, VAR ScanClass, VAR ScanState);

See e.g. this from read_structure_type:

  /* We need to add the type field to the die immediately so we don't
     infinitely recurse when dealing with pointers to the structure
     type within the structure itself. */
  set_die_type (die, type, cu);

It looks as if read_subroutine_type does not do that, but now has to.

-- 
Daniel Jacobowitz
CodeSourcery


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