[compiler-rt] [libc] [libc][sched] Implement proxy headers for `cpu_set_t`, `struct sched_param` and `sched_macros`. (PR #126303)
Krishna Pandey via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 16 12:27:09 PST 2025
https://github.com/krishna2803 updated https://github.com/llvm/llvm-project/pull/126303
>From 1a2fe1322737b1d627bbb0d81180bf4fa5bee18a Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Sat, 8 Feb 2025 01:01:25 +0530
Subject: [PATCH 01/19] feat: add proxy header for `cpu_set_t`
---
libc/hdr/types/cpu_set_t.h | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 libc/hdr/types/cpu_set_t.h
diff --git a/libc/hdr/types/cpu_set_t.h b/libc/hdr/types/cpu_set_t.h
new file mode 100644
index 0000000000000..26aed7592fa2c
--- /dev/null
+++ b/libc/hdr/types/cpu_set_t.h
@@ -0,0 +1,22 @@
+//===-- Proxy for cpu_set_t -----------------------------------------------===//
+//
+// 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_TYPES_CPU_SET_T_H
+#define LLVM_LIBC_HDR_TYPES_CPU_SET_T_H
+
+#ifdef LIBC_FULL_BUILD
+
+#include "include/llvm-libc-types/cpu_set_t.h"
+
+#else // Overlay mode
+
+#include <sched.h>
+
+#endif // LLVM_LIBC_FULL_BUILD
+
+#endif // LLVM_LIBC_HDR_TYPES_CPU_SET_T_H
>From ba8c535683ab3602042d49de3ce7ea3dc169bd33 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Sat, 8 Feb 2025 01:30:23 +0530
Subject: [PATCH 02/19] fix: replace <sched.h> with proxy headers
---
libc/src/sched/linux/sched_getaffinity.cpp | 2 +-
libc/src/sched/linux/sched_getcpucount.cpp | 2 +-
libc/src/sched/linux/sched_setaffinity.cpp | 2 +-
libc/src/sched/sched_getaffinity.h | 2 +-
libc/src/sched/sched_getcpucount.h | 2 +-
libc/src/sched/sched_getparam.h | 2 +-
libc/src/sched/sched_getscheduler.h | 2 +-
libc/src/sched/sched_rr_get_interval.h | 2 +-
libc/src/sched/sched_setaffinity.h | 2 +-
libc/src/sched/sched_setparam.h | 2 +-
libc/src/sched/sched_setscheduler.h | 2 +-
libc/test/src/sched/affinity_test.cpp | 2 +-
libc/test/src/sched/cpu_count_test.cpp | 2 +-
libc/test/src/sched/get_priority_test.cpp | 2 +-
libc/test/src/sched/param_and_scheduler_test.cpp | 2 +-
libc/test/src/sched/sched_rr_get_interval_test.cpp | 2 +-
16 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/libc/src/sched/linux/sched_getaffinity.cpp b/libc/src/sched/linux/sched_getaffinity.cpp
index 7b1fd8c5aa2af..41c7731142aeb 100644
--- a/libc/src/sched/linux/sched_getaffinity.cpp
+++ b/libc/src/sched/linux/sched_getaffinity.cpp
@@ -13,7 +13,7 @@
#include "src/__support/macros/config.h"
#include "src/errno/libc_errno.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
#include <stdint.h>
#include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_getcpucount.cpp b/libc/src/sched/linux/sched_getcpucount.cpp
index dbda4b2c789ad..849123d9b960e 100644
--- a/libc/src/sched/linux/sched_getcpucount.cpp
+++ b/libc/src/sched/linux/sched_getcpucount.cpp
@@ -11,7 +11,7 @@
#include "src/__support/common.h"
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
#include <stddef.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/linux/sched_setaffinity.cpp b/libc/src/sched/linux/sched_setaffinity.cpp
index cad48c26bf938..a131bda2bb5eb 100644
--- a/libc/src/sched/linux/sched_setaffinity.cpp
+++ b/libc/src/sched/linux/sched_setaffinity.cpp
@@ -13,7 +13,7 @@
#include "src/__support/macros/config.h"
#include "src/errno/libc_errno.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
#include <sys/syscall.h> // For syscall numbers.
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getaffinity.h b/libc/src/sched/sched_getaffinity.h
index 52ec5bca6b22a..de8a14d51daa9 100644
--- a/libc/src/sched/sched_getaffinity.h
+++ b/libc/src/sched/sched_getaffinity.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getcpucount.h b/libc/src/sched/sched_getcpucount.h
index 8f35301ca6c0d..f04099f8db0c4 100644
--- a/libc/src/sched/sched_getcpucount.h
+++ b/libc/src/sched/sched_getcpucount.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
#include <stddef.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getparam.h b/libc/src/sched/sched_getparam.h
index e1b23656d5859..03bfc008be95b 100644
--- a/libc/src/sched/sched_getparam.h
+++ b/libc/src/sched/sched_getparam.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getscheduler.h b/libc/src/sched/sched_getscheduler.h
index d29e902180ea8..970b96097d33d 100644
--- a/libc/src/sched/sched_getscheduler.h
+++ b/libc/src/sched/sched_getscheduler.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_rr_get_interval.h b/libc/src/sched/sched_rr_get_interval.h
index ff093298a3bb3..b8bf17497cb32 100644
--- a/libc/src/sched/sched_rr_get_interval.h
+++ b/libc/src/sched/sched_rr_get_interval.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setaffinity.h b/libc/src/sched/sched_setaffinity.h
index cb2303dd813e2..368aac0cc5bf9 100644
--- a/libc/src/sched/sched_setaffinity.h
+++ b/libc/src/sched/sched_setaffinity.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setparam.h b/libc/src/sched/sched_setparam.h
index e4691a7912000..cf5b2840c4551 100644
--- a/libc/src/sched/sched_setparam.h
+++ b/libc/src/sched/sched_setparam.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setscheduler.h b/libc/src/sched/sched_setscheduler.h
index e745002c0d961..5c99aa2d10a00 100644
--- a/libc/src/sched/sched_setscheduler.h
+++ b/libc/src/sched/sched_setscheduler.h
@@ -10,7 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
#include "src/__support/macros/config.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/sched/affinity_test.cpp b/libc/test/src/sched/affinity_test.cpp
index b5085203e5ce0..5f7d6571b481e 100644
--- a/libc/test/src/sched/affinity_test.cpp
+++ b/libc/test/src/sched/affinity_test.cpp
@@ -12,7 +12,7 @@
#include "src/sched/sched_setaffinity.h"
#include "test/UnitTest/ErrnoSetterMatcher.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
#include <sys/syscall.h>
TEST(LlvmLibcSchedAffinityTest, SmokeTest) {
diff --git a/libc/test/src/sched/cpu_count_test.cpp b/libc/test/src/sched/cpu_count_test.cpp
index 5250368a26162..b0c7cfe8614a0 100644
--- a/libc/test/src/sched/cpu_count_test.cpp
+++ b/libc/test/src/sched/cpu_count_test.cpp
@@ -12,7 +12,7 @@
#include "src/sched/sched_getcpucount.h"
#include "test/UnitTest/ErrnoSetterMatcher.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
#include <sys/syscall.h>
TEST(LlvmLibcSchedCpuCountTest, SmokeTest) {
diff --git a/libc/test/src/sched/get_priority_test.cpp b/libc/test/src/sched/get_priority_test.cpp
index 59205c51e4a16..fe437cda4d7b6 100644
--- a/libc/test/src/sched/get_priority_test.cpp
+++ b/libc/test/src/sched/get_priority_test.cpp
@@ -11,7 +11,7 @@
#include "src/sched/sched_get_priority_min.h"
#include "test/UnitTest/Test.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
TEST(LlvmLibcSchedGetPriorityTest, HandleBadPolicyTest) {
diff --git a/libc/test/src/sched/param_and_scheduler_test.cpp b/libc/test/src/sched/param_and_scheduler_test.cpp
index 747c7e3409e41..c5d6217e75b32 100644
--- a/libc/test/src/sched/param_and_scheduler_test.cpp
+++ b/libc/test/src/sched/param_and_scheduler_test.cpp
@@ -16,7 +16,7 @@
#include "src/unistd/getuid.h"
#include "test/UnitTest/Test.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
// We Test:
// SCHED_OTHER, SCHED_FIFO, SCHED_RR
diff --git a/libc/test/src/sched/sched_rr_get_interval_test.cpp b/libc/test/src/sched/sched_rr_get_interval_test.cpp
index c22a2c76d743c..2dadf8bd7df3a 100644
--- a/libc/test/src/sched/sched_rr_get_interval_test.cpp
+++ b/libc/test/src/sched/sched_rr_get_interval_test.cpp
@@ -14,7 +14,7 @@
#include "src/unistd/getuid.h"
#include "test/UnitTest/Test.h"
-#include <sched.h>
+#include "hdr/types/cpu_set_t.h"
TEST(LlvmLibcSchedRRGetIntervalTest, SmokeTest) {
LIBC_NAMESPACE::libc_errno = 0;
>From c6a14a1c2c095a909899f24ee87f9ae62f1cb76b Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 20:05:41 +0530
Subject: [PATCH 03/19] fix: rename `__mask` to `__bits` for compatibility with
glibc cpu_set_t
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/include/llvm-libc-types/cpu_set_t.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/include/llvm-libc-types/cpu_set_t.h b/libc/include/llvm-libc-types/cpu_set_t.h
index e7f52597e147e..10c0f13a0603e 100644
--- a/libc/include/llvm-libc-types/cpu_set_t.h
+++ b/libc/include/llvm-libc-types/cpu_set_t.h
@@ -12,7 +12,7 @@
typedef struct {
// If a processor with more than 1024 CPUs is to be supported in future,
// we need to adjust the size of this array.
- unsigned long __mask[128 / sizeof(unsigned long)];
+ unsigned long __bits[128 / sizeof(unsigned long)];
} cpu_set_t;
#endif // LLVM_LIBC_TYPES_CPU_SET_T_H
>From 822bdb0c0735f7224111fda9ae4e1212ab225ae2 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 20:16:12 +0530
Subject: [PATCH 04/19] fix: change to proxy headers for `cpu_set_t`, `size_t`
and `pid_t` types
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/src/sched/linux/sched_getaffinity.cpp | 7 +++++--
libc/src/sched/linux/sched_getcpucount.cpp | 8 ++++----
libc/src/sched/linux/sched_getparam.cpp | 6 ++++--
libc/src/sched/linux/sched_getscheduler.cpp | 6 ++++--
libc/src/sched/linux/sched_rr_get_interval.cpp | 7 +++++--
libc/src/sched/linux/sched_setaffinity.cpp | 6 ++++--
libc/src/sched/linux/sched_setparam.cpp | 6 ++++--
libc/src/sched/linux/sched_setscheduler.cpp | 6 ++++--
libc/src/sched/sched_getaffinity.h | 4 +++-
libc/src/sched/sched_getcpucount.h | 4 ++--
libc/src/sched/sched_getparam.h | 4 ++--
libc/src/sched/sched_getscheduler.h | 4 ++--
libc/src/sched/sched_rr_get_interval.h | 5 +++--
libc/src/sched/sched_setaffinity.h | 4 +++-
libc/src/sched/sched_setparam.h | 3 ++-
libc/src/sched/sched_setscheduler.h | 4 ++--
16 files changed, 53 insertions(+), 31 deletions(-)
diff --git a/libc/src/sched/linux/sched_getaffinity.cpp b/libc/src/sched/linux/sched_getaffinity.cpp
index 41c7731142aeb..aa34b96e14eb3 100644
--- a/libc/src/sched/linux/sched_getaffinity.cpp
+++ b/libc/src/sched/linux/sched_getaffinity.cpp
@@ -9,11 +9,14 @@
#include "src/sched/sched_getaffinity.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/pid_t.h"
+#include "hdr/types/size_t.h"
+
#include <stdint.h>
#include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_getcpucount.cpp b/libc/src/sched/linux/sched_getcpucount.cpp
index 849123d9b960e..28945476691ce 100644
--- a/libc/src/sched/linux/sched_getcpucount.cpp
+++ b/libc/src/sched/linux/sched_getcpucount.cpp
@@ -8,11 +8,11 @@
#include "src/sched/sched_getcpucount.h"
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
-#include <stddef.h>
+#include "hdr/types/size_t.h"
namespace LIBC_NAMESPACE_DECL {
@@ -20,7 +20,7 @@ LLVM_LIBC_FUNCTION(int, __sched_getcpucount,
(size_t cpuset_size, const cpu_set_t *mask)) {
int result = 0;
for (size_t i = 0; i < cpuset_size / sizeof(long); ++i) {
- result += __builtin_popcountl(mask->__mask[i]);
+ result += __builtin_popcountl(mask->__bits[i]);
}
return result;
}
diff --git a/libc/src/sched/linux/sched_getparam.cpp b/libc/src/sched/linux/sched_getparam.cpp
index 75756a65f0ede..38ce720ef9e9d 100644
--- a/libc/src/sched/linux/sched_getparam.cpp
+++ b/libc/src/sched/linux/sched_getparam.cpp
@@ -9,10 +9,12 @@
#include "src/sched/sched_getparam.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
+#include "hdr/types/pid_t.h"
+
#include <sys/syscall.h> // For syscall numbers.
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/linux/sched_getscheduler.cpp b/libc/src/sched/linux/sched_getscheduler.cpp
index 545cda8e7484b..7be5c72aa765a 100644
--- a/libc/src/sched/linux/sched_getscheduler.cpp
+++ b/libc/src/sched/linux/sched_getscheduler.cpp
@@ -9,10 +9,12 @@
#include "src/sched/sched_getscheduler.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
+#include "hdr/types/pid_t.h"
+
#include <sys/syscall.h> // For syscall numbers.
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/linux/sched_rr_get_interval.cpp b/libc/src/sched/linux/sched_rr_get_interval.cpp
index 1f0ef69dfc893..42b9ea87df3b5 100644
--- a/libc/src/sched/linux/sched_rr_get_interval.cpp
+++ b/libc/src/sched/linux/sched_rr_get_interval.cpp
@@ -9,10 +9,13 @@
#include "src/sched/sched_rr_get_interval.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
+#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_timespec.h"
+
#include <sys/syscall.h> // For syscall numbers.
#ifdef SYS_sched_rr_get_interval_time64
diff --git a/libc/src/sched/linux/sched_setaffinity.cpp b/libc/src/sched/linux/sched_setaffinity.cpp
index a131bda2bb5eb..a8f0a4d70e7c4 100644
--- a/libc/src/sched/linux/sched_setaffinity.cpp
+++ b/libc/src/sched/linux/sched_setaffinity.cpp
@@ -9,11 +9,13 @@
#include "src/sched/sched_setaffinity.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/pid_t.h"
+#include "hdr/types/size_t.h"
#include <sys/syscall.h> // For syscall numbers.
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/linux/sched_setparam.cpp b/libc/src/sched/linux/sched_setparam.cpp
index e78e78a707e05..0051c272003e8 100644
--- a/libc/src/sched/linux/sched_setparam.cpp
+++ b/libc/src/sched/linux/sched_setparam.cpp
@@ -9,10 +9,12 @@
#include "src/sched/sched_setparam.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
+#include "hdr/types/pid_t.h"
+
#include <sys/syscall.h> // For syscall numbers.
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/linux/sched_setscheduler.cpp b/libc/src/sched/linux/sched_setscheduler.cpp
index b6b6f667b3f9e..0f867230a45de 100644
--- a/libc/src/sched/linux/sched_setscheduler.cpp
+++ b/libc/src/sched/linux/sched_setscheduler.cpp
@@ -9,10 +9,12 @@
#include "src/sched/sched_setscheduler.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
+#include "hdr/types/pid_t.h"
+
#include <sys/syscall.h> // For syscall numbers.
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getaffinity.h b/libc/src/sched/sched_getaffinity.h
index de8a14d51daa9..03ce790717080 100644
--- a/libc/src/sched/sched_getaffinity.h
+++ b/libc/src/sched/sched_getaffinity.h
@@ -9,8 +9,10 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
-#include "src/__support/macros/config.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/size_t.h"
+#include "hdr/types/pid_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getcpucount.h b/libc/src/sched/sched_getcpucount.h
index f04099f8db0c4..d57b779991c2f 100644
--- a/libc/src/sched/sched_getcpucount.h
+++ b/libc/src/sched/sched_getcpucount.h
@@ -9,9 +9,9 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
-#include "src/__support/macros/config.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
-#include <stddef.h>
+#include "hdr/types/size_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getparam.h b/libc/src/sched/sched_getparam.h
index 03bfc008be95b..28c75619bee92 100644
--- a/libc/src/sched/sched_getparam.h
+++ b/libc/src/sched/sched_getparam.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
-#include "src/__support/macros/config.h"
-#include "hdr/types/cpu_set_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "hdr/types/pid_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getscheduler.h b/libc/src/sched/sched_getscheduler.h
index 970b96097d33d..a250132445656 100644
--- a/libc/src/sched/sched_getscheduler.h
+++ b/libc/src/sched/sched_getscheduler.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
-#include "src/__support/macros/config.h"
-#include "hdr/types/cpu_set_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "hdr/types/pid_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_rr_get_interval.h b/libc/src/sched/sched_rr_get_interval.h
index b8bf17497cb32..73997a9efefce 100644
--- a/libc/src/sched/sched_rr_get_interval.h
+++ b/libc/src/sched/sched_rr_get_interval.h
@@ -9,8 +9,9 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
#define LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
-#include "src/__support/macros/config.h"
-#include "hdr/types/cpu_set_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_timespec.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setaffinity.h b/libc/src/sched/sched_setaffinity.h
index 368aac0cc5bf9..4612eafc222e3 100644
--- a/libc/src/sched/sched_setaffinity.h
+++ b/libc/src/sched/sched_setaffinity.h
@@ -9,8 +9,10 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
#define LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
-#include "src/__support/macros/config.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/pid_t.h"
+#include "hdr/types/size_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setparam.h b/libc/src/sched/sched_setparam.h
index cf5b2840c4551..b08b8409657d9 100644
--- a/libc/src/sched/sched_setparam.h
+++ b/libc/src/sched/sched_setparam.h
@@ -9,8 +9,9 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
#define LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
-#include "src/__support/macros/config.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/pid_t.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setscheduler.h b/libc/src/sched/sched_setscheduler.h
index 5c99aa2d10a00..085ada2d9bbad 100644
--- a/libc/src/sched/sched_setscheduler.h
+++ b/libc/src/sched/sched_setscheduler.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
#define LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
-#include "src/__support/macros/config.h"
-#include "hdr/types/cpu_set_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "hdr/types/pid_t.h"
namespace LIBC_NAMESPACE_DECL {
>From 00b5943cb279d64e4d15849ca75a453afd417e54 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 20:17:11 +0530
Subject: [PATCH 05/19] fix: update CMakeLists for proxy header dependencies
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/hdr/types/CMakeLists.txt | 8 ++++++++
libc/src/sched/linux/CMakeLists.txt | 14 ++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/libc/hdr/types/CMakeLists.txt b/libc/hdr/types/CMakeLists.txt
index dfc90009ef54a..9e5f13e022cdb 100644
--- a/libc/hdr/types/CMakeLists.txt
+++ b/libc/hdr/types/CMakeLists.txt
@@ -241,6 +241,14 @@ add_proxy_header_library(
libc.include.stdio
)
+add_proxy_header_library(
+ cpu_set_t
+ HDRS
+ cpu_set_t.h
+ FULL_BUILD_DEPENDS
+ libc.include.llvm-libc-types.cpu_set_t
+)
+
add_proxy_header_library(
locale_t
HDRS
diff --git a/libc/src/sched/linux/CMakeLists.txt b/libc/src/sched/linux/CMakeLists.txt
index ac95bf85da534..97657e4a40889 100644
--- a/libc/src/sched/linux/CMakeLists.txt
+++ b/libc/src/sched/linux/CMakeLists.txt
@@ -6,6 +6,9 @@ add_entrypoint_object(
../sched_getaffinity.h
DEPENDS
libc.include.sched
+ libc.hdr.types.cpu_set_t
+ libc.hdr.types.pid_t
+ libc.hdr.types.size_t
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -18,6 +21,9 @@ add_entrypoint_object(
../sched_setaffinity.h
DEPENDS
libc.include.sched
+ libc.hdr.types.cpu_set_t
+ libc.hdr.types.pid_t
+ libc.hdr.types.size_t
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -29,6 +35,8 @@ add_entrypoint_object(
HDRS
../sched_getcpucount.h
DEPENDS
+ libc.hdr.types.cpu_set_t
+ libc.hdr.types.size_t
libc.include.sched
)
@@ -54,6 +62,7 @@ add_entrypoint_object(
libc.include.sys_syscall
libc.include.time
libc.include.sched
+ libc.hdr.types.pid_t
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -68,6 +77,7 @@ add_entrypoint_object(
libc.include.sys_syscall
libc.include.time
libc.include.sched
+ libc.hdr.types.pid_t
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -82,6 +92,7 @@ add_entrypoint_object(
libc.include.sys_syscall
libc.include.time
libc.include.sched
+ libc.hdr.types.pid_t
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -94,6 +105,7 @@ add_entrypoint_object(
../sched_getscheduler.h
DEPENDS
libc.include.sched
+ libc.hdr.types.pid_t
libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
@@ -132,6 +144,8 @@ add_entrypoint_object(
DEPENDS
libc.include.sys_syscall
libc.include.sched
+ libc.hdr.types.pid_t
+ libc.hdr.types.struct_timespec
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
>From 8c990d273759f170c1376eb3d7a40aba2a90e559 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 20:28:33 +0530
Subject: [PATCH 06/19] style: clang-format
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/src/sched/linux/sched_getaffinity.cpp | 4 ++--
libc/src/sched/linux/sched_getcpucount.cpp | 2 +-
libc/src/sched/linux/sched_getparam.cpp | 4 ++--
libc/src/sched/linux/sched_getscheduler.cpp | 4 ++--
libc/src/sched/linux/sched_rr_get_interval.cpp | 4 ++--
libc/src/sched/linux/sched_setaffinity.cpp | 4 ++--
libc/src/sched/linux/sched_setparam.cpp | 4 ++--
libc/src/sched/linux/sched_setscheduler.cpp | 4 ++--
libc/src/sched/sched_getaffinity.h | 4 ++--
libc/src/sched/sched_getcpucount.h | 2 +-
libc/src/sched/sched_getparam.h | 2 +-
libc/src/sched/sched_getscheduler.h | 2 +-
libc/src/sched/sched_rr_get_interval.h | 2 +-
libc/src/sched/sched_setaffinity.h | 2 +-
libc/src/sched/sched_setparam.h | 2 +-
libc/src/sched/sched_setscheduler.h | 2 +-
16 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/libc/src/sched/linux/sched_getaffinity.cpp b/libc/src/sched/linux/sched_getaffinity.cpp
index aa34b96e14eb3..6545411dc8405 100644
--- a/libc/src/sched/linux/sched_getaffinity.cpp
+++ b/libc/src/sched/linux/sched_getaffinity.cpp
@@ -9,8 +9,8 @@
#include "src/sched/sched_getaffinity.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/cpu_set_t.h"
diff --git a/libc/src/sched/linux/sched_getcpucount.cpp b/libc/src/sched/linux/sched_getcpucount.cpp
index 28945476691ce..65c9148246cc5 100644
--- a/libc/src/sched/linux/sched_getcpucount.cpp
+++ b/libc/src/sched/linux/sched_getcpucount.cpp
@@ -8,7 +8,7 @@
#include "src/sched/sched_getcpucount.h"
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
diff --git a/libc/src/sched/linux/sched_getparam.cpp b/libc/src/sched/linux/sched_getparam.cpp
index 38ce720ef9e9d..f160fe0e40927 100644
--- a/libc/src/sched/linux/sched_getparam.cpp
+++ b/libc/src/sched/linux/sched_getparam.cpp
@@ -9,8 +9,8 @@
#include "src/sched/sched_getparam.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
diff --git a/libc/src/sched/linux/sched_getscheduler.cpp b/libc/src/sched/linux/sched_getscheduler.cpp
index 7be5c72aa765a..1f2a548345a50 100644
--- a/libc/src/sched/linux/sched_getscheduler.cpp
+++ b/libc/src/sched/linux/sched_getscheduler.cpp
@@ -9,8 +9,8 @@
#include "src/sched/sched_getscheduler.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
diff --git a/libc/src/sched/linux/sched_rr_get_interval.cpp b/libc/src/sched/linux/sched_rr_get_interval.cpp
index 42b9ea87df3b5..8763081753d6d 100644
--- a/libc/src/sched/linux/sched_rr_get_interval.cpp
+++ b/libc/src/sched/linux/sched_rr_get_interval.cpp
@@ -9,8 +9,8 @@
#include "src/sched/sched_rr_get_interval.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
diff --git a/libc/src/sched/linux/sched_setaffinity.cpp b/libc/src/sched/linux/sched_setaffinity.cpp
index a8f0a4d70e7c4..6fa61fc817b52 100644
--- a/libc/src/sched/linux/sched_setaffinity.cpp
+++ b/libc/src/sched/linux/sched_setaffinity.cpp
@@ -9,8 +9,8 @@
#include "src/sched/sched_setaffinity.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/cpu_set_t.h"
diff --git a/libc/src/sched/linux/sched_setparam.cpp b/libc/src/sched/linux/sched_setparam.cpp
index 0051c272003e8..643848e4f0a51 100644
--- a/libc/src/sched/linux/sched_setparam.cpp
+++ b/libc/src/sched/linux/sched_setparam.cpp
@@ -9,8 +9,8 @@
#include "src/sched/sched_setparam.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
diff --git a/libc/src/sched/linux/sched_setscheduler.cpp b/libc/src/sched/linux/sched_setscheduler.cpp
index 0f867230a45de..4306476f1f5df 100644
--- a/libc/src/sched/linux/sched_setscheduler.cpp
+++ b/libc/src/sched/linux/sched_setscheduler.cpp
@@ -9,8 +9,8 @@
#include "src/sched/sched_setscheduler.h"
#include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
+#include "src/__support/common.h" // LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
diff --git a/libc/src/sched/sched_getaffinity.h b/libc/src/sched/sched_getaffinity.h
index 03ce790717080..da6fe19e59e93 100644
--- a/libc/src/sched/sched_getaffinity.h
+++ b/libc/src/sched/sched_getaffinity.h
@@ -9,10 +9,10 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
-#include "hdr/types/size_t.h"
#include "hdr/types/pid_t.h"
+#include "hdr/types/size_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getcpucount.h b/libc/src/sched/sched_getcpucount.h
index d57b779991c2f..a01d0b3cfa5a6 100644
--- a/libc/src/sched/sched_getcpucount.h
+++ b/libc/src/sched/sched_getcpucount.h
@@ -9,9 +9,9 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
#include "hdr/types/size_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getparam.h b/libc/src/sched/sched_getparam.h
index 28c75619bee92..d92614c5a1e71 100644
--- a/libc/src/sched/sched_getparam.h
+++ b/libc/src/sched/sched_getparam.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/pid_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getscheduler.h b/libc/src/sched/sched_getscheduler.h
index a250132445656..97e70fed49517 100644
--- a/libc/src/sched/sched_getscheduler.h
+++ b/libc/src/sched/sched_getscheduler.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
#define LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/pid_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_rr_get_interval.h b/libc/src/sched/sched_rr_get_interval.h
index 73997a9efefce..b67b44bf7e19f 100644
--- a/libc/src/sched/sched_rr_get_interval.h
+++ b/libc/src/sched/sched_rr_get_interval.h
@@ -9,9 +9,9 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
#define LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/pid_t.h"
#include "hdr/types/struct_timespec.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setaffinity.h b/libc/src/sched/sched_setaffinity.h
index 4612eafc222e3..7d5c50762512e 100644
--- a/libc/src/sched/sched_setaffinity.h
+++ b/libc/src/sched/sched_setaffinity.h
@@ -9,10 +9,10 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
#define LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
#include "hdr/types/pid_t.h"
#include "hdr/types/size_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setparam.h b/libc/src/sched/sched_setparam.h
index b08b8409657d9..21d5123cd1af2 100644
--- a/libc/src/sched/sched_setparam.h
+++ b/libc/src/sched/sched_setparam.h
@@ -9,9 +9,9 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
#define LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/cpu_set_t.h"
#include "hdr/types/pid_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setscheduler.h b/libc/src/sched/sched_setscheduler.h
index 085ada2d9bbad..0575f848e8313 100644
--- a/libc/src/sched/sched_setscheduler.h
+++ b/libc/src/sched/sched_setscheduler.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
#define LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
-#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
#include "hdr/types/pid_t.h"
+#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
>From 926702cbc9cd09b5d4470a8459306b2c5ab0cf73 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 21:11:52 +0530
Subject: [PATCH 07/19] fix: add proxy headers for unittests
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/test/src/sched/CMakeLists.txt | 4 ++++
libc/test/src/sched/affinity_test.cpp | 2 ++
libc/test/src/sched/cpu_count_test.cpp | 2 ++
3 files changed, 8 insertions(+)
diff --git a/libc/test/src/sched/CMakeLists.txt b/libc/test/src/sched/CMakeLists.txt
index 9dda4ea16e101..06a31b57abbcb 100644
--- a/libc/test/src/sched/CMakeLists.txt
+++ b/libc/test/src/sched/CMakeLists.txt
@@ -8,6 +8,8 @@ add_libc_unittest(
affinity_test.cpp
DEPENDS
libc.include.sched
+ libc.hdr.types.cpu_set_t
+ libc.hdr.types.pid_t
libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
@@ -82,6 +84,8 @@ add_libc_unittest(
cpu_count_test.cpp
DEPENDS
libc.include.sched
+ libc.hdr.types.cpu_set_t
+ libc.hdr.types.pid_t
libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
diff --git a/libc/test/src/sched/affinity_test.cpp b/libc/test/src/sched/affinity_test.cpp
index 5f7d6571b481e..d0bf7816bc212 100644
--- a/libc/test/src/sched/affinity_test.cpp
+++ b/libc/test/src/sched/affinity_test.cpp
@@ -13,6 +13,8 @@
#include "test/UnitTest/ErrnoSetterMatcher.h"
#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/pid_t.h"
+
#include <sys/syscall.h>
TEST(LlvmLibcSchedAffinityTest, SmokeTest) {
diff --git a/libc/test/src/sched/cpu_count_test.cpp b/libc/test/src/sched/cpu_count_test.cpp
index b0c7cfe8614a0..adc815aaa1844 100644
--- a/libc/test/src/sched/cpu_count_test.cpp
+++ b/libc/test/src/sched/cpu_count_test.cpp
@@ -13,6 +13,8 @@
#include "test/UnitTest/ErrnoSetterMatcher.h"
#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/pid_t.h"
+
#include <sys/syscall.h>
TEST(LlvmLibcSchedCpuCountTest, SmokeTest) {
>From 02b5e6c1e2abe00b78115afee25b29a639cd6368 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 23:16:26 +0530
Subject: [PATCH 08/19] fix: add proxy header for `struct_sched_param`
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/hdr/types/CMakeLists.txt | 8 ++++++++
libc/hdr/types/struct_sched_param.h | 22 +++++++++++++++++++++
libc/src/sched/linux/CMakeLists.txt | 3 +++
libc/src/sched/linux/sched_getparam.cpp | 1 +
libc/src/sched/linux/sched_setparam.cpp | 1 +
libc/src/sched/linux/sched_setscheduler.cpp | 1 +
libc/src/sched/sched_getparam.h | 1 +
libc/src/sched/sched_setparam.h | 1 +
libc/src/sched/sched_setscheduler.h | 1 +
9 files changed, 39 insertions(+)
create mode 100644 libc/hdr/types/struct_sched_param.h
diff --git a/libc/hdr/types/CMakeLists.txt b/libc/hdr/types/CMakeLists.txt
index 9e5f13e022cdb..04bca694dd989 100644
--- a/libc/hdr/types/CMakeLists.txt
+++ b/libc/hdr/types/CMakeLists.txt
@@ -366,3 +366,11 @@ add_proxy_header_library(
FULL_BUILD_DEPENDS
libc.include.llvm-libc-types.struct_pollfd
)
+
+add_proxy_header_library(
+ struct_sched_param
+ HDRS
+ struct_sched_param.h
+ FULL_BUILD_DEPENDS
+ libc.include.llvm-libc-types.struct_sched_param
+)
diff --git a/libc/hdr/types/struct_sched_param.h b/libc/hdr/types/struct_sched_param.h
new file mode 100644
index 0000000000000..ec96828a6e2f1
--- /dev/null
+++ b/libc/hdr/types/struct_sched_param.h
@@ -0,0 +1,22 @@
+//===-- Proxy for struct_sched_param --------------------------------------===//
+//
+// 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_TYPES_STRUCT_SCHED_PARAM_H
+#define LLVM_LIBC_HDR_TYPES_STRUCT_SCHED_PARAM_H
+
+#ifdef LIBC_FULL_BUILD
+
+#include "include/llvm-libc-types/struct_sched_param.h"
+
+#else // Overlay mode
+
+#include <sched.h>
+
+#endif // LLVM_LIBC_FULL_BUILD
+
+#endif // LLVM_LIBC_HDR_TYPES_STRUCT_SCHED_PARAM_H
diff --git a/libc/src/sched/linux/CMakeLists.txt b/libc/src/sched/linux/CMakeLists.txt
index 97657e4a40889..035afabe18f03 100644
--- a/libc/src/sched/linux/CMakeLists.txt
+++ b/libc/src/sched/linux/CMakeLists.txt
@@ -63,6 +63,7 @@ add_entrypoint_object(
libc.include.time
libc.include.sched
libc.hdr.types.pid_t
+ libc.hdr.types.struct_sched_param
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -78,6 +79,7 @@ add_entrypoint_object(
libc.include.time
libc.include.sched
libc.hdr.types.pid_t
+ libc.hdr.types.struct_sched_param
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -93,6 +95,7 @@ add_entrypoint_object(
libc.include.time
libc.include.sched
libc.hdr.types.pid_t
+ libc.hdr.types.struct_sched_param
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
diff --git a/libc/src/sched/linux/sched_getparam.cpp b/libc/src/sched/linux/sched_getparam.cpp
index f160fe0e40927..c653b59d7def1 100644
--- a/libc/src/sched/linux/sched_getparam.cpp
+++ b/libc/src/sched/linux/sched_getparam.cpp
@@ -14,6 +14,7 @@
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_sched_param.h"
#include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_setparam.cpp b/libc/src/sched/linux/sched_setparam.cpp
index 643848e4f0a51..020d25e2c4c04 100644
--- a/libc/src/sched/linux/sched_setparam.cpp
+++ b/libc/src/sched/linux/sched_setparam.cpp
@@ -14,6 +14,7 @@
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_sched_param.h"
#include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_setscheduler.cpp b/libc/src/sched/linux/sched_setscheduler.cpp
index 4306476f1f5df..16010b46d1fe7 100644
--- a/libc/src/sched/linux/sched_setscheduler.cpp
+++ b/libc/src/sched/linux/sched_setscheduler.cpp
@@ -14,6 +14,7 @@
#include "src/errno/libc_errno.h"
#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_sched_param.h"
#include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/sched_getparam.h b/libc/src/sched/sched_getparam.h
index d92614c5a1e71..febd65010ede4 100644
--- a/libc/src/sched/sched_getparam.h
+++ b/libc/src/sched/sched_getparam.h
@@ -10,6 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_sched_param.h"
#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setparam.h b/libc/src/sched/sched_setparam.h
index 21d5123cd1af2..cb4af9ccb13d7 100644
--- a/libc/src/sched/sched_setparam.h
+++ b/libc/src/sched/sched_setparam.h
@@ -11,6 +11,7 @@
#include "hdr/types/cpu_set_t.h"
#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_sched_param.h"
#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setscheduler.h b/libc/src/sched/sched_setscheduler.h
index 0575f848e8313..4fd69fd88d997 100644
--- a/libc/src/sched/sched_setscheduler.h
+++ b/libc/src/sched/sched_setscheduler.h
@@ -10,6 +10,7 @@
#define LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
#include "hdr/types/pid_t.h"
+#include "hdr/types/struct_sched_param.h"
#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
namespace LIBC_NAMESPACE_DECL {
>From 99ee89dd95e498859ee5d4ac72bbc000e566d6b2 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 23:18:27 +0530
Subject: [PATCH 09/19] fix: add proxy header for `sched_macros`
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/hdr/CMakeLists.txt | 8 ++++++++
libc/hdr/sched_macros.h | 22 ++++++++++++++++++++++
2 files changed, 30 insertions(+)
create mode 100644 libc/hdr/sched_macros.h
diff --git a/libc/hdr/CMakeLists.txt b/libc/hdr/CMakeLists.txt
index 7f523c50e8694..ca111d424cd95 100644
--- a/libc/hdr/CMakeLists.txt
+++ b/libc/hdr/CMakeLists.txt
@@ -205,5 +205,13 @@ add_proxy_header_library(
libc.include.wchar
)
+add_proxy_header_library(
+ sched_macros
+ HDRS
+ sched_macros.h
+ FULL_BUILD_DEPENDS
+ libc.include.llvm-libc-macros.sched_macros
+)
+
add_subdirectory(types)
add_subdirectory(func)
diff --git a/libc/hdr/sched_macros.h b/libc/hdr/sched_macros.h
new file mode 100644
index 0000000000000..cfeaa99796786
--- /dev/null
+++ b/libc/hdr/sched_macros.h
@@ -0,0 +1,22 @@
+//===-- Definition of macros from sched.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_SCHED_MACROS_H
+#define LLVM_LIBC_HDR_SCHED_MACROS_H
+
+#ifdef LIBC_FULL_BUILD
+
+#include "include/llvm-libc-macros/sched-macros.h"
+
+#else // Overlay mode
+
+#include <sched.h>
+
+#endif // LLVM_LIBC_FULL_BUILD
+
+#endif // LLVM_LIBC_HDR_SCHED_MACROS_H
>From 5a91cde83f555fe471f958075727638fb019d30c Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 23:19:13 +0530
Subject: [PATCH 10/19] fix: tests for sched functions
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/test/src/sched/CMakeLists.txt | 5 +++++
libc/test/src/sched/get_priority_test.cpp | 2 +-
libc/test/src/sched/param_and_scheduler_test.cpp | 3 ++-
libc/test/src/sched/sched_rr_get_interval_test.cpp | 3 ++-
4 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/libc/test/src/sched/CMakeLists.txt b/libc/test/src/sched/CMakeLists.txt
index 06a31b57abbcb..06dc8a58637c8 100644
--- a/libc/test/src/sched/CMakeLists.txt
+++ b/libc/test/src/sched/CMakeLists.txt
@@ -37,6 +37,7 @@ add_libc_unittest(
get_priority_test.cpp
DEPENDS
libc.include.sched
+ libc.hdr.sched_macros
libc.src.errno.errno
libc.src.sched.sched_get_priority_min
libc.src.sched.sched_get_priority_max
@@ -50,6 +51,8 @@ add_libc_unittest(
param_and_scheduler_test.cpp
DEPENDS
libc.include.sched
+ libc.hdr.types.struct_sched_param
+ libc.hdr.sched_macros
libc.src.errno.errno
libc.src.sched.sched_getscheduler
libc.src.sched.sched_setscheduler
@@ -68,6 +71,8 @@ add_libc_unittest(
sched_rr_get_interval_test.cpp
DEPENDS
libc.include.sched
+ libc.hdr.types.struct_sched_param
+ libc.hdr.sched_macros
libc.src.errno.errno
libc.src.sched.sched_getscheduler
libc.src.sched.sched_setscheduler
diff --git a/libc/test/src/sched/get_priority_test.cpp b/libc/test/src/sched/get_priority_test.cpp
index fe437cda4d7b6..9e65e4c7d5d7e 100644
--- a/libc/test/src/sched/get_priority_test.cpp
+++ b/libc/test/src/sched/get_priority_test.cpp
@@ -11,7 +11,7 @@
#include "src/sched/sched_get_priority_min.h"
#include "test/UnitTest/Test.h"
-#include "hdr/types/cpu_set_t.h"
+#include "hdr/sched_macros.h"
TEST(LlvmLibcSchedGetPriorityTest, HandleBadPolicyTest) {
diff --git a/libc/test/src/sched/param_and_scheduler_test.cpp b/libc/test/src/sched/param_and_scheduler_test.cpp
index c5d6217e75b32..7b4dee9c28240 100644
--- a/libc/test/src/sched/param_and_scheduler_test.cpp
+++ b/libc/test/src/sched/param_and_scheduler_test.cpp
@@ -16,7 +16,8 @@
#include "src/unistd/getuid.h"
#include "test/UnitTest/Test.h"
-#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/struct_sched_param.h"
+#include "hdr/sched_macros.h"
// We Test:
// SCHED_OTHER, SCHED_FIFO, SCHED_RR
diff --git a/libc/test/src/sched/sched_rr_get_interval_test.cpp b/libc/test/src/sched/sched_rr_get_interval_test.cpp
index 2dadf8bd7df3a..5db9eb21f0273 100644
--- a/libc/test/src/sched/sched_rr_get_interval_test.cpp
+++ b/libc/test/src/sched/sched_rr_get_interval_test.cpp
@@ -14,7 +14,8 @@
#include "src/unistd/getuid.h"
#include "test/UnitTest/Test.h"
-#include "hdr/types/cpu_set_t.h"
+#include "hdr/types/struct_sched_param.h"
+#include "hdr/sched_macros.h"
TEST(LlvmLibcSchedRRGetIntervalTest, SmokeTest) {
LIBC_NAMESPACE::libc_errno = 0;
>From ece948f3f25c470704156c69db1d46797adeb94b Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Tue, 11 Feb 2025 23:19:59 +0530
Subject: [PATCH 11/19] style: clang-format
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/hdr/types/struct_sched_param.h | 2 +-
libc/test/src/sched/CMakeLists.txt | 1 +
libc/test/src/sched/cpu_count_test.cpp | 1 +
libc/test/src/sched/param_and_scheduler_test.cpp | 2 +-
libc/test/src/sched/sched_rr_get_interval_test.cpp | 2 +-
5 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/libc/hdr/types/struct_sched_param.h b/libc/hdr/types/struct_sched_param.h
index ec96828a6e2f1..b1bdcf9573243 100644
--- a/libc/hdr/types/struct_sched_param.h
+++ b/libc/hdr/types/struct_sched_param.h
@@ -1,4 +1,4 @@
-//===-- Proxy for struct_sched_param --------------------------------------===//
+//===-- Proxy for struct sched_param --------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
diff --git a/libc/test/src/sched/CMakeLists.txt b/libc/test/src/sched/CMakeLists.txt
index 06dc8a58637c8..7b1b38849d4ea 100644
--- a/libc/test/src/sched/CMakeLists.txt
+++ b/libc/test/src/sched/CMakeLists.txt
@@ -91,6 +91,7 @@ add_libc_unittest(
libc.include.sched
libc.hdr.types.cpu_set_t
libc.hdr.types.pid_t
+ libc.hdr.sched_macros
libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
diff --git a/libc/test/src/sched/cpu_count_test.cpp b/libc/test/src/sched/cpu_count_test.cpp
index adc815aaa1844..b5c62e8ed91ed 100644
--- a/libc/test/src/sched/cpu_count_test.cpp
+++ b/libc/test/src/sched/cpu_count_test.cpp
@@ -12,6 +12,7 @@
#include "src/sched/sched_getcpucount.h"
#include "test/UnitTest/ErrnoSetterMatcher.h"
+#include "hdr/sched_macros.h"
#include "hdr/types/cpu_set_t.h"
#include "hdr/types/pid_t.h"
diff --git a/libc/test/src/sched/param_and_scheduler_test.cpp b/libc/test/src/sched/param_and_scheduler_test.cpp
index 7b4dee9c28240..3e6f44d37463b 100644
--- a/libc/test/src/sched/param_and_scheduler_test.cpp
+++ b/libc/test/src/sched/param_and_scheduler_test.cpp
@@ -16,8 +16,8 @@
#include "src/unistd/getuid.h"
#include "test/UnitTest/Test.h"
-#include "hdr/types/struct_sched_param.h"
#include "hdr/sched_macros.h"
+#include "hdr/types/struct_sched_param.h"
// We Test:
// SCHED_OTHER, SCHED_FIFO, SCHED_RR
diff --git a/libc/test/src/sched/sched_rr_get_interval_test.cpp b/libc/test/src/sched/sched_rr_get_interval_test.cpp
index 5db9eb21f0273..004f0caa004e7 100644
--- a/libc/test/src/sched/sched_rr_get_interval_test.cpp
+++ b/libc/test/src/sched/sched_rr_get_interval_test.cpp
@@ -14,8 +14,8 @@
#include "src/unistd/getuid.h"
#include "test/UnitTest/Test.h"
-#include "hdr/types/struct_sched_param.h"
#include "hdr/sched_macros.h"
+#include "hdr/types/struct_sched_param.h"
TEST(LlvmLibcSchedRRGetIntervalTest, SmokeTest) {
LIBC_NAMESPACE::libc_errno = 0;
>From c2ccccf281f91c4624046d284e81b076d854a776 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Wed, 12 Feb 2025 06:04:42 +0530
Subject: [PATCH 12/19] fix: remove unused dependencies from CMakeLists
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/src/sched/linux/CMakeLists.txt | 19 -------------------
libc/test/src/sched/CMakeLists.txt | 7 -------
2 files changed, 26 deletions(-)
diff --git a/libc/src/sched/linux/CMakeLists.txt b/libc/src/sched/linux/CMakeLists.txt
index 035afabe18f03..fdcd8f3de9036 100644
--- a/libc/src/sched/linux/CMakeLists.txt
+++ b/libc/src/sched/linux/CMakeLists.txt
@@ -5,7 +5,6 @@ add_entrypoint_object(
HDRS
../sched_getaffinity.h
DEPENDS
- libc.include.sched
libc.hdr.types.cpu_set_t
libc.hdr.types.pid_t
libc.hdr.types.size_t
@@ -20,7 +19,6 @@ add_entrypoint_object(
HDRS
../sched_setaffinity.h
DEPENDS
- libc.include.sched
libc.hdr.types.cpu_set_t
libc.hdr.types.pid_t
libc.hdr.types.size_t
@@ -37,7 +35,6 @@ add_entrypoint_object(
DEPENDS
libc.hdr.types.cpu_set_t
libc.hdr.types.size_t
- libc.include.sched
)
add_entrypoint_object(
@@ -47,7 +44,6 @@ add_entrypoint_object(
HDRS
../sched_yield.h
DEPENDS
- libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -59,9 +55,6 @@ add_entrypoint_object(
HDRS
../sched_setparam.h
DEPENDS
- libc.include.sys_syscall
- libc.include.time
- libc.include.sched
libc.hdr.types.pid_t
libc.hdr.types.struct_sched_param
libc.src.__support.OSUtil.osutil
@@ -75,9 +68,6 @@ add_entrypoint_object(
HDRS
../sched_getparam.h
DEPENDS
- libc.include.sys_syscall
- libc.include.time
- libc.include.sched
libc.hdr.types.pid_t
libc.hdr.types.struct_sched_param
libc.src.__support.OSUtil.osutil
@@ -91,9 +81,6 @@ add_entrypoint_object(
HDRS
../sched_setscheduler.h
DEPENDS
- libc.include.sys_syscall
- libc.include.time
- libc.include.sched
libc.hdr.types.pid_t
libc.hdr.types.struct_sched_param
libc.src.__support.OSUtil.osutil
@@ -107,9 +94,7 @@ add_entrypoint_object(
HDRS
../sched_getscheduler.h
DEPENDS
- libc.include.sched
libc.hdr.types.pid_t
- libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -121,7 +106,6 @@ add_entrypoint_object(
HDRS
../sched_get_priority_min.h
DEPENDS
- libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -133,7 +117,6 @@ add_entrypoint_object(
HDRS
../sched_get_priority_max.h
DEPENDS
- libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
)
@@ -145,8 +128,6 @@ add_entrypoint_object(
HDRS
../sched_rr_get_interval.h
DEPENDS
- libc.include.sys_syscall
- libc.include.sched
libc.hdr.types.pid_t
libc.hdr.types.struct_timespec
libc.src.__support.OSUtil.osutil
diff --git a/libc/test/src/sched/CMakeLists.txt b/libc/test/src/sched/CMakeLists.txt
index 7b1b38849d4ea..2b025e236811f 100644
--- a/libc/test/src/sched/CMakeLists.txt
+++ b/libc/test/src/sched/CMakeLists.txt
@@ -7,10 +7,8 @@ add_libc_unittest(
SRCS
affinity_test.cpp
DEPENDS
- libc.include.sched
libc.hdr.types.cpu_set_t
libc.hdr.types.pid_t
- libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
libc.src.sched.sched_getaffinity
@@ -36,7 +34,6 @@ add_libc_unittest(
SRCS
get_priority_test.cpp
DEPENDS
- libc.include.sched
libc.hdr.sched_macros
libc.src.errno.errno
libc.src.sched.sched_get_priority_min
@@ -50,7 +47,6 @@ add_libc_unittest(
SRCS
param_and_scheduler_test.cpp
DEPENDS
- libc.include.sched
libc.hdr.types.struct_sched_param
libc.hdr.sched_macros
libc.src.errno.errno
@@ -70,7 +66,6 @@ add_libc_unittest(
SRCS
sched_rr_get_interval_test.cpp
DEPENDS
- libc.include.sched
libc.hdr.types.struct_sched_param
libc.hdr.sched_macros
libc.src.errno.errno
@@ -88,11 +83,9 @@ add_libc_unittest(
SRCS
cpu_count_test.cpp
DEPENDS
- libc.include.sched
libc.hdr.types.cpu_set_t
libc.hdr.types.pid_t
libc.hdr.sched_macros
- libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
libc.src.sched.sched_getaffinity
>From fd0ec52fe5d0179e72d63db66cdc606d1b94f946 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Wed, 12 Feb 2025 06:05:33 +0530
Subject: [PATCH 13/19] fix: remove unused header and comply llvm coding
standard
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/src/sched/linux/sched_getcpucount.cpp | 4 ++--
libc/src/sched/sched_setparam.h | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/libc/src/sched/linux/sched_getcpucount.cpp b/libc/src/sched/linux/sched_getcpucount.cpp
index 65c9148246cc5..93ec2a6d53a9e 100644
--- a/libc/src/sched/linux/sched_getcpucount.cpp
+++ b/libc/src/sched/linux/sched_getcpucount.cpp
@@ -19,9 +19,9 @@ namespace LIBC_NAMESPACE_DECL {
LLVM_LIBC_FUNCTION(int, __sched_getcpucount,
(size_t cpuset_size, const cpu_set_t *mask)) {
int result = 0;
- for (size_t i = 0; i < cpuset_size / sizeof(long); ++i) {
+ for (size_t i = 0; i < cpuset_size / sizeof(long); ++i)
result += __builtin_popcountl(mask->__bits[i]);
- }
+
return result;
}
diff --git a/libc/src/sched/sched_setparam.h b/libc/src/sched/sched_setparam.h
index cb4af9ccb13d7..7bcea3d3295a7 100644
--- a/libc/src/sched/sched_setparam.h
+++ b/libc/src/sched/sched_setparam.h
@@ -9,7 +9,6 @@
#ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
#define LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
-#include "hdr/types/cpu_set_t.h"
#include "hdr/types/pid_t.h"
#include "hdr/types/struct_sched_param.h"
#include "src/__support/macros/config.h" // LIBC_NAMESPACE_DECL
>From 32f9a0aeb6f321dc87523fba07207420fc5413d1 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Wed, 12 Feb 2025 06:19:15 +0530
Subject: [PATCH 14/19] fix: add missing header for struct_timespec
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/test/src/sched/CMakeLists.txt | 1 +
libc/test/src/sched/sched_rr_get_interval_test.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/libc/test/src/sched/CMakeLists.txt b/libc/test/src/sched/CMakeLists.txt
index 2b025e236811f..06c858d71eb1e 100644
--- a/libc/test/src/sched/CMakeLists.txt
+++ b/libc/test/src/sched/CMakeLists.txt
@@ -67,6 +67,7 @@ add_libc_unittest(
sched_rr_get_interval_test.cpp
DEPENDS
libc.hdr.types.struct_sched_param
+ libc.hdr.types.struct_timespec
libc.hdr.sched_macros
libc.src.errno.errno
libc.src.sched.sched_getscheduler
diff --git a/libc/test/src/sched/sched_rr_get_interval_test.cpp b/libc/test/src/sched/sched_rr_get_interval_test.cpp
index 004f0caa004e7..9f68e2ca0701d 100644
--- a/libc/test/src/sched/sched_rr_get_interval_test.cpp
+++ b/libc/test/src/sched/sched_rr_get_interval_test.cpp
@@ -16,6 +16,7 @@
#include "hdr/sched_macros.h"
#include "hdr/types/struct_sched_param.h"
+#include "hdr/types/struct_timespec.h"
TEST(LlvmLibcSchedRRGetIntervalTest, SmokeTest) {
LIBC_NAMESPACE::libc_errno = 0;
>From b34baef234dd438b0534177b60e85ccb4929bdc5 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Fri, 14 Feb 2025 16:12:44 +0530
Subject: [PATCH 15/19] fix: add `libc.include.llvm-libc-macros.sched_macros`
for full build mode
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/hdr/CMakeLists.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libc/hdr/CMakeLists.txt b/libc/hdr/CMakeLists.txt
index ca111d424cd95..055dbc9eafd09 100644
--- a/libc/hdr/CMakeLists.txt
+++ b/libc/hdr/CMakeLists.txt
@@ -210,7 +210,8 @@ add_proxy_header_library(
HDRS
sched_macros.h
FULL_BUILD_DEPENDS
- libc.include.llvm-libc-macros.sched_macros
+ libc.include.llvm-libc-macros.sched_macros # for full build mode
+ libc.include.sched
)
add_subdirectory(types)
>From de1eeadc09707fb1848c20cfde13412b2650d93a Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Sun, 16 Feb 2025 01:26:53 +0530
Subject: [PATCH 16/19] fix: attempt fix for `struct_timespec`
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/include/llvm-libc-types/struct_timespec.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libc/include/llvm-libc-types/struct_timespec.h b/libc/include/llvm-libc-types/struct_timespec.h
index 28b5a571f6790..bc68c1ed4c9df 100644
--- a/libc/include/llvm-libc-types/struct_timespec.h
+++ b/libc/include/llvm-libc-types/struct_timespec.h
@@ -11,10 +11,13 @@
#include "time_t.h"
+#ifndef _STRUCT_TIMESPEC
+#define _STRUCT_TIMESPEC 1
struct timespec {
time_t tv_sec; /* Seconds. */
/* TODO: BIG_ENDIAN may require padding. */
long tv_nsec; /* Nanoseconds. */
};
+#endif // _STRUCT_TIMESPEC
#endif // LLVM_LIBC_TYPES_STRUCT_TIMESPEC_H
>From 55849ca05815dae3335a7f71f969029955774b98 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Sun, 16 Feb 2025 02:01:42 +0530
Subject: [PATCH 17/19] fix: attempt fix for `sched`
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
libc/hdr/sched_macros.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libc/hdr/sched_macros.h b/libc/hdr/sched_macros.h
index cfeaa99796786..765bb6560d1c6 100644
--- a/libc/hdr/sched_macros.h
+++ b/libc/hdr/sched_macros.h
@@ -11,8 +11,13 @@
#ifdef LIBC_FULL_BUILD
+#ifndef _SCHED_H
+#define _SCHED_H 1
+
#include "include/llvm-libc-macros/sched-macros.h"
+#endif
+
#else // Overlay mode
#include <sched.h>
>From 7b48a0cfe6021613d331d02ffb98964d0f4da848 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Mon, 17 Feb 2025 01:42:48 +0530
Subject: [PATCH 18/19] add: sched.h in scudo CMakeListsts
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
compiler-rt/lib/scudo/standalone/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/compiler-rt/lib/scudo/standalone/CMakeLists.txt b/compiler-rt/lib/scudo/standalone/CMakeLists.txt
index 3f9ae866a7553..958c4f732330b 100644
--- a/compiler-rt/lib/scudo/standalone/CMakeLists.txt
+++ b/compiler-rt/lib/scudo/standalone/CMakeLists.txt
@@ -89,6 +89,7 @@ set(SCUDO_HEADERS
release.h
report.h
report_linux.h
+ sched.h
secondary.h
size_class_map.h
stack_depot.h
>From 9a42b90bf7ae3f27fb572fec4fe3cc323d39f4f1 Mon Sep 17 00:00:00 2001
From: krishna2803 <kpandey81930 at gmail.com>
Date: Mon, 17 Feb 2025 01:56:20 +0530
Subject: [PATCH 19/19] revert: "add: sched.h in scudo CMakeListsts"
This reverts commit 7b48a0cfe6021613d331d02ffb98964d0f4da848.
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
---
compiler-rt/lib/scudo/standalone/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/compiler-rt/lib/scudo/standalone/CMakeLists.txt b/compiler-rt/lib/scudo/standalone/CMakeLists.txt
index 958c4f732330b..3f9ae866a7553 100644
--- a/compiler-rt/lib/scudo/standalone/CMakeLists.txt
+++ b/compiler-rt/lib/scudo/standalone/CMakeLists.txt
@@ -89,7 +89,6 @@ set(SCUDO_HEADERS
release.h
report.h
report_linux.h
- sched.h
secondary.h
size_class_map.h
stack_depot.h
More information about the llvm-commits
mailing list