aboutsummaryrefslogtreecommitdiff
path: root/src/common/OpenBSD_malloc_Linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/OpenBSD_malloc_Linux.c')
-rw-r--r--src/common/OpenBSD_malloc_Linux.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/common/OpenBSD_malloc_Linux.c b/src/common/OpenBSD_malloc_Linux.c
index da240c8e7e..7252ead784 100644
--- a/src/common/OpenBSD_malloc_Linux.c
+++ b/src/common/OpenBSD_malloc_Linux.c
@@ -96,7 +96,7 @@ static pthread_mutex_t gen_mutex = PTHREAD_MUTEX_INITIALIZER;
#define _MALLOC_LOCK() {pthread_mutex_lock(&gen_mutex);}
#define _MALLOC_UNLOCK() {pthread_mutex_unlock(&gen_mutex);}
-#if defined(__sparc__)
+#if defined(__sparc__) || defined(__alpha__)
#define malloc_pageshift 13U
#endif /* __sparc__ */
@@ -787,6 +787,13 @@ malloc_init(void)
" Will not be able to dump malloc stats on exit");
#endif /* MALLOC_STATS */
+ if (malloc_pagesize != getpagesize()) {
+ wrterror("malloc() replacement compiled with a different "
+ "page size from what we're running with. Failing.");
+ errno = ENOMEM;
+ return;
+ }
+
/* Allocate one page for the page directory. */
page_dir = (struct pginfo **)MMAP(malloc_pagesize);