]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11516 [build-system] Add --enable-pool-sanitizer configure flag. This will make...
authorChris Rienzo <chris@signalwire.com>
Tue, 20 Nov 2018 16:01:46 +0000 (16:01 +0000)
committerAndrey Volk <andywolk@gmail.com>
Tue, 16 Jul 2019 19:17:47 +0000 (23:17 +0400)
configure.ac
libs/apr/memory/unix/apr_pools.c

index 0f244529370c77fa2c256a69a91fa8d1407a3231..0d7607f403beee815bdd6be69ca2f1466adb7ce5 100644 (file)
@@ -1817,11 +1817,21 @@ AC_ARG_ENABLE(address_sanitizer,
   [enable_address_sanitizer="no"])
 
 if test "${enable_address_sanitizer}" = "yes"; then
-  APR_ADDTO(CFLAGS, -fsanitize=address -fno-omit-frame-pointer)
-  APR_ADDTO(CXXFLAGS, -fsanitize=address -fno-omit-frame-pointer)
+  APR_ADDTO(CFLAGS, -fsanitize=address -fno-omit-frame-pointer -fstack-protector-strong)
+  APR_ADDTO(CXXFLAGS, -fsanitize=address -fno-omit-frame-pointer -fstack-protector-strong)
   APR_ADDTO(LDFLAGS, -fsanitize=address)
 fi
 
+AC_ARG_ENABLE(,
+  [AC_HELP_STRING([--enable-pool-sanitizer],[build with sanitizer friendly pool behavior])],
+  [enable_pool_sanitizer="$enable_pool_sanitizer"],
+  [enable_pool_sanitizer="no"])
+
+if test "${enable_pool_sanitizer}" = "yes"; then
+  APR_ADDTO(CFLAGS, -DDESTROY_POOLS)
+  ac_configure_args="$ac_configure_args --enable-pool-debug=yes"
+fi
+
 # we never use this, and hard setting it will make cross compile work better
 ac_cv_file_dbd_apr_dbd_mysql_c=no
 
index 7ddc5e2af833841ed558ad59c7fca3fe820e4e14..600b0772ccd6921db397f292039bafdcc4baf590 100644 (file)
@@ -507,6 +507,16 @@ static void free_proc_chain(struct process_chain *procs);
 static void pool_destroy_debug(apr_pool_t *pool, const char *file_line);
 #endif
 
+
+#if APR_HAS_THREADS
+APR_DECLARE(void) apr_pool_mutex_set(apr_pool_t *pool,
+                                     apr_thread_mutex_t *mutex)
+{
+    pool->user_mutex = mutex;
+}
+#endif
+
+
 #if !APR_POOL_DEBUG
 /*
  * Initialization
@@ -729,14 +739,6 @@ APR_DECLARE(void) apr_pool_clear(apr_pool_t *pool)
 #endif
 }
 
-#if APR_HAS_THREADS
-APR_DECLARE(void) apr_pool_mutex_set(apr_pool_t *pool,
-                                                                        apr_thread_mutex_t *mutex)
-{
-    pool->user_mutex = mutex;
-}
-#endif
-
 APR_DECLARE(void) apr_pool_destroy(apr_pool_t *pool)
 {
     apr_memnode_t *active;