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: [patch/rfc] Try to get dummy calls working on hpux again


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



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