Skip to content

Commit 1892e6f

Browse files
[libc] fix rv32 mmap in auxv library (#162519)
Fix auxv rv32 build problem
1 parent 33f2668 commit 1892e6f

File tree

1 file changed

+6
-1
lines changed
  • libc/src/__support/OSUtil/linux

1 file changed

+6
-1
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,12 @@ LIBC_INLINE void Vector::initialize_unsafe(const Entry *auxv) {
8181
[[gnu::cold]]
8282
LIBC_INLINE void Vector::fallback_initialize_unsync() {
8383
constexpr size_t AUXV_MMAP_SIZE = FALLBACK_AUXV_ENTRIES * sizeof(Entry);
84-
long mmap_ret = syscall_impl<long>(SYS_mmap, nullptr, AUXV_MMAP_SIZE,
84+
#ifdef SYS_mmap2
85+
constexpr int MMAP_SYSNO = SYS_mmap2;
86+
#else
87+
constexpr int MMAP_SYSNO = SYS_mmap;
88+
#endif
89+
long mmap_ret = syscall_impl<long>(MMAP_SYSNO, nullptr, AUXV_MMAP_SIZE,
8590
PROT_READ | PROT_WRITE,
8691
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
8792
// We do not proceed if mmap fails.

0 commit comments

Comments
 (0)