[libc-commits] [libc] f973fa0 - [libc][NFC] Replace <sys/mman.h> with proxy headers in mman (#195164)
via libc-commits
libc-commits at lists.llvm.org
Thu Apr 30 23:52:04 PDT 2026
Author: Jeff Bailey
Date: 2026-05-01T07:52:00+01:00
New Revision: f973fa07d473e236b67fa7cea876e7bc9519749c
URL: https://github.com/llvm/llvm-project/commit/f973fa07d473e236b67fa7cea876e7bc9519749c
DIFF: https://github.com/llvm/llvm-project/commit/f973fa07d473e236b67fa7cea876e7bc9519749c.diff
LOG: [libc][NFC] Replace <sys/mman.h> with proxy headers in mman (#195164)
Replaced direct <sys/mman.h> includes in sys/mman entrypoint headers
with granular proxy headers (hdr/types/size_t.h). The mmap.h entrypoint
header retains its transitive sys/mman.h include, keeping tests working.
Updated mremap.cpp and posix_madvise.cpp to include
hdr/sys_mman_macros.h for mman macros used directly.
Added:
Modified:
libc/src/sys/mman/linux/CMakeLists.txt
libc/src/sys/mman/linux/mremap.cpp
libc/src/sys/mman/linux/posix_madvise.cpp
libc/src/sys/mman/madvise.h
libc/src/sys/mman/mincore.h
libc/src/sys/mman/mlock.h
libc/src/sys/mman/mlock2.h
libc/src/sys/mman/mlockall.h
libc/src/sys/mman/mprotect.h
libc/src/sys/mman/mremap.h
libc/src/sys/mman/msync.h
libc/src/sys/mman/munlock.h
libc/src/sys/mman/munlockall.h
libc/src/sys/mman/munmap.h
libc/src/sys/mman/posix_madvise.h
Removed:
################################################################################
diff --git a/libc/src/sys/mman/linux/CMakeLists.txt b/libc/src/sys/mman/linux/CMakeLists.txt
index 36485d57dafca..6cafa9ba45c1a 100644
--- a/libc/src/sys/mman/linux/CMakeLists.txt
+++ b/libc/src/sys/mman/linux/CMakeLists.txt
@@ -39,7 +39,8 @@ add_entrypoint_object(
HDRS
../mremap.h
DEPENDS
- libc.include.sys_mman
+ libc.hdr.sys_mman_macros
+ libc.hdr.types.size_t
libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.errno.errno
@@ -76,7 +77,8 @@ add_entrypoint_object(
HDRS
../posix_madvise.h
DEPENDS
- libc.include.sys_mman
+ libc.hdr.sys_mman_macros
+ libc.hdr.types.size_t
libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
)
diff --git a/libc/src/sys/mman/linux/mremap.cpp b/libc/src/sys/mman/linux/mremap.cpp
index 6cdda9435bb69..1b4052c83094e 100644
--- a/libc/src/sys/mman/linux/mremap.cpp
+++ b/libc/src/sys/mman/linux/mremap.cpp
@@ -17,6 +17,8 @@
#include <stdarg.h>
#include <sys/syscall.h> // For syscall numbers.
+#include "hdr/sys_mman_macros.h" // For MREMAP_FIXED, MAP_FAILED.
+
namespace LIBC_NAMESPACE_DECL {
LLVM_LIBC_FUNCTION(void *, mremap,
diff --git a/libc/src/sys/mman/linux/posix_madvise.cpp b/libc/src/sys/mman/linux/posix_madvise.cpp
index e980ca4d4197c..18427e25911fd 100644
--- a/libc/src/sys/mman/linux/posix_madvise.cpp
+++ b/libc/src/sys/mman/linux/posix_madvise.cpp
@@ -14,6 +14,8 @@
#include <sys/syscall.h> // For syscall numbers.
+#include "hdr/sys_mman_macros.h" // For POSIX_MADV_DONTNEED.
+
namespace LIBC_NAMESPACE_DECL {
// This function is currently linux only. It has to be refactored suitably if
diff --git a/libc/src/sys/mman/madvise.h b/libc/src/sys/mman/madvise.h
index fcc9289996ec4..0df38ea15876e 100644
--- a/libc/src/sys/mman/madvise.h
+++ b/libc/src/sys/mman/madvise.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MADVISE_H
#define LLVM_LIBC_SRC_SYS_MMAN_MADVISE_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h> // For size_t and off_t
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mincore.h b/libc/src/sys/mman/mincore.h
index 4b50a19e8c91e..e855d4e6b6530 100644
--- a/libc/src/sys/mman/mincore.h
+++ b/libc/src/sys/mman/mincore.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MINCORE_H
#define LLVM_LIBC_SRC_SYS_MMAN_MINCORE_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h> // For size_t
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mlock.h b/libc/src/sys/mman/mlock.h
index 034a4f5c4b1f0..cbcf91217cb54 100644
--- a/libc/src/sys/mman/mlock.h
+++ b/libc/src/sys/mman/mlock.h
@@ -9,9 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MLOCK_H
#define LLVM_LIBC_SRC_SYS_MMAN_MLOCK_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h>
-#include <sys/syscall.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mlock2.h b/libc/src/sys/mman/mlock2.h
index 9bba06a5601d3..65dc0aa85a32f 100644
--- a/libc/src/sys/mman/mlock2.h
+++ b/libc/src/sys/mman/mlock2.h
@@ -9,8 +9,9 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MLOCK2_H
#define LLVM_LIBC_SRC_SYS_MMAN_MLOCK2_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h>
+
#include <sys/syscall.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mlockall.h b/libc/src/sys/mman/mlockall.h
index 8e305bb42ed8d..5e81a089966ec 100644
--- a/libc/src/sys/mman/mlockall.h
+++ b/libc/src/sys/mman/mlockall.h
@@ -10,7 +10,6 @@
#define LLVM_LIBC_SRC_SYS_MMAN_MLOCKALL_H
#include "src/__support/macros/config.h"
-#include <sys/mman.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mprotect.h b/libc/src/sys/mman/mprotect.h
index 890e9859405d5..6c44ac89a182d 100644
--- a/libc/src/sys/mman/mprotect.h
+++ b/libc/src/sys/mman/mprotect.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MPROTECT_H
#define LLVM_LIBC_SRC_SYS_MMAN_MPROTECT_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h> // For size_t and off_t
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mremap.h b/libc/src/sys/mman/mremap.h
index 208946bc58a2e..e7918c0123f5f 100644
--- a/libc/src/sys/mman/mremap.h
+++ b/libc/src/sys/mman/mremap.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MREMAP_H
#define LLVM_LIBC_SRC_SYS_MMAN_MREMAP_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h> // For size_t and off_t
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/msync.h b/libc/src/sys/mman/msync.h
index d20c3f38c3220..e91cd2df845e0 100644
--- a/libc/src/sys/mman/msync.h
+++ b/libc/src/sys/mman/msync.h
@@ -9,9 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MSYNC_H
#define LLVM_LIBC_SRC_SYS_MMAN_MSYNC_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h>
-#include <sys/syscall.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/munlock.h b/libc/src/sys/mman/munlock.h
index 07f6b3b82ffbd..81a21e8f246f7 100644
--- a/libc/src/sys/mman/munlock.h
+++ b/libc/src/sys/mman/munlock.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MUNLOCK_H
#define LLVM_LIBC_SRC_SYS_MMAN_MUNLOCK_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/munlockall.h b/libc/src/sys/mman/munlockall.h
index f0c632db6714b..957d812a4bfe3 100644
--- a/libc/src/sys/mman/munlockall.h
+++ b/libc/src/sys/mman/munlockall.h
@@ -10,7 +10,6 @@
#define LLVM_LIBC_SRC_SYS_MMAN_MUNLOCKALL_H
#include "src/__support/macros/config.h"
-#include <sys/mman.h>
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/munmap.h b/libc/src/sys/mman/munmap.h
index c1fd5d7b7d809..0da5086812072 100644
--- a/libc/src/sys/mman/munmap.h
+++ b/libc/src/sys/mman/munmap.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_MUNMAP_H
#define LLVM_LIBC_SRC_SYS_MMAN_MUNMAP_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h> // For size_t.
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/posix_madvise.h b/libc/src/sys/mman/posix_madvise.h
index 31ec5f656b650..0d4777d8f84b1 100644
--- a/libc/src/sys/mman/posix_madvise.h
+++ b/libc/src/sys/mman/posix_madvise.h
@@ -9,8 +9,8 @@
#ifndef LLVM_LIBC_SRC_SYS_MMAN_POSIX_MADVISE_H
#define LLVM_LIBC_SRC_SYS_MMAN_POSIX_MADVISE_H
+#include "hdr/types/size_t.h"
#include "src/__support/macros/config.h"
-#include <sys/mman.h> // For size_t and off_t
namespace LIBC_NAMESPACE_DECL {
More information about the libc-commits
mailing list