On 02/02/18 20:55, Eric Botcazou wrote: >> But, that is not what the builtin setjmp/longjmp tests have. > > Yes, but I don't think that we want to risk breaking a working compiler on > some targets because peculiar tests don't pass on another. I think that > init_eh is OK for x32 so SJLJ exceptions work and the issue is only with the > undocumented builtin setjmp/longjmp. > > What happens on Aarch64 -milp32 for example? Would it be OK to save/restore > only 32-bit values? And MIPS n32? >
No. At least, not for the frame pointer on AArch64. If the caller has used FP as a normal register, then all 64 bits must be preserved. The same is true of any other register that might also be used as a non-frame-related register. R.