[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