A lot of the original code to handle dummy calls were ripped out of
hppa-tdep.c in March. This patch brings back some of that logic so that
we can start to make it work again on hpux.
The PA has "space registers" (like segment registers on x86, sort of).
We don't use this for hppa-linux, so simply using push_dummy_call was
enough. HPUX uses it though....
Because the caller and callee may be in different spaces, we need to go
through some hoops to set/reset the space registers across calls. The
original code had many special cases to handle multiple targets, and
multiple function types. This only brings back some of that logic, and
it only works for 32-bit SOM at the moment. My plan is to try to fix
this incrementally rather than get it "perfect" on the first try....