Author: Schrodinger ZHU Yifan
Date: 2025-04-24T19:32:58-04:00
New Revision: 8ce5c04559d3c66700fa8e62bcc47a6b02c29535

URL: 
https://github.com/llvm/llvm-project/commit/8ce5c04559d3c66700fa8e62bcc47a6b02c29535
DIFF: 
https://github.com/llvm/llvm-project/commit/8ce5c04559d3c66700fa8e62bcc47a6b02c29535.diff

LOG: update jmp_buf.h to always gate this by __linux__

Added: 
    

Modified: 
    libc/include/llvm-libc-types/jmp_buf.h

Removed: 
    


################################################################################
diff  --git a/libc/include/llvm-libc-types/jmp_buf.h 
b/libc/include/llvm-libc-types/jmp_buf.h
index a6638b222138a..90bd60d741293 100644
--- a/libc/include/llvm-libc-types/jmp_buf.h
+++ b/libc/include/llvm-libc-types/jmp_buf.h
@@ -9,7 +9,13 @@
 #ifndef LLVM_LIBC_TYPES_JMP_BUF_H
 #define LLVM_LIBC_TYPES_JMP_BUF_H
 
-#if defined(__i386__) || defined(__x86_64__)
+// TODO: implement sigjmp_buf related functions for other architectures
+// Issue: https://github.com/llvm/llvm-project/issues/136358
+#if defined(__linux__) && (defined(__i386__) || defined(__x86_64__))
+#define __LIBC_HAS_SIGJMP_BUF
+#endif
+
+#if defined(__LIBC_HAS_SIGJMP_BUF)
 #include "sigset_t.h"
 #endif
 
@@ -54,9 +60,7 @@ typedef struct {
 #else
 #error "__jmp_buf not available for your target architecture."
 #endif
-  // TODO: implement sigjmp_buf related functions for other architectures
-  // Issue: https://github.com/llvm/llvm-project/issues/136358
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__LIBC_HAS_SIGJMP_BUF)
   // return address
   void *sig_retaddr;
   // extra register buffer to avoid indefinite stack growth in sigsetjmp
@@ -68,7 +72,10 @@ typedef struct {
 
 typedef __jmp_buf jmp_buf[1];
 
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__LIBC_HAS_SIGJMP_BUF)
 typedef __jmp_buf sigjmp_buf[1];
 #endif
+
+#undef __LIBC_HAS_SIGJMP_BUF
+
 #endif // LLVM_LIBC_TYPES_JMP_BUF_H


        
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to