On Tuesday 01 March 2005 15:29, Petko Manolov wrote: > On Tue, 1 Mar 2005, Paul Brook wrote: > > The "old" arm-none-elf and arm-linux targets still use SJLJ exceptions. > > They will probably never be "fixed" as this would involve an ABI change. > > Didn't understand that. How is all non scratch FP registers save at the > prologue related to the exceptions?
Because SJLJ exception handling is implemented using __builtin_setjmp/__builtin_longjmp. These do not save/restore FP register state. If an exception is thrown the FP state will be that at the throwing location. Thus the prologue must save all call-saved registers if there is a possibility that an exception will be caught. Paul