This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Restoration of arg pointer in expand_builtin_setjmp_receiver
- To: rth at redhat dot com (Richard Henderson)
- Subject: Re: Restoration of arg pointer in expand_builtin_setjmp_receiver
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Fri, 24 Aug 2001 12:22:22 -0400 (EDT)
- Cc: gcc-bugs at gcc dot gnu dot org
> On Thu, Aug 23, 2001 at 11:54:39PM -0400, John David Anglin wrote:
> > Why are we using `virtual_incoming_args_rtx' rather than `arg_pointer_rtx'?
>
> I have no idea. I don't fancy touching it though, since there
> probably was a reason.
I think the reason is the calculation done in fix_lexical_address would
need to take account the offset between virtual_incoming_args_rtx and
arg_pointer_rtx. I am wondering if all this couldn't be further simplified
with get_hard_reg_initial_val. I know this always saves the hard reg
in a stack slot when setjmp is used but I am not sure about nonlocal
gotos (hmmm, don't think the PA defines nonlocal_goto_receiver--the
pic offset table register probably needs to be restored for this to
work in shared libraries).
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)