https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89222
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Not confirming since it is unclear even on what OS you are using this and what to look for (I don't see r5 set close to start of main etc.). That said, if hal_setjmp works similarly to setjmp, but you don't actually tell the compiler it has that behavior through __attribute__((__returns_twice__)) and it doesn't have one of the standard setjmp names, like setjmp, sigsetjmp, savectx, vfork or getcontext (with optional _ or __ prefixes), then it surprises me if it works at all.