diff --git a/libc/src/setjmp/riscv/longjmp.cpp b/libc/src/setjmp/riscv/longjmp.cpp index 0f9537ccc41510..b14f636659ac32 100644 --- a/libc/src/setjmp/riscv/longjmp.cpp +++ b/libc/src/setjmp/riscv/longjmp.cpp @@ -30,6 +30,7 @@ namespace LIBC_NAMESPACE_DECL { +[[gnu::naked]] LLVM_LIBC_FUNCTION(void, longjmp, (__jmp_buf * buf, int val)) { LOAD(ra, buf->__pc); LOAD(s0, buf->__regs[0]); diff --git a/libc/src/setjmp/riscv/setjmp.cpp b/libc/src/setjmp/riscv/setjmp.cpp index 12def578b56f34..92982cc9d74d42 100644 --- a/libc/src/setjmp/riscv/setjmp.cpp +++ b/libc/src/setjmp/riscv/setjmp.cpp @@ -29,6 +29,7 @@ namespace LIBC_NAMESPACE_DECL { +[[gnu::naked]] LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) { STORE(ra, buf->__pc); STORE(s0, buf->__regs[0]);