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: Support for "break *ADDRESS thread THREADNO"


On Tue, Apr 12, 2005 at 09:46:31PM +0300, Eli Zaretskii wrote:
> In addition to the above, I don't like the idea of supporting a
> general feature in language-specific files.  That seems wrong.
> 
> Why was it done like this? because "*ADDRESS" is interpreted as an
> expression in the current language, or is there some other reason?

I assume so.  It is parsed as an expression, not just an address; for
instance "break *thread" would actually work if thread is a pointer to
a function.

There's already common code for this, that's where most of the 'thread
THREADNO' support is.  I think it's in linespec.c somewhere, but it
might be in breakpoint.c.  It seems to need a little extra help from
the language... we need to know that a 'thread NUMBER' suffix is not
part of the expression.

TBH, the mechanism is fragile; I can't think of a more robust way but
there must be one.  Right now if and thread are handled similarly.  But
if separates two expressions, whereas thread can only be followed by a
thread number.  Perhaps that can be used to simplify.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


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