Index: boost/math/tools/config.hpp
--- boost/math/tools/config.hpp.orig	2009-05-22 19:49:00 +0200
+++ boost/math/tools/config.hpp	2009-08-29 10:03:55 +0200
@@ -23,7 +23,7 @@
 #include <boost/math/tools/user.hpp>
 #include <boost/math/special_functions/detail/round_fwd.hpp>
 
-#if defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \
+#if defined(__CYGWIN__) \
    || defined(__hppa) || defined(__NO_LONG_DOUBLE_MATH)
 #  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 #endif
Index: boost/test/impl/execution_monitor.ipp
--- boost/test/impl/execution_monitor.ipp.orig	2009-07-04 08:36:59 +0200
+++ boost/test/impl/execution_monitor.ipp	2009-08-29 10:05:26 +0200
@@ -316,6 +316,7 @@
         break;
     }
 
+#if 0
     switch( m_sig_info->si_signo ) {
     case SIGILL:
         switch( m_sig_info->si_code ) {
@@ -471,11 +472,13 @@
     case SIGCHLD:
         switch( m_sig_info->si_code ) {
 #ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifdef CLD_EXITED
         case CLD_EXITED:
             report_error( execution_exception::system_error,
                           "child has exited; pid: %d; uid: %d; exit value: %d",
                           (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
             break;
+#endif
         case CLD_KILLED:
             report_error( execution_exception::system_error,
                           "child was killed; pid: %d; uid: %d; exit value: %d",
@@ -571,6 +574,7 @@
     default:
         report_error( execution_exception::system_error, "unrecognized signal" );
     }
+#endif
 }
 
 //____________________________________________________________________________//
@@ -773,8 +777,10 @@
 {
     return info->si_signo == SIGCHLD
 #ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifdef CLD_EXITED
             && info->si_code == CLD_EXITED 
 #endif
+#endif
 #ifdef BOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE
             ;
 #else
Index: libs/math/src/tr1/hypotl.cpp
--- libs/math/src/tr1/hypotl.cpp.orig	2009-05-22 19:49:00 +0200
+++ libs/math/src/tr1/hypotl.cpp	2009-08-29 10:03:55 +0200
@@ -13,10 +13,12 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
+#if 0
 extern "C" long double BOOST_MATH_TR1_DECL hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
 {
    return c_policies::hypot BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }
+#endif
 
 }}}
 
Index: tools/jam/src/build.jam
--- tools/jam/src/build.jam.orig	2009-07-23 12:40:42 +0200
+++ tools/jam/src/build.jam	2009-08-29 10:03:55 +0200
@@ -190,7 +190,7 @@
 ## GCC 2.x, 3.x, 4.x
 toolset gcc gcc : "-o " : -D
     : -pedantic -fno-strict-aliasing
-    [ opt --release : [ opt --symbols : -g : -s ] -O3 ]
+    [ opt --release : [ opt --symbols : -g : -s ] -O0 ]
     [ opt --debug : -g -O0 -fno-inline ]
     -I$(--python-include) -I$(--extra-include) -Wno-long-long
     : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
Index: tools/jam/src/build.sh
--- tools/jam/src/build.sh.orig	2009-01-10 20:42:28 +0100
+++ tools/jam/src/build.sh	2009-08-29 10:03:55 +0200
@@ -129,7 +129,7 @@
     ;;
 
     gcc)
-    BOOST_JAM_CC=gcc
+    BOOST_JAM_CC="gcc -O0"
     ;;
 
     darwin)
