aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAliaksey Kandratsenka <alkondratenko@gmail.com>2016-03-05 15:08:50 -0800
committerAliaksey Kandratsenka <alkondratenko@gmail.com>2016-03-05 17:11:39 -0800
commit06811b3ae4c5365880898148d188ae91d20f52f2 (patch)
tree77e8d67529e8f64af253db70c2aff3c62d8b85b3
parentd4d99eb608f3d778fa301137a85cc4903a1dd33e (diff)
downloadgperftools-06811b3ae4c5365880898148d188ae91d20f52f2.tar.gz
disable dynamic sized delete support by default
IFUNC relocations don't support our advanced use case (calling application function or looking up environment variable). Particularly, it doesn't work on PPC and arm when tcmalloc is linked with -Wl,-z,now. See RedHat's bugzilla ticket https://bugzilla.redhat.com/show_bug.cgi?id=1312462 for more details.
-rw-r--r--configure.ac19
1 files changed, 3 insertions, 16 deletions
diff --git a/configure.ac b/configure.ac
index 0e3e090..1b47976 100644
--- a/configure.ac
+++ b/configure.ac
@@ -330,23 +330,10 @@ AM_CONDITIONAL(HAVE_W_NO_UNUSED_RESULT,
test "$perftools_cv_w_no_unused_result" = yes)
AC_ARG_ENABLE([dynamic-sized-delete-support],
- [AS_HELP_STRING([--disable-dynamic-sized-delete-support],
- [don't try to build run-time switch for sized delete operator])],
+ [AS_HELP_STRING([--enable-dynamic-sized-delete-support],
+ [try to build run-time switch for sized delete operator])],
[enable_dyn_sized_delete="$enableval"],
- [enable_dyn_sized_delete=default])
-
-AS_IF([test "x$enable_dyn_sized_delete" = xdefault],
- [AC_CACHE_CHECK(
- [if the compiler supports ifunc attributes for target],
- [perftools_cv_ifunc_result],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([
- void *resolve_foo() {return 0;}
- void foo() __attribute__((ifunc("resolve_foo")));
- ],[foo();])],
- [perftools_cv_ifunc_result=yes],
- [perftools_cv_ifunc_result=no])])]
- [enable_dyn_sized_delete=$perftools_cv_ifunc_result])
+ [enable_dyn_sized_delete=no])
AS_IF([test "x$enable_dyn_sized_delete" = xyes],
[AC_DEFINE([ENABLE_DYNAMIC_SIZED_DELETE], 1,