diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index 4e483e6a6140..7425796a392f 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -48,6 +48,11 @@ # define malloc_pageshift 12U # define malloc_minsize 16U # endif +# if defined(__ia64__) + static int malloc_pageshift_value; +# define malloc_pageshift malloc_pageshift_value +# define malloc_minsize 16U +# endif # if defined(__alpha__) # define malloc_pageshift 13U # define malloc_minsize 16U @@ -396,6 +401,12 @@ malloc_init () INIT_MMAP(); +#ifdef __ia64__ + malloc_pageshift = 0; + while ((1L << malloc_pageshift) < getpagesize()) + malloc_pageshift++; +#endif + #ifdef EXTRA_SANITY malloc_junk = 1; #endif /* EXTRA_SANITY */