From 2e99c1960167ba2201b588c52d4c0f6e705e2ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Mon, 13 Jan 2014 15:22:38 +0100 Subject: [PATCH] libc: add support for sysconf(_SC_PAGESIZE) Fixes #1029. --- libports/src/lib/libc/sysctl.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libports/src/lib/libc/sysctl.cc b/libports/src/lib/libc/sysctl.cc index aacecc68c6..41c176b8f6 100644 --- a/libports/src/lib/libc/sysctl.cc +++ b/libports/src/lib/libc/sysctl.cc @@ -37,7 +37,12 @@ extern "C" int __sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, if ((name[0] == CTL_HW) && (name[1] == HW_NCPU)) return -1; - if ((name[0] == CTL_HW) && (name[1] == HW_PAGESIZE)) { + /* + * CTL_P1003_1B is used by sysconf(_SC_PAGESIZE) to determine + * the actual page size. + */ + if (((name[0] == CTL_HW) && (name[1] == HW_PAGESIZE)) || + (name[0] == CTL_P1003_1B) && (name[1] == CTL_P1003_1B_PAGESIZE)) { int result = 4096; if (oldp) { if (*oldlenp >= sizeof(result)) {