summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Holland-Moritz <mhx-perl@gmx.net>2007-08-12 15:16:52 +0200
committerAbhijit Menon-Sen <ams@wiw.org>2007-08-12 14:10:10 +0000
commitb57863ed0a63d5542d95689d8dfafc42a3c5f522 (patch)
tree2db16b7ba6538cd7fb7b9317844d621c228e6a50
parent8f767a7ad369a4fa8e5bce4de826fa7d91f2cb6a (diff)
downloadperl-b57863ed0a63d5542d95689d8dfafc42a3c5f522.tar.gz
Use sysconf/getpagesize/page.h to determine page size on Linux,
in that order. Subject: Re: [PATCH] Various Gentoo Patches Message-Id: <20070812131652.16ca5444@r2d2> p4raw-id: //depot/perl@31702
-rw-r--r--ext/IPC/SysV/SysV.xs10
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/IPC/SysV/SysV.xs b/ext/IPC/SysV/SysV.xs
index d2b1ecbac1..112671161c 100644
--- a/ext/IPC/SysV/SysV.xs
+++ b/ext/IPC/SysV/SysV.xs
@@ -3,9 +3,6 @@
#include "XSUB.h"
#include <sys/types.h>
-#ifdef __linux__
-# include <asm/page.h>
-#endif
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
#ifndef HAS_SEM
# include <sys/ipc.h>
@@ -21,9 +18,14 @@
# ifndef HAS_SHMAT_PROTOTYPE
extern Shmat_t shmat (int, char *, int);
# endif
-# if defined(__sparc__) && (defined(__NetBSD__) || defined(__OpenBSD__))
+# if defined(HAS_SYSCONF) && defined(_SC_PAGESIZE)
+# undef SHMLBA /* not static: determined at boot time */
+# define SHMLBA sysconf(_SC_PAGESIZE)
+# elif defined(HAS_GETPAGESIZE)
# undef SHMLBA /* not static: determined at boot time */
# define SHMLBA getpagesize()
+# elif defined(__linux__)
+# include <asm/page.h>
# endif
# endif
#endif