Fix a regression in JE_COMPILABLE().
Revert JE_COMPILABLE() so that it detects link errors. Cross-compiling should still work as long as a valid configure cache is provided. Clean up some comments/whitespace.
This commit is contained in:
parent
eb2398106f
commit
4c2faa8a7c
28
configure.ac
28
configure.ac
@ -26,14 +26,17 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||
])
|
||||
|
||||
dnl JE_COMPILABLE(label, hcode, mcode, rvar)
|
||||
dnl
|
||||
dnl Use AC_RUN_IFELSE() rather than AC_COMPILE_IFELSE() so that linker errors
|
||||
dnl cause failure.
|
||||
AC_DEFUN([JE_COMPILABLE],
|
||||
[
|
||||
AC_CACHE_CHECK([whether $1 is compilable],
|
||||
[$4],
|
||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$2],
|
||||
[$3])],
|
||||
[$4=yes],
|
||||
[$4=no])])
|
||||
[AC_RUN_IFELSE([AC_LANG_PROGRAM([$2],
|
||||
[$3])],
|
||||
[$4=yes],
|
||||
[$4=no])])
|
||||
])
|
||||
|
||||
dnl ============================================================================
|
||||
@ -801,16 +804,13 @@ dnl ============================================================================
|
||||
dnl Check for ffsl(3), and fail if not found. This function exists on all
|
||||
dnl platforms that jemalloc currently has a chance of functioning on without
|
||||
dnl modification.
|
||||
JE_COMPILABLE([a program using ffsl],
|
||||
[
|
||||
#include <string.h>
|
||||
],
|
||||
[
|
||||
{
|
||||
int rv = ffsl(0x08);
|
||||
}
|
||||
],
|
||||
[je_cv_function_ffsl])
|
||||
JE_COMPILABLE([a program using ffsl], [
|
||||
#include <string.h>
|
||||
], [
|
||||
{
|
||||
int rv = ffsl(0x08);
|
||||
}
|
||||
], [je_cv_function_ffsl])
|
||||
if test "x${je_cv_function_ffsl}" != "xyes" ; then
|
||||
AC_MSG_ERROR([Cannot build without ffsl(3)])
|
||||
fi
|
||||
|
@ -240,14 +240,14 @@ static const bool config_ivsalloc =
|
||||
#define LONG_MASK (LONG - 1)
|
||||
|
||||
/* Return the smallest long multiple that is >= a. */
|
||||
#define LONG_CEILING(a) \
|
||||
#define LONG_CEILING(a) \
|
||||
(((a) + LONG_MASK) & ~LONG_MASK)
|
||||
|
||||
#define SIZEOF_PTR (1U << LG_SIZEOF_PTR)
|
||||
#define PTR_MASK (SIZEOF_PTR - 1)
|
||||
|
||||
/* Return the smallest (void *) multiple that is >= a. */
|
||||
#define PTR_CEILING(a) \
|
||||
#define PTR_CEILING(a) \
|
||||
(((a) + PTR_MASK) & ~PTR_MASK)
|
||||
|
||||
/*
|
||||
@ -566,10 +566,7 @@ sa2u(size_t size, size_t alignment, size_t *run_size_p)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Choose an arena based on a per-thread value (fast-path code, calls slow-path
|
||||
* code if necessary).
|
||||
*/
|
||||
/* Choose an arena based on a per-thread value. */
|
||||
JEMALLOC_INLINE arena_t *
|
||||
choose_arena(void)
|
||||
{
|
||||
|
@ -101,10 +101,7 @@ arenas_extend(unsigned ind)
|
||||
return (arenas[0]);
|
||||
}
|
||||
|
||||
/*
|
||||
* Choose an arena based on a per-thread value (slow-path code only, called
|
||||
* only by choose_arena()).
|
||||
*/
|
||||
/* Slow path, called only by choose_arena(). */
|
||||
arena_t *
|
||||
choose_arena_hard(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user