http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
Richard Henderson <rth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rth at gcc dot gnu.org --- Comment #25 from Richard Henderson <rth at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #23) > Does it look OK? I would not say that __builtin_setjmp is more efficient. It really saves just as many registers, except that it has help from the containing function's prologue/epilogue to do so, rather than saving them all within the jmpbuf. Which means that the set of registers saved is the ISA under which the setjmp was compiled. Which makes the builtin less flexible than the libc variant when it comes to ISA extensions such as we see on ARM and PPC. I'm not keen on encouraging any user to use these functions. It's simply not worth it to us as maintainers. The fact that we've got code in libgcc that uses them means that we must continue to have these functions callable by some means. If folks would be happier if we hid these from users by making them only callable with some special option like -fbuild-libgcc, I could live with that.