OSDN Git Service

Remove <asm/page.h>.
authorElliott Hughes <enh@google.com>
Mon, 24 Feb 2014 23:55:31 +0000 (15:55 -0800)
committerElliott Hughes <enh@google.com>
Mon, 24 Feb 2014 23:55:31 +0000 (15:55 -0800)
If we have PAGE_SIZE/PAGESIZE, POSIX says they should be in <limits.h>.

Change-Id: I3c2d574ea2aea81f524874a156361411a4ffa18e

libc/bionic/ndk_cruft.cpp
libc/bionic/stubs.cpp
libc/bionic/sysconf.cpp
libc/include/asm/page.h [deleted file]
libc/include/limits.h
libc/include/sys/mman.h
libc/include/sys/user.h
tests/sys_mman_test.cpp

index 3637c3e..fc9d9d4 100644 (file)
@@ -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).
index 707036a..2c2b74b 100644 (file)
@@ -480,7 +480,7 @@ void endusershell() {
   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);
 }
index db808c2..233e57c 100644 (file)
@@ -229,8 +229,11 @@ int sysconf(int name) {
 #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 (file)
index d401a3f..0000000
+++ /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
index b9d4354..471d380 100644 (file)
 #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_ */
index 7c5f8d7..5a8c985 100644 (file)
@@ -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 @@ __BEGIN_DECLS
 #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
 
index 90cce80..e16b1a5 100644 (file)
@@ -30,6 +30,7 @@
 #define _SYS_USER_H_
 
 #include <sys/cdefs.h>
+#include <limits.h> /* For PAGE_SIZE. */
 
 __BEGIN_DECLS
 
index 57067d7..6ac279f 100644 (file)
 #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));
 }