From: Otto Moerbeek Date: Tue, 5 Jan 2021 10:10:08 +0000 (+0100) Subject: Enable address sanitizer on MacOS X-Git-Tag: rec-4.5.0-alpha1~44^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F9909%2Fhead;p=thirdparty%2Fpdns.git Enable address sanitizer on MacOS --- diff --git a/pdns/mtasker.hh b/pdns/mtasker.hh index 2b9301d9a1..607ca57745 100644 --- a/pdns/mtasker.hh +++ b/pdns/mtasker.hh @@ -97,11 +97,19 @@ public: void initMainStackBounds() { #ifdef HAVE_FIBER_SANITIZER + +#ifdef HAVE_PTHREAD_GETATTR_NP pthread_attr_t attr; pthread_attr_init(&attr); pthread_getattr_np(pthread_self(), &attr); pthread_attr_getstack(&attr, &t_mainStack, &t_mainStackSize); pthread_attr_destroy(&attr); +#endif +#if defined(HAVE_PTHREAD_GET_STACKSIZE_NP) && defined(HAVE_PTHREAD_GET_STACKADDR_NP) + t_mainStack = pthread_get_stackaddr_np(pthread_self()); + t_mainStackSize = pthread_get_stacksize_np(pthread_self()); +#endif + #endif /* HAVE_FIBER_SANITIZER */ } diff --git a/pdns/recursordist/configure.ac b/pdns/recursordist/configure.ac index f5f525ad5e..b3437599b9 100644 --- a/pdns/recursordist/configure.ac +++ b/pdns/recursordist/configure.ac @@ -95,7 +95,7 @@ PDNS_CHECK_CURL dnl the *_r functions are in posix so we can use them unconditionally, but the ext/yahttp code is dnl using the defines. -AC_CHECK_FUNCS_ONCE([localtime_r gmtime_r strcasestr getrandom arc4random]) +AC_CHECK_FUNCS_ONCE([localtime_r gmtime_r strcasestr getrandom arc4random pthread_getattr_np pthread_get_stackaddr_np pthread_get_stacksize_np]) PDNS_CHECK_PTHREAD_NP