diff --git a/libc/src/signal/linux/CMakeLists.txt b/libc/src/signal/linux/CMakeLists.txt --- a/libc/src/signal/linux/CMakeLists.txt +++ b/libc/src/signal/linux/CMakeLists.txt @@ -15,7 +15,6 @@ ../kill.h DEPENDS libc.include.signal - libc.include.errno libc.src.errno.errno libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -100,7 +99,6 @@ ../sigemptyset.h DEPENDS .signal_utils - libc.include.errno libc.include.signal libc.src.errno.errno ) @@ -113,7 +111,6 @@ ../sigaddset.h DEPENDS .signal_utils - libc.include.errno libc.include.signal libc.src.errno.errno ) @@ -137,7 +134,6 @@ ../sigfillset.h DEPENDS .signal_utils - libc.include.errno libc.include.signal libc.src.errno.errno ) @@ -150,7 +146,6 @@ ../sigdelset.h DEPENDS .signal_utils - libc.include.errno libc.include.signal libc.src.errno.errno ) diff --git a/libc/src/signal/linux/kill.cpp b/libc/src/signal/linux/kill.cpp --- a/libc/src/signal/linux/kill.cpp +++ b/libc/src/signal/linux/kill.cpp @@ -9,11 +9,10 @@ #include "src/signal/kill.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. -#include "src/signal/linux/signal_utils.h" - #include "src/__support/common.h" +#include "src/errno/libc_errno.h" +#include "src/signal/linux/signal_utils.h" -#include #include #include // For syscall numbers. @@ -25,7 +24,7 @@ // A negative return value indicates an error with the magnitude of the // value being the error code. if (ret != 0) { - errno = (ret > 0 ? ret : -ret); + libc_errno = (ret > 0 ? ret : -ret); return -1; } diff --git a/libc/src/signal/linux/sigaction.cpp b/libc/src/signal/linux/sigaction.cpp --- a/libc/src/signal/linux/sigaction.cpp +++ b/libc/src/signal/linux/sigaction.cpp @@ -7,11 +7,11 @@ //===----------------------------------------------------------------------===// #include "src/signal/sigaction.h" +#include "src/errno/libc_errno.h" #include "src/signal/linux/signal_utils.h" #include "src/__support/common.h" -#include #include namespace __llvm_libc { @@ -38,7 +38,7 @@ SYS_rt_sigaction, signal, libc_new ? &kernel_new : nullptr, libc_old ? &kernel_old : nullptr, sizeof(sigset_t)); if (ret) { - errno = -ret; + libc_errno = -ret; return -1; } diff --git a/libc/src/signal/linux/sigaddset.cpp b/libc/src/signal/linux/sigaddset.cpp --- a/libc/src/signal/linux/sigaddset.cpp +++ b/libc/src/signal/linux/sigaddset.cpp @@ -8,9 +8,9 @@ #include "src/signal/sigaddset.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include "src/signal/linux/signal_utils.h" -#include #include namespace __llvm_libc { @@ -18,7 +18,7 @@ LLVM_LIBC_FUNCTION(int, sigaddset, (sigset_t * set, int signum)) { if (set != nullptr && add_signal(*set, signum)) return 0; - errno = EINVAL; + libc_errno = EINVAL; return -1; } diff --git a/libc/src/signal/linux/sigaltstack.cpp b/libc/src/signal/linux/sigaltstack.cpp --- a/libc/src/signal/linux/sigaltstack.cpp +++ b/libc/src/signal/linux/sigaltstack.cpp @@ -7,11 +7,11 @@ //===----------------------------------------------------------------------===// #include "src/signal/sigaltstack.h" +#include "src/errno/libc_errno.h" #include "src/signal/linux/signal_utils.h" #include "src/__support/common.h" -#include #include #include @@ -25,18 +25,18 @@ // Flags cannot have anything other than SS_DISABLE set. // We do the type-casting to unsigned because the |ss_flags| // field of stack_t is of type "int". - errno = EINVAL; + libc_errno = EINVAL; return -1; } if (ss->ss_size < MINSIGSTKSZ) { - errno = ENOMEM; + libc_errno = ENOMEM; return -1; } } int ret = __llvm_libc::syscall_impl(SYS_sigaltstack, ss, oss); if (ret < 0) { - errno = -ret; + libc_errno = -ret; return -1; } return 0; diff --git a/libc/src/signal/linux/sigdelset.cpp b/libc/src/signal/linux/sigdelset.cpp --- a/libc/src/signal/linux/sigdelset.cpp +++ b/libc/src/signal/linux/sigdelset.cpp @@ -8,9 +8,9 @@ #include "src/signal/sigdelset.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include "src/signal/linux/signal_utils.h" -#include #include namespace __llvm_libc { @@ -18,7 +18,7 @@ LLVM_LIBC_FUNCTION(int, sigdelset, (sigset_t * set, int signum)) { if (set != nullptr && delete_signal(*set, signum)) return 0; - errno = EINVAL; + libc_errno = EINVAL; return -1; } diff --git a/libc/src/signal/linux/sigemptyset.cpp b/libc/src/signal/linux/sigemptyset.cpp --- a/libc/src/signal/linux/sigemptyset.cpp +++ b/libc/src/signal/linux/sigemptyset.cpp @@ -7,18 +7,18 @@ //===----------------------------------------------------------------------===// #include "src/signal/sigemptyset.h" +#include "src/errno/libc_errno.h" #include "src/signal/linux/signal_utils.h" #include "src/__support/common.h" -#include #include namespace __llvm_libc { LLVM_LIBC_FUNCTION(int, sigemptyset, (sigset_t * set)) { if (!set) { - errno = EINVAL; + libc_errno = EINVAL; return -1; } *set = empty_set(); diff --git a/libc/src/signal/linux/sigfillset.cpp b/libc/src/signal/linux/sigfillset.cpp --- a/libc/src/signal/linux/sigfillset.cpp +++ b/libc/src/signal/linux/sigfillset.cpp @@ -8,16 +8,16 @@ #include "src/signal/sigfillset.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include "src/signal/linux/signal_utils.h" -#include #include namespace __llvm_libc { LLVM_LIBC_FUNCTION(int, sigfillset, (sigset_t * set)) { if (!set) { - errno = EINVAL; + libc_errno = EINVAL; return -1; } *set = full_set(); diff --git a/libc/src/signal/linux/sigprocmask.cpp b/libc/src/signal/linux/sigprocmask.cpp --- a/libc/src/signal/linux/sigprocmask.cpp +++ b/libc/src/signal/linux/sigprocmask.cpp @@ -9,11 +9,11 @@ #include "src/signal/sigprocmask.h" #include "include/sys/syscall.h" // For syscall numbers. #include "src/__support/OSUtil/syscall.h" // For internal syscall function. +#include "src/errno/libc_errno.h" #include "src/signal/linux/signal_utils.h" #include "src/__support/common.h" -#include #include namespace __llvm_libc { @@ -26,7 +26,7 @@ if (!ret) return 0; - errno = -ret; + libc_errno = -ret; return -1; } diff --git a/libc/src/termios/linux/cfsetispeed.cpp b/libc/src/termios/linux/cfsetispeed.cpp --- a/libc/src/termios/linux/cfsetispeed.cpp +++ b/libc/src/termios/linux/cfsetispeed.cpp @@ -9,8 +9,8 @@ #include "src/termios/cfsetispeed.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" -#include #include namespace __llvm_libc { @@ -19,7 +19,7 @@ constexpr speed_t NOT_SPEED_MASK = ~speed_t(CBAUD); // A speed value is valid only if it is equal to one of the B values. if (t == nullptr || ((speed & NOT_SPEED_MASK) != 0)) { - errno = EINVAL; + libc_errno = EINVAL; return -1; } diff --git a/libc/src/termios/linux/cfsetospeed.cpp b/libc/src/termios/linux/cfsetospeed.cpp --- a/libc/src/termios/linux/cfsetospeed.cpp +++ b/libc/src/termios/linux/cfsetospeed.cpp @@ -7,10 +7,10 @@ //===----------------------------------------------------------------------===// #include "src/termios/cfsetospeed.h" +#include "src/errno/libc_errno.h" #include "src/__support/common.h" -#include #include namespace __llvm_libc { @@ -19,7 +19,7 @@ constexpr speed_t NOT_SPEED_MASK = ~speed_t(CBAUD); // A speed value is valid only if it is equal to one of the B values. if (t == nullptr || ((speed & NOT_SPEED_MASK) != 0)) { - errno = EINVAL; + libc_errno = EINVAL; return -1; } diff --git a/libc/src/termios/linux/tcdrain.cpp b/libc/src/termios/linux/tcdrain.cpp --- a/libc/src/termios/linux/tcdrain.cpp +++ b/libc/src/termios/linux/tcdrain.cpp @@ -10,9 +10,9 @@ #include "src/__support/OSUtil/syscall.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // Safe to include without the risk of name pollution. -#include #include // For syscall numbers #include diff --git a/libc/src/termios/linux/tcflow.cpp b/libc/src/termios/linux/tcflow.cpp --- a/libc/src/termios/linux/tcflow.cpp +++ b/libc/src/termios/linux/tcflow.cpp @@ -10,9 +10,9 @@ #include "src/__support/OSUtil/syscall.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // Safe to include without the risk of name pollution. -#include #include // For syscall numbers #include @@ -21,7 +21,7 @@ LLVM_LIBC_FUNCTION(int, tcflow, (int fd, int action)) { long ret = __llvm_libc::syscall_impl(SYS_ioctl, fd, TCXONC, action); if (ret < 0) { - errno = -ret; + libc_errno = -ret; return -1; } return 0; diff --git a/libc/src/termios/linux/tcflush.cpp b/libc/src/termios/linux/tcflush.cpp --- a/libc/src/termios/linux/tcflush.cpp +++ b/libc/src/termios/linux/tcflush.cpp @@ -10,9 +10,9 @@ #include "src/__support/OSUtil/syscall.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // Safe to include without the risk of name pollution. -#include #include // For syscall numbers #include diff --git a/libc/src/termios/linux/tcgetattr.cpp b/libc/src/termios/linux/tcgetattr.cpp --- a/libc/src/termios/linux/tcgetattr.cpp +++ b/libc/src/termios/linux/tcgetattr.cpp @@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // Safe to include without the risk of name pollution. -#include #include // For syscall numbers #include @@ -23,7 +23,7 @@ __llvm_libc::kernel_termios kt; long ret = __llvm_libc::syscall_impl(SYS_ioctl, fd, TCGETS, &kt); if (ret < 0) { - errno = -ret; + libc_errno = -ret; return -1; } t->c_iflag = kt.c_iflag; diff --git a/libc/src/termios/linux/tcgetsid.cpp b/libc/src/termios/linux/tcgetsid.cpp --- a/libc/src/termios/linux/tcgetsid.cpp +++ b/libc/src/termios/linux/tcgetsid.cpp @@ -10,9 +10,9 @@ #include "src/__support/OSUtil/syscall.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // Safe to include without the risk of name pollution. -#include #include // For syscall numbers #include diff --git a/libc/src/termios/linux/tcsendbreak.cpp b/libc/src/termios/linux/tcsendbreak.cpp --- a/libc/src/termios/linux/tcsendbreak.cpp +++ b/libc/src/termios/linux/tcsendbreak.cpp @@ -10,9 +10,9 @@ #include "src/__support/OSUtil/syscall.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // Safe to include without the risk of name pollution. -#include #include // For syscall numbers #include @@ -24,7 +24,7 @@ // zero. So, we just pass zero to the syscall. long ret = __llvm_libc::syscall_impl(SYS_ioctl, fd, TCSBRK, 0); if (ret < 0) { - errno = -ret; + libc_errno = -ret; return -1; } return 0; diff --git a/libc/src/termios/linux/tcsetattr.cpp b/libc/src/termios/linux/tcsetattr.cpp --- a/libc/src/termios/linux/tcsetattr.cpp +++ b/libc/src/termios/linux/tcsetattr.cpp @@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // Safe to include without the risk of name pollution. -#include #include // For syscall numbers #include @@ -35,7 +35,7 @@ cmd = TCSETSF; break; default: - errno = EINVAL; + libc_errno = EINVAL; return -1; } @@ -53,7 +53,7 @@ long ret = __llvm_libc::syscall_impl(SYS_ioctl, fd, cmd, &kt); if (ret < 0) { - errno = -ret; + libc_errno = -ret; return -1; } return 0;