diff --git a/mps/src/vmso.c b/mps/src/vmso.c index 34425646ff4..630068c5d3d 100644 --- a/mps/src/vmso.c +++ b/mps/src/vmso.c @@ -1,6 +1,6 @@ /* impl.c.vmso: VIRTUAL MEMORY MAPPING FOR SOLARIS 2.x * - * $HopeName: MMsrc!vmso.c(trunk.4) $ + * $HopeName: MMsrc!vmso.c(trunk.5) $ * Copyright (C) 1995 Harlequin Group, all rights reserved * * Design: design.mps.vm @@ -41,13 +41,18 @@ #error "vmso.c compiled with VM_RM set" #endif /* VM_RM */ +/* Open sesame magic */ +#define _POSIX_SOURCE + #include #include #include #include #include +/* unistd for _SC_PAGESIZE */ +#include -SRCID(vmso, "$HopeName: MMsrc!vmso.c(trunk.4) $"); +SRCID(vmso, "$HopeName: MMsrc!vmso.c(trunk.5) $"); /* Fix up unprototyped system calls. */ @@ -56,7 +61,6 @@ SRCID(vmso, "$HopeName: MMsrc!vmso.c(trunk.4) $"); extern int close(int fd); extern int munmap(caddr_t addr, size_t len); -extern int getpagesize(void); #define SpaceVM(space) (&(space)->arenaStruct.vmStruct) @@ -64,7 +68,7 @@ Align VMAlign(void) { Align align; - align = (Align)getpagesize(); + align = (Align)sysconf(_SC_PAGESIZE); AVER(SizeIsP2(align)); return align;