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: [RFA] Avoid recursivly defined user functions.


Michael Snyder <msnyder@redhat.com> writes:

|> Paul Hilfinger wrote:
|> > 
|> > > Executing a recursively defined user function results in a core-dump from
|> > > gdb:
|> > 
|> > ...
|> > 
|> > > The following patch catches recursive user function definitions and
|> > > disallowes them:
|> > 
|> > Is the segmentation fault the result of stack overflow? 
|> 
|> Yes it is.
|> 
|> > If so, I
|> > point out that there is an 'if' statement, so recursive commands are
|> > not necessarily wrong, are they?
|> 
|> No they're not.  So it's a judgement call.  Is it more important
|> to allow recursive macros, or to prevent GDB from dumping core?
|> We're basically running an interpreter here...
|> 
|> I guess one thing we could do would be to impose an arbitrary
|> (possibly user-settable) stack depth limit.  That's more work, 
|> of course...

The simple minded check in Don's patch won't catch many cases of infinite
recursion anyway (mutual recursion, command invocation with arguments).

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE GmbH, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


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