| Index: third_party/tcmalloc/vendor/configure.ac
|
| ===================================================================
|
| --- third_party/tcmalloc/vendor/configure.ac (revision 92996)
|
| +++ third_party/tcmalloc/vendor/configure.ac (working copy)
|
| @@ -4,11 +4,11 @@
|
| # make sure we're interpreted by some minimal autoconf
|
| AC_PREREQ(2.57)
|
|
|
| -AC_INIT(google-perftools, 1.7, opensource@google.com)
|
| +AC_INIT(google-perftools, 1.8, opensource@google.com)
|
| # Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
|
| # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
| -TCMALLOC_SO_VERSION=1:0:1
|
| -PROFILER_SO_VERSION=1:0:1
|
| +TCMALLOC_SO_VERSION=2:0:2
|
| +PROFILER_SO_VERSION=1:1:1
|
|
|
| AC_SUBST(TCMALLOC_SO_VERSION)
|
| AC_SUBST(PROFILER_SO_VERSION)
|
| @@ -238,6 +238,24 @@
|
| rm fp.s
|
| CFLAGS="$OLD_CFLAGS"
|
|
|
| +# See if the compiler supports -Wno-unused-result.
|
| +# Newer ubuntu's turn on -D_FORTIFY_SOURCE=2, enabling
|
| +# __attribute__((warn_unused_result)) for things like write(),
|
| +# which we don't care about.
|
| +AC_CACHE_CHECK([if the compiler supports -Wno-unused-result],
|
| + perftools_cv_w_no_unused_result,
|
| + [OLD_CFLAGS="$CFLAGS"
|
| + CFLAGS="$CFLAGS -Wno-error -Wno-unused-result"
|
| + # gcc doesn't warn about unknown flags unless it's
|
| + # also warning for some other purpose, hence the
|
| + # divide-by-0. (We use -Wno-error to make sure the
|
| + # divide-by-0 doesn't cause this test to fail!)
|
| + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, return 1/0)],
|
| + perftools_cv_w_no_unused_result=yes,
|
| + perftools_cv_w_no_unused_result=no)
|
| + CFLAGS="$OLD_CFLAGS"])
|
| +AM_CONDITIONAL(HAVE_W_NO_UNUSED_RESULT,
|
| + test "$perftools_cv_w_no_unused_result" = yes)
|
|
|
| # Defines PRIuS
|
| AC_COMPILER_CHARACTERISTICS
|
| @@ -276,10 +294,20 @@
|
| #error gcc has this bug: http://gcc.gnu.org/ml/gcc-bugs/2006-09/msg02275.html
|
| #endif], [static __thread int p = 0])],
|
| [AC_DEFINE(HAVE_TLS, 1,
|
| - Define to 1 if compiler supports __thread)
|
| + Define to 1 if compiler supports __thread)
|
| AC_MSG_RESULT([yes])],
|
| [AC_MSG_RESULT([no])])
|
|
|
| +# glibc's __malloc_hook/etc were declared volatile starting in glibc 2.14
|
| +AC_MSG_CHECKING([if __malloc_hook is declared volatile])
|
| +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <malloc.h>
|
| +void* (* volatile __malloc_hook)(size_t, const void*) = 0;],)],
|
| + [AC_DEFINE(MALLOC_HOOK_MAYBE_VOLATILE, volatile,
|
| + Define to 'volatile' if __malloc_hook is declared volatile)
|
| + AC_MSG_RESULT([yes])],
|
| + [AC_DEFINE(MALLOC_HOOK_MAYBE_VOLATILE, ),
|
| + AC_MSG_RESULT([no])])
|
| +
|
| # Nanosleep requires extra libraries on some architectures (solaris).
|
| # This sets NANOSLEEP_LIBS. nanosleep doesn't exist on mingw, which
|
| # is fine for us because we don't compile libspinlock, which uses it.
|
| @@ -334,10 +362,20 @@
|
| #define GOOGLE_PERFTOOLS_CONFIG_H_
|
| ])
|
|
|
| +AH_VERBATIM([PTHREADS_CRASHES_IF_RUN_TOO_EARLY],
|
| + [/* Mark the systems where we know it's bad if pthreads runs too
|
| + early before main (before threads are initialized, presumably). */
|
| +#ifdef __FreeBSD__
|
| +#define PTHREADS_CRASHES_IF_RUN_TOO_EARLY 1
|
| +#endif])
|
| +
|
| # MinGW uses autoconf, but also needs the windows shim routines
|
| # (since it doesn't have its own support for, say, pthreads).
|
| # This requires us to #include a special header file, and also to
|
| # link in some windows versions of .o's instead of the unix versions.
|
| +#
|
| +# Also, manually mark systems where we have to be careful how early
|
| +# we run pthreads. TODO(csilvers): turn this into an autoconf check.
|
| AH_BOTTOM([
|
| #ifdef __MINGW32__
|
| #include "windows/mingw.h"
|
| @@ -346,6 +384,7 @@
|
| #endif /* #ifndef GOOGLE_PERFTOOLS_CONFIG_H_ */
|
| ])
|
| AM_CONDITIONAL(MINGW, expr $host : '.*-mingw' >/dev/null 2>&1)
|
| +AM_CONDITIONAL(OSX, expr $host : '.*-apple-darwin.*' >/dev/null 2>&1)
|
|
|
| # Redhat 7 (and below?) has sys/ucontext.h, but if you try to #include
|
| # it directly, the compiler gets upset. So we pretend we don't have
|
|
|