The implementation of setjmp is provided as some module-level inline assembly as a COMDAT function. If we pass -fno-builtin, then this is found in C and C++. If we do not, then C++ still finds it but C does not and then setjmp is expanded to a libcall later. I believe that we need to mark the calling convention of setjmp and longjmp as C (we currently mark all builtins as CHERI_LIBCALL).