mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 13:51:41 +00:00
Bug 788955 - Check for malloc_usable_size() and malloc_np.h via autoconf. r=glandium
This commit is contained in:
parent
7f3f46ae89
commit
b905e6a742
@ -481,6 +481,7 @@ MacTCP.h
|
||||
MacTypes.h
|
||||
MacWindows.h
|
||||
malloc.h
|
||||
malloc_np.h
|
||||
map
|
||||
mapicode.h
|
||||
mapidefs.h
|
||||
|
19
configure.in
19
configure.in
@ -3768,21 +3768,22 @@ fi
|
||||
|
||||
dnl Check for the existence of various allocation headers/functions
|
||||
|
||||
MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
|
||||
MALLOC_H=
|
||||
MOZ_CHECK_HEADER(malloc.h, [MALLOC_H=malloc.h])
|
||||
if test "$MALLOC_H" = ""; then
|
||||
MOZ_CHECK_HEADER(malloc/malloc.h, [MALLOC_H=malloc/malloc.h])
|
||||
if test "$MALLOC_H" = ""; then
|
||||
MOZ_CHECK_HEADER(sys/malloc.h, [MALLOC_H=sys/malloc.h])
|
||||
|
||||
for file in $MALLOC_HEADERS; do
|
||||
MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
|
||||
if test "$MALLOC_H" != ""; then
|
||||
AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
|
||||
break
|
||||
fi
|
||||
fi
|
||||
if test "$MALLOC_H" != ""; then
|
||||
AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
|
||||
fi
|
||||
done
|
||||
|
||||
MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
|
||||
AC_CHECK_FUNCS(strndup posix_memalign memalign valloc)
|
||||
|
||||
AC_CHECK_FUNCS(malloc_usable_size)
|
||||
|
||||
dnl See if compiler supports some gcc-style attributes
|
||||
|
||||
AC_CACHE_CHECK(for __attribute__((always_inline)),
|
||||
|
@ -481,6 +481,7 @@ MacTCP.h
|
||||
MacTypes.h
|
||||
MacWindows.h
|
||||
malloc.h
|
||||
malloc_np.h
|
||||
map
|
||||
mapicode.h
|
||||
mapidefs.h
|
||||
|
@ -12,16 +12,13 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
#if defined(MALLOC_H)
|
||||
# include MALLOC_H // for memalign, valloc where available
|
||||
# include MALLOC_H // for memalign, valloc, malloc_size, malloc_usable_size
|
||||
#endif // if defined(MALLOC_H)
|
||||
#include <stddef.h> // for size_t
|
||||
#include <stdlib.h> // for malloc, free
|
||||
#if defined(XP_UNIX)
|
||||
# include <unistd.h> // for valloc on *BSD
|
||||
#endif //if defined(XP_UNIX)
|
||||
#if defined(__FreeBSD__)
|
||||
# include <malloc_np.h> // for malloc_usable_size
|
||||
#endif // if defined(__FreeBSD__)
|
||||
|
||||
#if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
|
||||
# define MOZALLOC_EXPORT __declspec(dllexport)
|
||||
@ -213,8 +210,7 @@ moz_malloc_usable_size(void *ptr)
|
||||
|
||||
#if defined(XP_MACOSX)
|
||||
return malloc_size(ptr);
|
||||
#elif defined(MOZ_MEMORY) || (defined(XP_LINUX) && !defined(ANDROID)) || defined(__FreeBSD__)
|
||||
// Android bionic libc doesn't have malloc_usable_size.
|
||||
#elif defined(HAVE_MALLOC_USABLE_SIZE) || defined(MOZ_MEMORY)
|
||||
return malloc_usable_size(ptr);
|
||||
#elif defined(XP_WIN)
|
||||
return _msize(ptr);
|
||||
|
Loading…
Reference in New Issue
Block a user