[libc-commits] [libc] 1892e6f - [libc] fix rv32 mmap in auxv library (#162519)

via libc-commits libc-commits at lists.llvm.org
Wed Oct 8 11:34:51 PDT 2025


Author: Schrodinger ZHU Yifan
Date: 2025-10-08T14:34:47-04:00
New Revision: 1892e6fbb33a1303f8103132c0122f9713dde21b

URL: https://github.com/llvm/llvm-project/commit/1892e6fbb33a1303f8103132c0122f9713dde21b
DIFF: https://github.com/llvm/llvm-project/commit/1892e6fbb33a1303f8103132c0122f9713dde21b.diff

LOG: [libc] fix rv32 mmap in auxv library (#162519)

Fix auxv rv32 build problem

Added: 
    

Modified: 
    libc/src/__support/OSUtil/linux/auxv.h

Removed: 
    


################################################################################
diff  --git a/libc/src/__support/OSUtil/linux/auxv.h b/libc/src/__support/OSUtil/linux/auxv.h
index 7fb996f01dd84..894868ae5824d 100644
--- a/libc/src/__support/OSUtil/linux/auxv.h
+++ b/libc/src/__support/OSUtil/linux/auxv.h
@@ -81,7 +81,12 @@ LIBC_INLINE void Vector::initialize_unsafe(const Entry *auxv) {
 [[gnu::cold]]
 LIBC_INLINE void Vector::fallback_initialize_unsync() {
   constexpr size_t AUXV_MMAP_SIZE = FALLBACK_AUXV_ENTRIES * sizeof(Entry);
-  long mmap_ret = syscall_impl<long>(SYS_mmap, nullptr, AUXV_MMAP_SIZE,
+#ifdef SYS_mmap2
+  constexpr int MMAP_SYSNO = SYS_mmap2;
+#else
+  constexpr int MMAP_SYSNO = SYS_mmap;
+#endif
+  long mmap_ret = syscall_impl<long>(MMAP_SYSNO, nullptr, AUXV_MMAP_SIZE,
                                      PROT_READ | PROT_WRITE,
                                      MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   // We do not proceed if mmap fails.


        


More information about the libc-commits mailing list