[patch/rfc] Try to get dummy calls working on hpux again

Andrew Cagney cagney@gnu.org
Thu Jun 10 20:42:00 GMT 2004


>>Can push_dummy_call set these space registers, and the generic pop dummy 
>>> frame code restore them?
> 
> 
> No. Unfortunately it's not possible to use the regular ttrace mechanism
> to set the pcsqh/pcsqt (aka iasq[0] and iasq[1]) registers.... bascially
> you need to execute a bit of code:
> 
> (assuming pcoqh (aka pc) is in r21 and pcsqh is in r22)
> ldsid (%r22), %r1
> mtsp %r1, %sr0
> be 0(%sr0, %r21)
> 
> this branches to (%r22, %r21), thereby setting the space register ...

Sigh (the relevant code will need comments explaining this).  Are you 
absolutely positively certain this is true (for both HP/UX 10.20 / 
11.xx)? :-)

Also that sequence in the call path, the return path, or both?

Having the dummy-code containing a non-trivial sequence of instructions 
opens up the problem of needing to be able to step through them.  Issues 
similar to the grief I've been going through with signal trampolines.

Andrew




More information about the Gdb-patches mailing list