Add tls_model configuration.

The tls_model attribute isn't supporte by clang (yet?), so add a
configure test that defines JEMALLOC_TLS_MODEL appropriately.
This commit is contained in:
Jason Evans
2012-04-03 22:30:05 -07:00
parent 01b3fe55ff
commit 3cc1f1aa69
3 changed files with 22 additions and 4 deletions

View File

@@ -285,6 +285,21 @@ if test "x${je_cv_attribute}" = "xyes" ; then
JE_CFLAGS_APPEND([-fvisibility=hidden])
fi
fi
dnl Check for tls_model attribute support (clang 3.0 still lacks support).
SAVED_CFLAGS="${CFLAGS}"
JE_CFLAGS_APPEND([-Werror])
JE_COMPILABLE([tls_model attribute], [],
[static __thread int
__attribute__((tls_model("initial-exec"))) foo;
foo = 0;],
[je_cv_tls_model])
CFLAGS="${SAVED_CFLAGS}"
if test "x${je_cv_tls_model}" = "xyes" ; then
AC_DEFINE([JEMALLOC_TLS_MODEL],
[__attribute__((tls_model("initial-exec")))])
else
AC_DEFINE([JEMALLOC_TLS_MODEL], [ ])
fi
JE_COMPILABLE([mremap(...MREMAP_FIXED...)], [
#define _GNU_SOURCE
@@ -719,7 +734,7 @@ AC_CACHE_CHECK([STATIC_PAGE_SHIFT],
return 1;
}
fprintf(f, "%u\n", ffs((int)result) - 1);
close(f);
fclose(f);
return 0;
]])],