#include <AvailabilityMacros.h>
#endif
-/* Use tcmalloc's malloc_size() when available.
- * When tcmalloc is used, native OSX malloc_size() may never be used because
- * this expects a different allocation scheme. Therefore, *exclusively* use
- * either tcmalloc or OSX's malloc_size()! */
-#if defined(USE_TCMALLOC)
-#include <google/tcmalloc.h>
-#if TC_VERSION_MAJOR >= 1 && TC_VERSION_MINOR >= 6
-#define HAVE_MALLOC_SIZE 1
-#define redis_malloc_size(p) tc_malloc_size(p)
-#endif
-#elif defined(USE_JEMALLOC)
-#define JEMALLOC_MANGLE
-#include <jemalloc/jemalloc.h>
-#if JEMALLOC_VERSION_MAJOR >= 2 && JEMALLOC_VERSION_MINOR >= 1
-#define HAVE_MALLOC_SIZE 1
-#define redis_malloc_size(p) JEMALLOC_P(malloc_usable_size)(p)
-#endif
-#elif defined(__APPLE__)
-#include <malloc/malloc.h>
-#define HAVE_MALLOC_SIZE 1
-#define redis_malloc_size(p) malloc_size(p)
-#endif
-
-/* Tefine redis_fstat to fstat or fstat64() */
+/* Define redis_fstat to fstat or fstat64() */
#if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
#define redis_fstat fstat64
#define redis_stat stat64
#endif
/* Test for backtrace() */
-#if defined(__APPLE__) || defined(__linux__)
+#if defined(__APPLE__) || defined(__linux__) || defined(__sun)
#define HAVE_BACKTRACE 1
#endif
#error "Undefined or invalid BYTE_ORDER"
#endif
+#if (__i386 || __amd64) && __GNUC__
+#define GNUC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#if GNUC_VERSION >= 40100
+#define HAVE_ATOMIC
+#endif
+#endif
+
+
#endif