This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch/hppa-linux] MD_FALLBACK_FRAME_STATE_FOR definition
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: randolph at tausq dot org
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 6 May 2004 14:37:46 -0400 (EDT)
- Subject: Re: [patch/hppa-linux] MD_FALLBACK_FRAME_STATE_FOR definition
> > [This overloading is pretty typical. MIPS stores the original syscall
> > number in the GPR slot for $0.]
>
> indeed this is what the kernel stores at that position, but does gcc
> also consider gr0 as the psw?
GCC isn't aware of the signal context as far as code generation goes.
When read, gr0 is always 0. It's value can't be changed.
I'm guessing that MD_FALLBACK_FRAME_STATE_FOR doesn't have to do
an absolutely perfect restoration of the context, so we don't have
to worry about the state of the psw. That means that we should
never restore to a conditionally nullified instruction, etc. This
probably isn't a problem if we restore to the start of a "catch".
However, I think we should try to restore cr11. This is register
88 in the 32-bit compiler.
I noticed in pa-signal.h that linux uses the syscall define
SYS_rt_sigaction is and hpux uses SYS_sigaction.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)