Re: [RFA] New GDB target iq2000

Mark Kettenis
2005-03-05T20:18:00Z

Date: Sat, 5 Mar 2005 14:37:39 -0500
From: Daniel Jacobowitz <drow@false.org>

> That suggestion has been made more than once in the past; I don't
> really consider this viable for architectures where instructions
> aren't fixed length.

Could you explain why that particular property makes a difference?

Makes it difficult to ignore instructions; GDB has to know the length
of them in order to skip them.

Here's one I've been thinking about in particular: some instructions
are "safe" to simulate on a running process, though not all. When a
breakpoint covers an instruction which is "safe", we can simulate the
instruction instead of having to remove the breakpoint and single-step.
Huge win with threads.

Yikes! Well if it helps...

> Anyway, I think most problems are caused because we are trying to use
> the same code for two distinct cases: (a) getting an upper limit for
> the prologue end and (b) getting a lower limit for the prologue end.
> Combining (a) and (b) results in having to determine the end of the
> prologue exactly, which is much harder.

Just checking, but first-line breakpoints should go at the lower limit
and scanning until the upper limit - is that right?

Yup. Although the lower-limit for first-line breakpoints may cause
bogus parameter values to be printed. I consider that less a problem
than my program unexpectedly running to completion though. The
problem is that some people tend to think differently and we never
reached consensus about it.

Mark