Restoration of arg pointer in expand_builtin_setjmp_receiver
John David Anglin
dave@hiauly1.hia.nrc.ca
Thu Aug 23 13:03:00 GMT 2001
I have been looking into why throw/catch doesn't work on vax-dec-ultrix4.3.
The vax needs its arg pointer restored after a longjmp. The arg pointer
is supposed to be restored by code generated by expand_builtin_setjmp_receiver.
However, for the restore to work, the arg pointer must be saved in the frame.
This is done by expand_function_end. It checks arg_pointer_save_area
to see if the code to save the arg pointer should be emitted. However,
when doing eh, expand_builtin_setjmp_receiver isn't called until AFTER
expand_function_end. Thus, the save is never done.
Any suggestions on the best way to fix this?
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
More information about the Gcc-bugs
mailing list