Re: [rfc] Displaced stepping with wrong entry point address

Ulrich Weigand
2008-09-04T19:28:56Z

Daniel Jacobowitz wrote:
> On Fri, Aug 22, 2008 at 07:48:46PM +0200, Ulrich Weigand wrote:
> > I'm wondering whether this fix would be good for the general case too
> > -- there may be situations where entry_point_address does not work
> > (e.g. because the main executable file could not be loaded). The
> > auxiliary vector, on targets where it is present, will probably be
> > more reliable ...
>
> We really ought to cache this value; you'll go back and forth to the
> target to read the auxv vector at every singlestep.

Good point. I guess the cache would need to be reset from within a
inferior_created observer? I'll give it a try ...

> If SPU ever did support displaced stepping (not that this would be
> terribly useful, but consider some other multi-architecture case),
> would this be wrong for the SPU side code?

Yes, of course -- we have different address spaces here, and we need
to find a location within the address space of the current thread where
to place the displaced instruction. No single address would work for
both PowerPC and SPU code in a combined application.

But I guess SPU could always install its own callback to handle those
special cases ... (just as we install the ON_STACK dummy call location
method because the AT_ENTRY method doesn't work for combined applications.)