From 0e44bc3baeb1677e5fbdda87a737b9c508c95132 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 24 Feb 2014 15:55:31 -0800 Subject: [PATCH] Remove . If we have PAGE_SIZE/PAGESIZE, POSIX says they should be in . Change-Id: I3c2d574ea2aea81f524874a156361411a4ffa18e --- libc/bionic/ndk_cruft.cpp | 2 +- libc/bionic/stubs.cpp | 4 ++-- libc/bionic/sysconf.cpp | 7 +++++-- libc/include/asm/page.h | 25 ------------------------- libc/include/limits.h | 8 +++++++- libc/include/sys/mman.h | 29 ++++++++++++++--------------- libc/include/sys/user.h | 1 + tests/sys_mman_test.cpp | 4 ++-- 8 files changed, 32 insertions(+), 48 deletions(-) delete mode 100644 libc/include/asm/page.h diff --git a/libc/bionic/ndk_cruft.cpp b/libc/bionic/ndk_cruft.cpp index 3637c3e00..fc9d9d49f 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 707036a89..2c2b74b7d 100644 --- a/libc/bionic/stubs.cpp +++ b/libc/bionic/stubs.cpp @@ -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); } diff --git a/libc/bionic/sysconf.cpp b/libc/bionic/sysconf.cpp index db808c21f..233e57c87 100644 --- a/libc/bionic/sysconf.cpp +++ b/libc/bionic/sysconf.cpp @@ -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 index d401a3fe3..000000000 --- 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 b9d435450..471d38009 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 #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 7c5f8d774..5a8c9858f 100644 --- a/libc/include/sys/mman.h +++ b/libc/include/sys/mman.h @@ -31,7 +31,6 @@ #include #include #include -#include __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 diff --git a/libc/include/sys/user.h b/libc/include/sys/user.h index 90cce8083..e16b1a55c 100644 --- a/libc/include/sys/user.h +++ b/libc/include/sys/user.h @@ -30,6 +30,7 @@ #define _SYS_USER_H_ #include +#include /* For PAGE_SIZE. */ __BEGIN_DECLS diff --git a/tests/sys_mman_test.cpp b/tests/sys_mman_test.cpp index 57067d70f..6ac279f25 100644 --- a/tests/sys_mman_test.cpp +++ b/tests/sys_mman_test.cpp @@ -20,11 +20,11 @@ #include 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)); }