From 8b3b549ea70538d62bdc857e3588fab1e1f99fcf Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 20 Mar 2024 10:19:45 -0700 Subject: [PATCH 1/6] [libc] stop including unistd.h in src/ It's not hermetic to include the system libc's headers and is one of the reasons why our linter bot has been very red for a long time. This is starting to be an issue for new contributors as well, since we're now getting conflicts between the parts of our codebase that are hermetic, vs parts that aren't. I need to think about a rule of thumb or policy that can be publicly documented so that we don't backslide. I should probably clean up test/ as well, but let's clean up just src/ to unblock fellow contributors. Link: https://github.com/llvm/llvm-project/pull/85514#discussion_r1532078163 --- libc/src/unistd/dup.h | 2 -- libc/src/unistd/dup2.h | 2 -- libc/src/unistd/dup3.h | 2 -- libc/src/unistd/fork.h | 2 +- libc/src/unistd/ftruncate.h | 2 +- libc/src/unistd/getcwd.h | 2 +- libc/src/unistd/geteuid.h | 2 +- libc/src/unistd/getopt.h | 4 ++-- libc/src/unistd/getpid.h | 2 +- libc/src/unistd/getppid.h | 2 +- libc/src/unistd/getuid.h | 2 +- libc/src/unistd/isatty.h | 2 -- libc/src/unistd/link.h | 2 -- libc/src/unistd/linux/ftruncate.cpp | 4 ++-- libc/src/unistd/linux/lseek.cpp | 4 ++-- libc/src/unistd/linux/readlink.cpp | 4 +++- libc/src/unistd/linux/readlinkat.cpp | 4 +++- libc/src/unistd/linux/sysconf.cpp | 3 +-- libc/src/unistd/linux/truncate.cpp | 2 +- libc/src/unistd/lseek.h | 2 +- libc/src/unistd/pread.h | 4 +++- libc/src/unistd/pwrite.h | 4 +++- libc/src/unistd/read.h | 3 ++- libc/src/unistd/readlink.h | 3 ++- libc/src/unistd/readlinkat.h | 3 ++- libc/src/unistd/swab.h | 2 +- libc/src/unistd/symlink.h | 2 -- libc/src/unistd/symlinkat.h | 2 -- libc/src/unistd/syscall.h | 3 --- libc/src/unistd/sysconf.h | 2 -- libc/src/unistd/truncate.h | 2 +- libc/src/unistd/write.h | 3 ++- 32 files changed, 38 insertions(+), 46 deletions(-) diff --git a/libc/src/unistd/dup.h b/libc/src/unistd/dup.h index d6daa5a9ad74d..786aa8a3401a0 100644 --- a/libc/src/unistd/dup.h +++ b/libc/src/unistd/dup.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_DUP_H #define LLVM_LIBC_SRC_UNISTD_DUP_H -#include - namespace LIBC_NAMESPACE { int dup(int fd); diff --git a/libc/src/unistd/dup2.h b/libc/src/unistd/dup2.h index ba8c5f4b16010..669dcb6bfb481 100644 --- a/libc/src/unistd/dup2.h +++ b/libc/src/unistd/dup2.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_DUP2_H #define LLVM_LIBC_SRC_UNISTD_DUP2_H -#include - namespace LIBC_NAMESPACE { int dup2(int oldfd, int newfd); diff --git a/libc/src/unistd/dup3.h b/libc/src/unistd/dup3.h index 2b1082403daff..fe81452cce65c 100644 --- a/libc/src/unistd/dup3.h +++ b/libc/src/unistd/dup3.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_DUP3_H #define LLVM_LIBC_SRC_UNISTD_DUP3_H -#include - namespace LIBC_NAMESPACE { int dup3(int oldfd, int newfd, int flags); diff --git a/libc/src/unistd/fork.h b/libc/src/unistd/fork.h index 6b1b72a7dfc08..1fc97c2383eb8 100644 --- a/libc/src/unistd/fork.h +++ b/libc/src/unistd/fork.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_FORK_H #define LLVM_LIBC_SRC_UNISTD_FORK_H -#include +#include "include/llvm-libc-types/pid_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/ftruncate.h b/libc/src/unistd/ftruncate.h index 5508ef0718e94..6d207c57805ce 100644 --- a/libc/src/unistd/ftruncate.h +++ b/libc/src/unistd/ftruncate.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_FTRUNCATE_H #define LLVM_LIBC_SRC_UNISTD_FTRUNCATE_H -#include +#include "include/llvm-libc-types/off_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/getcwd.h b/libc/src/unistd/getcwd.h index ab7038e453276..c9ce1eb3f36f8 100644 --- a/libc/src/unistd/getcwd.h +++ b/libc/src/unistd/getcwd.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_GETCWD_H #define LLVM_LIBC_SRC_UNISTD_GETCWD_H -#include +#include "include/llvm-libc-types/size_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/geteuid.h b/libc/src/unistd/geteuid.h index f19cbaefd5792..9b602caba9304 100644 --- a/libc/src/unistd/geteuid.h +++ b/libc/src/unistd/geteuid.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_GETEUID_H #define LLVM_LIBC_SRC_UNISTD_GETEUID_H -#include +#include "include/llvm-libc-types/uid_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/getopt.h b/libc/src/unistd/getopt.h index ae27958756f44..32f4f54095c72 100644 --- a/libc/src/unistd/getopt.h +++ b/libc/src/unistd/getopt.h @@ -9,8 +9,8 @@ #ifndef LLVM_LIBC_SRC_UNISTD_GETOPT_H #define LLVM_LIBC_SRC_UNISTD_GETOPT_H -#include -#include +#include "include/llvm-libc-types/FILE.h" +#include "src/__support/common.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/getpid.h b/libc/src/unistd/getpid.h index 5890dbf63681a..09c7af247b9a4 100644 --- a/libc/src/unistd/getpid.h +++ b/libc/src/unistd/getpid.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_GETPID_H #define LLVM_LIBC_SRC_UNISTD_GETPID_H -#include +#include "include/llvm-libc-types/pid_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/getppid.h b/libc/src/unistd/getppid.h index a09c7ca224187..0db76ae34a7ba 100644 --- a/libc/src/unistd/getppid.h +++ b/libc/src/unistd/getppid.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_GETPPID_H #define LLVM_LIBC_SRC_UNISTD_GETPPID_H -#include +#include "include/llvm-libc-types/pid_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/getuid.h b/libc/src/unistd/getuid.h index 35163783518c7..7d042d2d6420d 100644 --- a/libc/src/unistd/getuid.h +++ b/libc/src/unistd/getuid.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_GETUID_H #define LLVM_LIBC_SRC_UNISTD_GETUID_H -#include +#include "include/llvm-libc-types/uid_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/isatty.h b/libc/src/unistd/isatty.h index 90a169730fe04..361cbeae43385 100644 --- a/libc/src/unistd/isatty.h +++ b/libc/src/unistd/isatty.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_ISATTY_H #define LLVM_LIBC_SRC_UNISTD_ISATTY_H -#include - namespace LIBC_NAMESPACE { int isatty(int fd); diff --git a/libc/src/unistd/link.h b/libc/src/unistd/link.h index a95111f3a7f96..1485a62760eb3 100644 --- a/libc/src/unistd/link.h +++ b/libc/src/unistd/link.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_LINK_H #define LLVM_LIBC_SRC_UNISTD_LINK_H -#include - namespace LIBC_NAMESPACE { int link(const char *, const char *); diff --git a/libc/src/unistd/linux/ftruncate.cpp b/libc/src/unistd/linux/ftruncate.cpp index 795bb98ceae0c..25175825cc6c7 100644 --- a/libc/src/unistd/linux/ftruncate.cpp +++ b/libc/src/unistd/linux/ftruncate.cpp @@ -8,13 +8,13 @@ #include "src/unistd/ftruncate.h" +#include "include/llvm-libc-types/off_t.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" - #include "src/errno/libc_errno.h" + #include // For uint64_t. #include // For syscall numbers. -#include namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/linux/lseek.cpp b/libc/src/unistd/linux/lseek.cpp index 6f3d9937db245..30ff1f38b0dbe 100644 --- a/libc/src/unistd/linux/lseek.cpp +++ b/libc/src/unistd/linux/lseek.cpp @@ -7,14 +7,14 @@ //===----------------------------------------------------------------------===// #include "src/unistd/lseek.h" -#include "src/errno/libc_errno.h" +#include "include/llvm-libc-types/off_t.h" #include "src/__support/File/linux/lseekImpl.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "src/errno/libc_errno.h" #include // For syscall numbers. -#include // For off_t. namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/linux/readlink.cpp b/libc/src/unistd/linux/readlink.cpp index 8dee58c8f215f..ee82b81f1a528 100644 --- a/libc/src/unistd/linux/readlink.cpp +++ b/libc/src/unistd/linux/readlink.cpp @@ -8,10 +8,12 @@ #include "src/unistd/readlink.h" +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" - #include "src/errno/libc_errno.h" + #include #include // For syscall numbers. diff --git a/libc/src/unistd/linux/readlinkat.cpp b/libc/src/unistd/linux/readlinkat.cpp index 479735d4f4d3d..937eb4d5142e3 100644 --- a/libc/src/unistd/linux/readlinkat.cpp +++ b/libc/src/unistd/linux/readlinkat.cpp @@ -8,10 +8,12 @@ #include "src/unistd/readlinkat.h" +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" - #include "src/errno/libc_errno.h" + #include #include // For syscall numbers. diff --git a/libc/src/unistd/linux/sysconf.cpp b/libc/src/unistd/linux/sysconf.cpp index d4577c8d3d769..7c0149975403f 100644 --- a/libc/src/unistd/linux/sysconf.cpp +++ b/libc/src/unistd/linux/sysconf.cpp @@ -8,12 +8,11 @@ #include "src/unistd/sysconf.h" +#include "include/llvm-libc-macros/linux/unistd-macros.h" #include "src/__support/common.h" - #include "src/errno/libc_errno.h" #include "src/sys/auxv/getauxval.h" #include -#include namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/linux/truncate.cpp b/libc/src/unistd/linux/truncate.cpp index 0120cc738a921..63cee9e6d8671 100644 --- a/libc/src/unistd/linux/truncate.cpp +++ b/libc/src/unistd/linux/truncate.cpp @@ -8,13 +8,13 @@ #include "src/unistd/truncate.h" +#include "include/llvm-libc-types/off_t.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" #include "src/errno/libc_errno.h" #include // For uint64_t. #include // For syscall numbers. -#include namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/lseek.h b/libc/src/unistd/lseek.h index 75e33d8a6987d..7130418b47528 100644 --- a/libc/src/unistd/lseek.h +++ b/libc/src/unistd/lseek.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_LSEEK_H #define LLVM_LIBC_SRC_UNISTD_LSEEK_H -#include +#include "include/llvm-libc-types/off_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/pread.h b/libc/src/unistd/pread.h index 6ecfef4c82c60..ec932e1f6fe8e 100644 --- a/libc/src/unistd/pread.h +++ b/libc/src/unistd/pread.h @@ -9,7 +9,9 @@ #ifndef LLVM_LIBC_SRC_UNISTD_PREAD_H #define LLVM_LIBC_SRC_UNISTD_PREAD_H -#include +#include "include/llvm-libc-types/off_t.h" +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/pwrite.h b/libc/src/unistd/pwrite.h index 535c9217c2353..98d57e4e59de3 100644 --- a/libc/src/unistd/pwrite.h +++ b/libc/src/unistd/pwrite.h @@ -9,7 +9,9 @@ #ifndef LLVM_LIBC_SRC_UNISTD_PWRITE_H #define LLVM_LIBC_SRC_UNISTD_PWRITE_H -#include +#include "include/llvm-libc-types/off_t.h" +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/read.h b/libc/src/unistd/read.h index 05a56a2fdeaeb..76ac2ff28879e 100644 --- a/libc/src/unistd/read.h +++ b/libc/src/unistd/read.h @@ -9,7 +9,8 @@ #ifndef LLVM_LIBC_SRC_UNISTD_READ_H #define LLVM_LIBC_SRC_UNISTD_READ_H -#include +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/readlink.h b/libc/src/unistd/readlink.h index c93c430988c79..908f84332b45f 100644 --- a/libc/src/unistd/readlink.h +++ b/libc/src/unistd/readlink.h @@ -9,7 +9,8 @@ #ifndef LLVM_LIBC_SRC_UNISTD_READLINK_H #define LLVM_LIBC_SRC_UNISTD_READLINK_H -#include +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/readlinkat.h b/libc/src/unistd/readlinkat.h index a4357efec1a1b..2ee97b5d29930 100644 --- a/libc/src/unistd/readlinkat.h +++ b/libc/src/unistd/readlinkat.h @@ -9,7 +9,8 @@ #ifndef LLVM_LIBC_SRC_UNISTD_READLINKAT_H #define LLVM_LIBC_SRC_UNISTD_READLINKAT_H -#include +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/swab.h b/libc/src/unistd/swab.h index 0a6aa49540b5b..9fa32d669960a 100644 --- a/libc/src/unistd/swab.h +++ b/libc/src/unistd/swab.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_SWAB_H #define LLVM_LIBC_SRC_UNISTD_SWAB_H -#include // For ssize_t +#include "include/llvm-libc-types/ssize_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/symlink.h b/libc/src/unistd/symlink.h index 0a0124ccbc7ab..ac021498bafaf 100644 --- a/libc/src/unistd/symlink.h +++ b/libc/src/unistd/symlink.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_SYMLINK_H #define LLVM_LIBC_SRC_UNISTD_SYMLINK_H -#include - namespace LIBC_NAMESPACE { int symlink(const char *, const char *); diff --git a/libc/src/unistd/symlinkat.h b/libc/src/unistd/symlinkat.h index ecca4380e98eb..dd83a9cc6fe5a 100644 --- a/libc/src/unistd/symlinkat.h +++ b/libc/src/unistd/symlinkat.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_SYMLINKAT_H #define LLVM_LIBC_SRC_UNISTD_SYMLINKAT_H -#include - namespace LIBC_NAMESPACE { int symlinkat(const char *, int, const char *); diff --git a/libc/src/unistd/syscall.h b/libc/src/unistd/syscall.h index a41d9778e0559..85b874ed12ebe 100644 --- a/libc/src/unistd/syscall.h +++ b/libc/src/unistd/syscall.h @@ -9,9 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_SYSCALL_H #define LLVM_LIBC_SRC_UNISTD_SYSCALL_H -#include -#include - namespace LIBC_NAMESPACE { long __llvm_libc_syscall(long number, long arg1, long arg2, long arg3, diff --git a/libc/src/unistd/sysconf.h b/libc/src/unistd/sysconf.h index 89c5efa574636..fd9eb43ee55db 100644 --- a/libc/src/unistd/sysconf.h +++ b/libc/src/unistd/sysconf.h @@ -9,8 +9,6 @@ #ifndef LLVM_LIBC_SRC_UNISTD_SYSCONF_H #define LLVM_LIBC_SRC_UNISTD_SYSCONF_H -#include - namespace LIBC_NAMESPACE { long sysconf(int name); diff --git a/libc/src/unistd/truncate.h b/libc/src/unistd/truncate.h index 5245b6bf2ed02..37932fa4fd749 100644 --- a/libc/src/unistd/truncate.h +++ b/libc/src/unistd/truncate.h @@ -9,7 +9,7 @@ #ifndef LLVM_LIBC_SRC_UNISTD_TRUNCATE_H #define LLVM_LIBC_SRC_UNISTD_TRUNCATE_H -#include +#include "include/llvm-libc-types/off_t.h" namespace LIBC_NAMESPACE { diff --git a/libc/src/unistd/write.h b/libc/src/unistd/write.h index 52cdff348085f..5d5a4435c2991 100644 --- a/libc/src/unistd/write.h +++ b/libc/src/unistd/write.h @@ -9,7 +9,8 @@ #ifndef LLVM_LIBC_SRC_UNISTD_WRITE_H #define LLVM_LIBC_SRC_UNISTD_WRITE_H -#include +#include "include/llvm-libc-types/size_t.h" +#include "include/llvm-libc-types/ssize_t.h" namespace LIBC_NAMESPACE { From ceb64c6d8b69da0de6d42c4fcc5b7cb723428c84 Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 20 Mar 2024 10:25:06 -0700 Subject: [PATCH 2/6] missed one $ grep -rn "#include // For uint64_t. #include // For syscall numbers. -#include // For off_t. namespace LIBC_NAMESPACE { namespace internal { From 5e1a19d0d5b78054d3157839f1053c703b60ab61 Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 20 Mar 2024 10:28:52 -0700 Subject: [PATCH 3/6] remove unnecessary include --- libc/src/unistd/getopt.h | 1 - 1 file changed, 1 deletion(-) diff --git a/libc/src/unistd/getopt.h b/libc/src/unistd/getopt.h index 32f4f54095c72..d298f392dd0f4 100644 --- a/libc/src/unistd/getopt.h +++ b/libc/src/unistd/getopt.h @@ -10,7 +10,6 @@ #define LLVM_LIBC_SRC_UNISTD_GETOPT_H #include "include/llvm-libc-types/FILE.h" -#include "src/__support/common.h" namespace LIBC_NAMESPACE { From c122277350cdabe69c93dde3b4b920278afb08ee Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 20 Mar 2024 14:17:01 -0700 Subject: [PATCH 4/6] bazel support --- .../llvm-project-overlay/libc/BUILD.bazel | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel index 12fbe0dd60253..a59448309189d 100644 --- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel @@ -97,6 +97,11 @@ libc_support_library( deps = [":llvm_libc_macros_float_macros"], ) +libc_support_library( + name = "llvm_libc_types", + hdrs = glob(["include/llvm-libc-types/*.h"]), +) + ############################### Support libraries ############################## libc_support_library( @@ -2732,6 +2737,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2754,6 +2760,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2765,6 +2772,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2776,6 +2784,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2787,6 +2796,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2846,6 +2856,7 @@ libc_function( ":__support_file_linux_lseekimpl", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2857,6 +2868,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2868,6 +2880,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2881,6 +2894,7 @@ libc_function( ":__support_macros_sanitizer", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2892,6 +2906,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2903,6 +2918,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2961,6 +2977,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -2972,6 +2989,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) @@ -3006,6 +3024,7 @@ libc_function( ":__support_common", ":__support_osutil_syscall", ":errno", + ":llvm_libc_types", ], ) From 9af431876f6fc71fbb5e51098bd9335e95f226ce Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 20 Mar 2024 14:25:59 -0700 Subject: [PATCH 5/6] fix libc_sys_mman_unittests --- libc/test/src/sys/mman/linux/msync_test.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libc/test/src/sys/mman/linux/msync_test.cpp b/libc/test/src/sys/mman/linux/msync_test.cpp index 0d60415b1243a..77df61fde935e 100644 --- a/libc/test/src/sys/mman/linux/msync_test.cpp +++ b/libc/test/src/sys/mman/linux/msync_test.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +#include "include/llvm-libc-macros/linux/unistd-macros.h" #include "src/errno/libc_errno.h" #include "src/sys/mman/mlock.h" #include "src/sys/mman/mmap.h" From 2f6608c7523eed59be60f9d9df90c80368ea87f8 Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 20 Mar 2024 15:23:47 -0700 Subject: [PATCH 6/6] fix unit tests using our _SC_PAGESIZE This needs a more widespread fix, as we'll need to match definitions for specific target platforms. --- libc/test/src/sys/mman/linux/mincore_test.cpp | 2 +- libc/test/src/sys/mman/linux/mlock_test.cpp | 2 +- libc/test/src/unistd/sysconf_test.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libc/test/src/sys/mman/linux/mincore_test.cpp b/libc/test/src/sys/mman/linux/mincore_test.cpp index 8e0c29c2ac177..43af59ed9ada0 100644 --- a/libc/test/src/sys/mman/linux/mincore_test.cpp +++ b/libc/test/src/sys/mman/linux/mincore_test.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +#include "include/llvm-libc-macros/linux/unistd-macros.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/errno/libc_errno.h" #include "src/sys/mman/madvise.h" @@ -21,7 +22,6 @@ #include #include -#include using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds; diff --git a/libc/test/src/sys/mman/linux/mlock_test.cpp b/libc/test/src/sys/mman/linux/mlock_test.cpp index 804038a68a7e0..6f79ff056d732 100644 --- a/libc/test/src/sys/mman/linux/mlock_test.cpp +++ b/libc/test/src/sys/mman/linux/mlock_test.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +#include "include/llvm-libc-macros/linux/unistd-macros.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/errno/libc_errno.h" #include "src/sys/mman/madvise.h" @@ -29,7 +30,6 @@ #include #include #include -#include using namespace LIBC_NAMESPACE::testing::ErrnoSetterMatcher; diff --git a/libc/test/src/unistd/sysconf_test.cpp b/libc/test/src/unistd/sysconf_test.cpp index 85bc1258a4863..2c540be285d45 100644 --- a/libc/test/src/unistd/sysconf_test.cpp +++ b/libc/test/src/unistd/sysconf_test.cpp @@ -9,7 +9,7 @@ #include "src/unistd/sysconf.h" #include "test/UnitTest/Test.h" -#include +#include "include/llvm-libc-macros/linux/unistd-macros.h" TEST(LlvmLibcSysconfTest, PagesizeTest) { long pagesize = LIBC_NAMESPACE::sysconf(_SC_PAGESIZE);