Merge "Remove <asm/page.h>."
diff --git a/libc/bionic/ndk_cruft.cpp b/libc/bionic/ndk_cruft.cpp
index 3637c3e..fc9d9d4 100644
--- a/libc/bionic/ndk_cruft.cpp
+++ b/libc/bionic/ndk_cruft.cpp
@@ -40,7 +40,7 @@
// getpagesize() and __getpageshift(). Needed for backwards compatibility with old NDK apps.
extern "C" {
unsigned int __page_size = PAGE_SIZE;
- unsigned int __page_shift = PAGE_SHIFT;
+ unsigned int __page_shift = 12;
}
// TODO: remove this backward compatibility hack (for jb-mr1 strace binaries).
diff --git a/libc/bionic/stubs.cpp b/libc/bionic/stubs.cpp
index 707036a..2c2b74b 100644
--- a/libc/bionic/stubs.cpp
+++ b/libc/bionic/stubs.cpp
@@ -480,7 +480,7 @@
UNIMPLEMENTED;
}
-// Portable code should use sysconf(_SC_PAGESIZE) directly instead.
+// Portable code should use sysconf(_SC_PAGE_SIZE) directly instead.
int getpagesize() {
- return sysconf(_SC_PAGESIZE);
+ return sysconf(_SC_PAGE_SIZE);
}
diff --git a/libc/bionic/sysconf.cpp b/libc/bionic/sysconf.cpp
index db808c2..233e57c 100644
--- a/libc/bionic/sysconf.cpp
+++ b/libc/bionic/sysconf.cpp
@@ -229,8 +229,11 @@
#endif
case _SC_ATEXIT_MAX: return SYSTEM_ATEXIT_MAX;
case _SC_IOV_MAX: return SYSTEM_IOV_MAX;
- case _SC_PAGESIZE: return PAGE_SIZE;
- case _SC_PAGE_SIZE: return PAGE_SIZE;
+
+ case _SC_PAGESIZE:
+ case _SC_PAGE_SIZE:
+ return PAGE_SIZE;
+
#ifdef _XOPEN_UNIX
case _SC_XOPEN_UNIX: return _XOPEN_UNIX;
#endif
diff --git a/libc/include/asm/page.h b/libc/include/asm/page.h
deleted file mode 100644
index d401a3f..0000000
--- a/libc/include/asm/page.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __ASM_PAGE_H
-#define __ASM_PAGE_H
-
-/* New code should use sysconf(_SC_PAGESIZE) instead. */
-#define PAGE_SHIFT 12
-#define PAGE_SIZE (1ULL << PAGE_SHIFT)
-#define PAGE_MASK (~(PAGE_SIZE - 1))
-
-#endif
diff --git a/libc/include/limits.h b/libc/include/limits.h
index b9d4354..471d380 100644
--- a/libc/include/limits.h
+++ b/libc/include/limits.h
@@ -105,9 +105,15 @@
#define ULONG_LONG_MAX ULLONG_MAX
#endif
+/* New code should use sysconf(_SC_PAGE_SIZE) instead. */
+#ifndef PAGE_SIZE
+#define PAGE_SIZE 4096
+#endif
#ifndef PAGESIZE
-#include <asm/page.h>
#define PAGESIZE PAGE_SIZE
#endif
+/* glibc's PAGE_MASK is the bitwise negation of BSD's! TODO: remove? */
+#define PAGE_MASK (~(PAGE_SIZE - 1))
+
#endif /* !_LIMITS_H_ */
diff --git a/libc/include/sys/mman.h b/libc/include/sys/mman.h
index 7c5f8d7..5a8c985 100644
--- a/libc/include/sys/mman.h
+++ b/libc/include/sys/mman.h
@@ -31,7 +31,6 @@
#include <sys/cdefs.h>
#include <sys/types.h>
#include <asm/mman.h>
-#include <asm/page.h>
__BEGIN_DECLS
@@ -44,23 +43,23 @@
#define MREMAP_MAYMOVE 1
#define MREMAP_FIXED 2
-extern void* mmap(void *, size_t, int, int, int, off_t);
-extern void* mmap64(void *, size_t, int, int, int, off64_t);
-extern int munmap(void *, size_t);
-extern int msync(const void *, size_t, int);
-extern int mprotect(const void *, size_t, int);
-extern void* mremap(void *, size_t, size_t, unsigned long);
+extern void* mmap(void*, size_t, int, int, int, off_t);
+extern void* mmap64(void*, size_t, int, int, int, off64_t);
+extern int munmap(void*, size_t);
+extern int msync(const void*, size_t, int);
+extern int mprotect(const void*, size_t, int);
+extern void* mremap(void*, size_t, size_t, unsigned long);
-extern int mlockall(int);
-extern int munlockall(void);
-extern int mlock(const void *, size_t);
-extern int munlock(const void *, size_t);
-extern int madvise(const void *, size_t, int);
+extern int mlockall(int);
+extern int munlockall(void);
+extern int mlock(const void*, size_t);
+extern int munlock(const void*, size_t);
+extern int madvise(const void*, size_t, int);
-extern int mlock(const void *addr, size_t len);
-extern int munlock(const void *addr, size_t len);
+extern int mlock(const void*, size_t);
+extern int munlock(const void*, size_t);
-extern int mincore(void* start, size_t length, unsigned char* vec);
+extern int mincore(void*, size_t, unsigned char*);
__END_DECLS
diff --git a/libc/include/sys/user.h b/libc/include/sys/user.h
index 90cce80..e16b1a5 100644
--- a/libc/include/sys/user.h
+++ b/libc/include/sys/user.h
@@ -30,6 +30,7 @@
#define _SYS_USER_H_
#include <sys/cdefs.h>
+#include <limits.h> /* For PAGE_SIZE. */
__BEGIN_DECLS
diff --git a/tests/sys_mman_test.cpp b/tests/sys_mman_test.cpp
index 57067d7..6ac279f 100644
--- a/tests/sys_mman_test.cpp
+++ b/tests/sys_mman_test.cpp
@@ -20,11 +20,11 @@
#include <unistd.h>
TEST(sys_mman, mmap_negative) {
- off_t off = -sysconf(_SC_PAGESIZE); // Aligned but negative.
+ off_t off = -sysconf(_SC_PAGE_SIZE); // Aligned but negative.
ASSERT_EQ(MAP_FAILED, mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, off));
}
TEST(sys_mman, mmap64_negative) {
- off64_t off64 = -sysconf(_SC_PAGESIZE); // Aligned but negative.
+ off64_t off64 = -sysconf(_SC_PAGE_SIZE); // Aligned but negative.
ASSERT_EQ(MAP_FAILED, mmap64(NULL, 4096, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, off64));
}