BIND 10 master, updated. 598e458c7af7d5bb81131112396e4c5845060ecd Merge #3025

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Aug 13 13:48:42 UTC 2013


The branch, master has been updated
       via  598e458c7af7d5bb81131112396e4c5845060ecd (commit)
       via  cf7cb62d777a1d74db1abca0753e5fb2cfe0c310 (commit)
       via  535abe75debe26e48284244d0e856b9cad4eeec6 (commit)
       via  f59e953a20f34118e276c215ed5d75f0e0611c7f (commit)
       via  290fb63c1c7640c8fdc8801b93c36f8ca0432b96 (commit)
       via  9c88046f2b021dded1981966b930029e765b5915 (commit)
       via  6faea427392fa8809269171dc7d98d42177af846 (commit)
      from  1745301647282b8db81d5618543aabe66b255dd8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 598e458c7af7d5bb81131112396e4c5845060ecd
Merge: 1745301 cf7cb62
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Tue Aug 13 15:03:10 2013 +0200

    Merge #3025
    
    Detect old versions of boost and suggest either disabling shared memory
    for them or upgrading.

-----------------------------------------------------------------------

Summary of changes:
 configure.ac                    |   11 +++++++++++
 m4macros/ax_boost_for_bind10.m4 |   18 ++++++++++++++++++
 2 files changed, 29 insertions(+)

-----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index e5ec669..41b0900 100644
--- a/configure.ac
+++ b/configure.ac
@@ -912,6 +912,17 @@ if test "x$use_shared_memory" = "xyes"; then
 fi
 AC_SUBST(BOOST_MAPPED_FILE_CXXFLAG)
 
+if test "$BOOST_OFFSET_PTR_OLD" = "yes" -a "$use_shared_memory" = "yes" ; then
+    AC_MSG_ERROR([You're trying to compile against boost older than 1.48 with
+shared memory. Older versions of boost have a bug which causes segfaults in
+offset_ptr implementation when compiled by GCC with optimisations enabled.
+See ticket no. 3025 for details.
+
+Either update boost to newer version or use --without-shared-memory.
+Note that most users likely don't need shared memory support.
+])
+fi
+
 # Add some default CPP flags needed for Boost, identified by the AX macro.
 CPPFLAGS="$CPPFLAGS $CPPFLAGS_BOOST_THREADCONF"
 
diff --git a/m4macros/ax_boost_for_bind10.m4 b/m4macros/ax_boost_for_bind10.m4
index 3a71337..cc6408c 100644
--- a/m4macros/ax_boost_for_bind10.m4
+++ b/m4macros/ax_boost_for_bind10.m4
@@ -31,6 +31,12 @@ dnl                             It is of no use if "WOULDFAIL" is yes.
 dnl   BOOST_STATIC_ASSERT_WOULDFAIL set to "yes" if BOOST_STATIC_ASSERT would
 dnl                                 cause build error; otherwise set to "no"
 
+dnl   BOOST_OFFSET_PTR_OLD set to "yes" if the version of boost is older than
+dnl                        1.48. Older versions of boost have a bug which
+dnl                        causes segfaults in offset_ptr implementation when
+dnl                        compiled by GCC with optimisations enabled.
+dnl                        See ticket no. 3025 for details.
+
 AC_DEFUN([AX_BOOST_FOR_BIND10], [
 AC_LANG_SAVE
 AC_LANG([C++])
@@ -106,9 +112,21 @@ if test "X$GXX" = "Xyes"; then
     BOOST_NUMERIC_CAST_WOULDFAIL=yes])
 
    CXXFLAGS="$CXXFLAGS_SAVED"
+
+   AC_MSG_CHECKING([Boost rbtree is old])
+   AC_TRY_COMPILE([
+   #include <boost/version.hpp>
+   #if BOOST_VERSION < 104800
+   #error Too old
+   #endif
+   ],,[AC_MSG_RESULT(no)
+       BOOST_OFFSET_PTR_OLD=no
+   ],[AC_MSG_RESULT(yes)
+      BOOST_OFFSET_PTR_OLD=yes])
 else
    # This doesn't matter for non-g++
    BOOST_NUMERIC_CAST_WOULDFAIL=no
+   BOOST_OFFSET_PTR_OLD=no
 fi
 
 # Boost interprocess::managed_mapped_file is highly system dependent and



More information about the bind10-changes mailing list