[libc] remove #include <fcntl.h> and add proxy or type (#113836) GitOrigin-RevId: abc49cc19463970d5523d7d3332e4c1f83bc2ef7
diff --git a/hdr/CMakeLists.txt b/hdr/CMakeLists.txt index 13dc892..80545ee 100644 --- a/hdr/CMakeLists.txt +++ b/hdr/CMakeLists.txt
@@ -51,10 +51,13 @@ libc.include.llvm-libc-macros.generic_error_number_macros ) +add_header_library(fcntl_overlay HDRS fcntl_overlay.h) add_proxy_header_library( fcntl_macros HDRS fcntl_macros.h + DEPENDS + .fcntl_overlay FULL_BUILD_DEPENDS libc.include.llvm-libc-macros.fcntl_macros libc.include.fcntl
diff --git a/hdr/fcntl_macros.h b/hdr/fcntl_macros.h index 828cb98..3a1ddeb 100644 --- a/hdr/fcntl_macros.h +++ b/hdr/fcntl_macros.h
@@ -15,7 +15,7 @@ #else // Overlay mode -#include <fcntl.h> +#include "hdr/fcntl_overlay.h" #endif // LLVM_LIBC_FULL_BUILD
diff --git a/hdr/fcntl_overlay.h b/hdr/fcntl_overlay.h new file mode 100644 index 0000000..c1cc98b --- /dev/null +++ b/hdr/fcntl_overlay.h
@@ -0,0 +1,37 @@ +//===-- Including fcntl.h in overlay mode ---------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_HDR_FCNTL_OVERLAY_H +#define LLVM_LIBC_HDR_FCNTL_OVERLAY_H + +#ifdef LIBC_FULL_BUILD +#error "This header should only be included in overlay mode" +#endif + +// Overlay mode + +// glibc <fcntl.h> header might provide extern inline definitions for few +// functions, causing external alias errors. They are guarded by +// `__USE_FORTIFY_LEVEL`, which will be temporarily disabled +// with `_FORTIFY_SOURCE`. + +#ifdef __USE_FORTIFY_LEVEL +#define LIBC_OLD_USE_FORTIFY_LEVEL __USE_FORTIFY_LEVEL +#undef __USE_FORTIFY_LEVEL +#define __USE_FORTIFY_LEVEL 0 +#endif + +#include <fcntl.h> + +#ifdef LIBC_OLD_USE_FORTIFY_LEVEL +#undef __USE_FORTIFY_LEVEL +#define __USE_FORTIFY_LEVEL LIBC_OLD_USE_FORTIFY_LEVEL +#undef LIBC_OLD_USE_FORTIFY_LEVEL +#endif + +#endif // LLVM_LIBC_HDR_FCNTL_OVERLAY_H
diff --git a/hdr/types/CMakeLists.txt b/hdr/types/CMakeLists.txt index fab5245..e459798 100644 --- a/hdr/types/CMakeLists.txt +++ b/hdr/types/CMakeLists.txt
@@ -47,6 +47,17 @@ ) add_proxy_header_library( + mode_t + HDRS + mode_t.h + DEPENDS + ../fcntl_overlay + FULL_BUILD_DEPENDS + libc.include.llvm-libc-types.mode_t + libc.include.fcntl +) + +add_proxy_header_library( fenv_t HDRS fenv_t.h
diff --git a/hdr/types/mode_t.h b/hdr/types/mode_t.h new file mode 100644 index 0000000..abbbdb0 --- /dev/null +++ b/hdr/types/mode_t.h
@@ -0,0 +1,22 @@ +//===-- Definition of macros from mode_t.h --------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_HDR_MODE_T_H +#define LLVM_LIBC_HDR_MODE_T_H + +#ifdef LIBC_FULL_BUILD + +#include "include/llvm-libc-types/mode_t.h" + +#else // Overlay mode + +#include "hdr/fcntl_overlay.h" + +#endif // LLVM_LIBC_FULL_BUILD + +#endif // LLVM_LIBC_HDR_MODE_T_H
diff --git a/src/__support/File/linux/CMakeLists.txt b/src/__support/File/linux/CMakeLists.txt index 5abbf11..84e3d56 100644 --- a/src/__support/File/linux/CMakeLists.txt +++ b/src/__support/File/linux/CMakeLists.txt
@@ -7,7 +7,7 @@ file.h lseekImpl.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_syscall libc.include.sys_stat libc.src.__support.CPP.new @@ -55,7 +55,7 @@ SRCS dir.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_syscall libc.src.__support.OSUtil.osutil libc.src.__support.error_or
diff --git a/src/__support/File/linux/dir.cpp b/src/__support/File/linux/dir.cpp index fc90ff0..5fe44fa 100644 --- a/src/__support/File/linux/dir.cpp +++ b/src/__support/File/linux/dir.cpp
@@ -12,7 +12,7 @@ #include "src/__support/error_or.h" #include "src/__support/macros/config.h" -#include <fcntl.h> // For open flags +#include "hdr/fcntl_macros.h" // For open flags #include <sys/syscall.h> // For syscall numbers namespace LIBC_NAMESPACE_DECL {
diff --git a/src/__support/File/linux/file.cpp b/src/__support/File/linux/file.cpp index 2229233..824c1f2 100644 --- a/src/__support/File/linux/file.cpp +++ b/src/__support/File/linux/file.cpp
@@ -18,7 +18,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" // For error macros -#include <fcntl.h> // For mode_t and other flags to the open syscall +#include "hdr/fcntl_macros.h" // For mode_t and other flags to the open syscall #include <sys/stat.h> // For S_IS*, S_IF*, and S_IR* flags. #include <sys/syscall.h> // For syscall numbers
diff --git a/src/__support/threads/linux/CMakeLists.txt b/src/__support/threads/linux/CMakeLists.txt index b6796f4..fa11458 100644 --- a/src/__support/threads/linux/CMakeLists.txt +++ b/src/__support/threads/linux/CMakeLists.txt
@@ -79,7 +79,7 @@ .futex_utils libc.config.app_h libc.include.sys_syscall - libc.include.fcntl + libc.hdr.fcntl_macros libc.src.errno.errno libc.src.__support.CPP.atomic libc.src.__support.CPP.stringstream
diff --git a/src/__support/threads/linux/thread.cpp b/src/__support/threads/linux/thread.cpp index ee3f63f..c531d74 100644 --- a/src/__support/threads/linux/thread.cpp +++ b/src/__support/threads/linux/thread.cpp
@@ -22,7 +22,7 @@ #include <arm_acle.h> #endif -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <linux/param.h> // For EXEC_PAGESIZE. #include <linux/prctl.h> // For PR_SET_NAME #include <linux/sched.h> // For CLONE_* flags.
diff --git a/src/fcntl/creat.h b/src/fcntl/creat.h index e180e17..3e00427 100644 --- a/src/fcntl/creat.h +++ b/src/fcntl/creat.h
@@ -9,8 +9,8 @@ #ifndef LLVM_LIBC_SRC_FCNTL_CREAT_H #define LLVM_LIBC_SRC_FCNTL_CREAT_H +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" -#include <fcntl.h> namespace LIBC_NAMESPACE_DECL {
diff --git a/src/fcntl/linux/CMakeLists.txt b/src/fcntl/linux/CMakeLists.txt index ee8ae63..ecfb2cd 100644 --- a/src/fcntl/linux/CMakeLists.txt +++ b/src/fcntl/linux/CMakeLists.txt
@@ -5,7 +5,7 @@ HDRS ../creat.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.src.__support.OSUtil.osutil libc.src.errno.errno ) @@ -17,7 +17,7 @@ HDRS ../fcntl.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.src.__support.OSUtil.osutil ) @@ -28,7 +28,7 @@ HDRS ../open.h DEPENDS - libc.include.fcntl + libc.hdr.types.mode_t libc.src.__support.OSUtil.osutil libc.src.errno.errno ) @@ -40,7 +40,7 @@ HDRS ../openat.h DEPENDS - libc.include.fcntl + libc.hdr.types.mode_t libc.src.__support.OSUtil.osutil libc.src.errno.errno )
diff --git a/src/fcntl/linux/creat.cpp b/src/fcntl/linux/creat.cpp index 2c5b5d7..23abae2 100644 --- a/src/fcntl/linux/creat.cpp +++ b/src/fcntl/linux/creat.cpp
@@ -13,7 +13,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/fcntl/linux/open.cpp b/src/fcntl/linux/open.cpp index 79b7b2b..9f3d035 100644 --- a/src/fcntl/linux/open.cpp +++ b/src/fcntl/linux/open.cpp
@@ -13,7 +13,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> +#include "hdr/types/mode_t.h" #include <stdarg.h> #include <sys/syscall.h> // For syscall numbers.
diff --git a/src/fcntl/linux/openat.cpp b/src/fcntl/linux/openat.cpp index 0862082..6063d9c 100644 --- a/src/fcntl/linux/openat.cpp +++ b/src/fcntl/linux/openat.cpp
@@ -13,7 +13,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> +#include "hdr/types/mode_t.h" #include <stdarg.h> #include <sys/syscall.h> // For syscall numbers.
diff --git a/src/fcntl/open.h b/src/fcntl/open.h index 19bb53c..11f0ae5 100644 --- a/src/fcntl/open.h +++ b/src/fcntl/open.h
@@ -9,8 +9,8 @@ #ifndef LLVM_LIBC_SRC_FCNTL_OPEN_H #define LLVM_LIBC_SRC_FCNTL_OPEN_H +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" -#include <fcntl.h> namespace LIBC_NAMESPACE_DECL {
diff --git a/src/fcntl/openat.h b/src/fcntl/openat.h index d09791a..051c8a2 100644 --- a/src/fcntl/openat.h +++ b/src/fcntl/openat.h
@@ -9,8 +9,8 @@ #ifndef LLVM_LIBC_SRC_FCNTL_OPENAT_H #define LLVM_LIBC_SRC_FCNTL_OPENAT_H +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" -#include <fcntl.h> namespace LIBC_NAMESPACE_DECL {
diff --git a/src/spawn/linux/CMakeLists.txt b/src/spawn/linux/CMakeLists.txt index 9ef3a9d..5f7ab4c 100644 --- a/src/spawn/linux/CMakeLists.txt +++ b/src/spawn/linux/CMakeLists.txt
@@ -5,7 +5,7 @@ HDRS ../posix_spawn.h DEPENDS - libc.include.fcntl + libc.hdr.types.mode_t libc.include.spawn libc.include.sys_syscall libc.include.signal
diff --git a/src/spawn/linux/posix_spawn.cpp b/src/spawn/linux/posix_spawn.cpp index 4c0469b..d6caf8b 100644 --- a/src/spawn/linux/posix_spawn.cpp +++ b/src/spawn/linux/posix_spawn.cpp
@@ -14,7 +14,7 @@ #include "src/__support/macros/config.h" #include "src/spawn/file_actions.h" -#include <fcntl.h> +#include "hdr/types/mode_t.h" #include <signal.h> // For SIGCHLD #include <spawn.h> #include <sys/syscall.h> // For syscall numbers.
diff --git a/src/stdio/linux/CMakeLists.txt b/src/stdio/linux/CMakeLists.txt index d6241e1..e81642d 100644 --- a/src/stdio/linux/CMakeLists.txt +++ b/src/stdio/linux/CMakeLists.txt
@@ -5,7 +5,7 @@ HDRS ../remove.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil
diff --git a/src/stdio/linux/remove.cpp b/src/stdio/linux/remove.cpp index 9e299aa..dbb4491 100644 --- a/src/stdio/linux/remove.cpp +++ b/src/stdio/linux/remove.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" // For AT_* macros. #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> // For AT_* macros. #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/sys/stat/linux/CMakeLists.txt b/src/sys/stat/linux/CMakeLists.txt index 415d2fa..7c9496b 100644 --- a/src/sys/stat/linux/CMakeLists.txt +++ b/src/sys/stat/linux/CMakeLists.txt
@@ -5,7 +5,7 @@ HDRS ../chmod.h DEPENDS - libc.include.fcntl + libc.hdr.types.mode_t libc.include.sys_stat libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -19,6 +19,7 @@ HDRS ../fchmod.h DEPENDS + libc.hdr.types.mode_t libc.include.sys_stat libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -45,7 +46,7 @@ HDRS ../mkdir.h DEPENDS - libc.include.fcntl + libc.hdr.types.mode_t libc.include.sys_stat libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -84,7 +85,7 @@ ../stat.h DEPENDS .kernel_statx - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno ) @@ -97,7 +98,7 @@ ../lstat.h DEPENDS .kernel_statx - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno ) @@ -110,7 +111,7 @@ ../fstat.h DEPENDS .kernel_statx - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno )
diff --git a/src/sys/stat/linux/chmod.cpp b/src/sys/stat/linux/chmod.cpp index c91cabb..9d28603 100644 --- a/src/sys/stat/linux/chmod.cpp +++ b/src/sys/stat/linux/chmod.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/types/mode_t.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/stat.h> #include <sys/syscall.h> // For syscall numbers.
diff --git a/src/sys/stat/linux/fchmod.cpp b/src/sys/stat/linux/fchmod.cpp index 7b6c7b7..0d6fd35 100644 --- a/src/sys/stat/linux/fchmod.cpp +++ b/src/sys/stat/linux/fchmod.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/types/mode_t.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/stat.h> #include <sys/syscall.h> // For syscall numbers.
diff --git a/src/sys/stat/linux/fstat.cpp b/src/sys/stat/linux/fstat.cpp index 411aa47..35cf8f0 100644 --- a/src/sys/stat/linux/fstat.cpp +++ b/src/sys/stat/linux/fstat.cpp
@@ -13,7 +13,7 @@ #include "src/__support/common.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> namespace LIBC_NAMESPACE_DECL {
diff --git a/src/sys/stat/linux/lstat.cpp b/src/sys/stat/linux/lstat.cpp index 5a6eff0..354c5b6 100644 --- a/src/sys/stat/linux/lstat.cpp +++ b/src/sys/stat/linux/lstat.cpp
@@ -14,7 +14,7 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> namespace LIBC_NAMESPACE_DECL {
diff --git a/src/sys/stat/linux/mkdir.cpp b/src/sys/stat/linux/mkdir.cpp index 527c3d2..bd6efef 100644 --- a/src/sys/stat/linux/mkdir.cpp +++ b/src/sys/stat/linux/mkdir.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/types/mode_t.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/stat.h> #include <sys/syscall.h> // For syscall numbers.
diff --git a/src/sys/stat/linux/stat.cpp b/src/sys/stat/linux/stat.cpp index c5149e6..de9cdb1 100644 --- a/src/sys/stat/linux/stat.cpp +++ b/src/sys/stat/linux/stat.cpp
@@ -13,7 +13,7 @@ #include "src/__support/common.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/CMakeLists.txt b/src/unistd/linux/CMakeLists.txt index 9b0d752..472438c 100644 --- a/src/unistd/linux/CMakeLists.txt +++ b/src/unistd/linux/CMakeLists.txt
@@ -5,6 +5,7 @@ HDRS ../access.h DEPENDS + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -57,7 +58,7 @@ HDRS ../dup2.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -254,7 +255,7 @@ HDRS ../link.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -268,7 +269,7 @@ HDRS ../linkat.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -377,7 +378,7 @@ HDRS ../rmdir.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -391,7 +392,7 @@ HDRS ../readlink.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -405,7 +406,7 @@ HDRS ../readlinkat.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -419,7 +420,7 @@ HDRS ../symlink.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -433,7 +434,7 @@ HDRS ../symlinkat.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -485,7 +486,7 @@ HDRS ../unlink.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -499,7 +500,7 @@ HDRS ../unlinkat.h DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.include.sys_syscall libc.src.__support.OSUtil.osutil
diff --git a/src/unistd/linux/access.cpp b/src/unistd/linux/access.cpp index e9ad749..2f7ebbc 100644 --- a/src/unistd/linux/access.cpp +++ b/src/unistd/linux/access.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/dup2.cpp b/src/unistd/linux/dup2.cpp index 51a19a7..c7c7c1a 100644 --- a/src/unistd/linux/dup2.cpp +++ b/src/unistd/linux/dup2.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/link.cpp b/src/unistd/linux/link.cpp index 37ca58e..477806a 100644 --- a/src/unistd/linux/link.cpp +++ b/src/unistd/linux/link.cpp
@@ -13,7 +13,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/linkat.cpp b/src/unistd/linux/linkat.cpp index fcd6a5f..40f68cc 100644 --- a/src/unistd/linux/linkat.cpp +++ b/src/unistd/linux/linkat.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/readlink.cpp b/src/unistd/linux/readlink.cpp index 7b15245..2055e6b 100644 --- a/src/unistd/linux/readlink.cpp +++ b/src/unistd/linux/readlink.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/readlinkat.cpp b/src/unistd/linux/readlinkat.cpp index 19a9ff9..e5e4d0d 100644 --- a/src/unistd/linux/readlinkat.cpp +++ b/src/unistd/linux/readlinkat.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/rmdir.cpp b/src/unistd/linux/rmdir.cpp index 8974468..075af12 100644 --- a/src/unistd/linux/rmdir.cpp +++ b/src/unistd/linux/rmdir.cpp
@@ -13,7 +13,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/symlink.cpp b/src/unistd/linux/symlink.cpp index 5efd4df..9e1b288 100644 --- a/src/unistd/linux/symlink.cpp +++ b/src/unistd/linux/symlink.cpp
@@ -13,7 +13,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/symlinkat.cpp b/src/unistd/linux/symlinkat.cpp index 63d2e6d..bcf2d0f 100644 --- a/src/unistd/linux/symlinkat.cpp +++ b/src/unistd/linux/symlinkat.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/unlink.cpp b/src/unistd/linux/unlink.cpp index de7cae8..72d8e23 100644 --- a/src/unistd/linux/unlink.cpp +++ b/src/unistd/linux/unlink.cpp
@@ -11,9 +11,9 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "hdr/fcntl_macros.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/src/unistd/linux/unlinkat.cpp b/src/unistd/linux/unlinkat.cpp index e794f24..4ed20f5 100644 --- a/src/unistd/linux/unlinkat.cpp +++ b/src/unistd/linux/unlinkat.cpp
@@ -13,7 +13,7 @@ #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/syscall.h> // For syscall numbers. namespace LIBC_NAMESPACE_DECL {
diff --git a/test/src/fcntl/CMakeLists.txt b/test/src/fcntl/CMakeLists.txt index 48048b7..b522fef 100644 --- a/test/src/fcntl/CMakeLists.txt +++ b/test/src/fcntl/CMakeLists.txt
@@ -42,7 +42,7 @@ SRCS openat_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.src.errno.errno libc.src.fcntl.open libc.src.fcntl.openat
diff --git a/test/src/fcntl/openat_test.cpp b/test/src/fcntl/openat_test.cpp index 9dafd12..547359e 100644 --- a/test/src/fcntl/openat_test.cpp +++ b/test/src/fcntl/openat_test.cpp
@@ -14,7 +14,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" TEST(LlvmLibcUniStd, OpenAndReadTest) { using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
diff --git a/test/src/sys/sendfile/CMakeLists.txt b/test/src/sys/sendfile/CMakeLists.txt index 82efaa1..ceaa4ac 100644 --- a/test/src/sys/sendfile/CMakeLists.txt +++ b/test/src/sys/sendfile/CMakeLists.txt
@@ -9,7 +9,7 @@ SRCS sendfile_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.fcntl.open
diff --git a/test/src/sys/sendfile/sendfile_test.cpp b/test/src/sys/sendfile/sendfile_test.cpp index 5902543..a658212 100644 --- a/test/src/sys/sendfile/sendfile_test.cpp +++ b/test/src/sys/sendfile/sendfile_test.cpp
@@ -17,7 +17,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> namespace cpp = LIBC_NAMESPACE::cpp;
diff --git a/test/src/sys/stat/CMakeLists.txt b/test/src/sys/stat/CMakeLists.txt index 877a129..dd3d093 100644 --- a/test/src/sys/stat/CMakeLists.txt +++ b/test/src/sys/stat/CMakeLists.txt
@@ -9,7 +9,7 @@ SRCS chmod_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.fcntl.open @@ -25,7 +25,7 @@ SRCS fchmodat_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.fcntl.open @@ -41,7 +41,7 @@ SRCS fchmod_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.fcntl.open @@ -57,7 +57,7 @@ SRCS mkdirat_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.sys.stat.mkdirat @@ -71,7 +71,7 @@ SRCS stat_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.sys.stat.stat @@ -87,7 +87,7 @@ SRCS lstat_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.sys.stat.lstat @@ -103,7 +103,7 @@ SRCS fstat_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_stat libc.src.errno.errno libc.src.sys.stat.fstat
diff --git a/test/src/sys/stat/chmod_test.cpp b/test/src/sys/stat/chmod_test.cpp index c688996..83ab0f4 100644 --- a/test/src/sys/stat/chmod_test.cpp +++ b/test/src/sys/stat/chmod_test.cpp
@@ -14,7 +14,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> TEST(LlvmLibcChmodTest, ChangeAndOpen) {
diff --git a/test/src/sys/stat/fchmod_test.cpp b/test/src/sys/stat/fchmod_test.cpp index 91c0f68..03eb79d 100644 --- a/test/src/sys/stat/fchmod_test.cpp +++ b/test/src/sys/stat/fchmod_test.cpp
@@ -14,7 +14,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> TEST(LlvmLibcChmodTest, ChangeAndOpen) {
diff --git a/test/src/sys/stat/fchmodat_test.cpp b/test/src/sys/stat/fchmodat_test.cpp index c43ef8a..09970b6 100644 --- a/test/src/sys/stat/fchmodat_test.cpp +++ b/test/src/sys/stat/fchmodat_test.cpp
@@ -14,7 +14,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> TEST(LlvmLibcFchmodatTest, ChangeAndOpen) {
diff --git a/test/src/sys/stat/fstat_test.cpp b/test/src/sys/stat/fstat_test.cpp index 1379eae..34c675d 100644 --- a/test/src/sys/stat/fstat_test.cpp +++ b/test/src/sys/stat/fstat_test.cpp
@@ -14,7 +14,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> TEST(LlvmLibcFStatTest, CreatAndReadMode) {
diff --git a/test/src/sys/stat/lstat_test.cpp b/test/src/sys/stat/lstat_test.cpp index b44b3d1..a723d5a 100644 --- a/test/src/sys/stat/lstat_test.cpp +++ b/test/src/sys/stat/lstat_test.cpp
@@ -14,7 +14,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> TEST(LlvmLibcLStatTest, CreatAndReadMode) {
diff --git a/test/src/sys/stat/mkdirat_test.cpp b/test/src/sys/stat/mkdirat_test.cpp index cbacc16..85e013d 100644 --- a/test/src/sys/stat/mkdirat_test.cpp +++ b/test/src/sys/stat/mkdirat_test.cpp
@@ -11,7 +11,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" TEST(LlvmLibcMkdiratTest, CreateAndRemove) { using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
diff --git a/test/src/sys/stat/stat_test.cpp b/test/src/sys/stat/stat_test.cpp index baf3633..0ddd8ba 100644 --- a/test/src/sys/stat/stat_test.cpp +++ b/test/src/sys/stat/stat_test.cpp
@@ -14,7 +14,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> TEST(LlvmLibcStatTest, CreatAndReadMode) {
diff --git a/test/src/unistd/CMakeLists.txt b/test/src/unistd/CMakeLists.txt index e03e56b..ce936ce 100644 --- a/test/src/unistd/CMakeLists.txt +++ b/test/src/unistd/CMakeLists.txt
@@ -24,11 +24,12 @@ SRCS chdir_test.cpp DEPENDS + libc.hdr.fcntl_macros libc.include.unistd libc.src.errno.errno - libc.src.fcntl.open libc.src.unistd.chdir libc.src.unistd.close + libc.src.fcntl.open libc.test.UnitTest.ErrnoSetterMatcher ) @@ -223,7 +224,7 @@ SRCS rmdir_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.src.errno.errno libc.src.sys.stat.mkdir libc.src.unistd.rmdir @@ -262,7 +263,7 @@ SRCS readlinkat_test.cpp DEPENDS - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.unistd libc.src.errno.errno libc.src.unistd.readlinkat @@ -410,7 +411,7 @@ syscall_test.cpp DEPENDS libc.include.unistd - libc.include.fcntl + libc.hdr.fcntl_macros libc.include.sys_syscall libc.src.errno.errno libc.src.unistd.__llvm_libc_syscall
diff --git a/test/src/unistd/chdir_test.cpp b/test/src/unistd/chdir_test.cpp index 51dc7bb..e1bdcd7 100644 --- a/test/src/unistd/chdir_test.cpp +++ b/test/src/unistd/chdir_test.cpp
@@ -13,7 +13,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" TEST(LlvmLibcChdirTest, ChangeAndOpen) { // The idea of this test is that we will first open an existing test file
diff --git a/test/src/unistd/fchdir_test.cpp b/test/src/unistd/fchdir_test.cpp index ae88e1f..0e39fde 100644 --- a/test/src/unistd/fchdir_test.cpp +++ b/test/src/unistd/fchdir_test.cpp
@@ -13,7 +13,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" TEST(LlvmLibcChdirTest, ChangeAndOpen) { // The idea of this test is that we will first open an existing test file
diff --git a/test/src/unistd/readlinkat_test.cpp b/test/src/unistd/readlinkat_test.cpp index 1fa683b..9e4bb9a 100644 --- a/test/src/unistd/readlinkat_test.cpp +++ b/test/src/unistd/readlinkat_test.cpp
@@ -15,7 +15,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" namespace cpp = LIBC_NAMESPACE::cpp;
diff --git a/test/src/unistd/rmdir_test.cpp b/test/src/unistd/rmdir_test.cpp index 93cb0f3..4f4cd94 100644 --- a/test/src/unistd/rmdir_test.cpp +++ b/test/src/unistd/rmdir_test.cpp
@@ -12,7 +12,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" TEST(LlvmLibcRmdirTest, CreateAndRemove) { using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
diff --git a/test/src/unistd/syscall_test.cpp b/test/src/unistd/syscall_test.cpp index cee29bd..f6cc3ea 100644 --- a/test/src/unistd/syscall_test.cpp +++ b/test/src/unistd/syscall_test.cpp
@@ -11,7 +11,7 @@ #include "test/UnitTest/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include <fcntl.h> +#include "hdr/fcntl_macros.h" #include <sys/stat.h> // For S_* flags. #include <sys/syscall.h> // For syscall numbers. #include <unistd.h>