Skip to content

Instantly share code, notes, and snippets.

@danielhams
Created June 27, 2019 12:50
Show Gist options
  • Save danielhams/d5358be2159bc3218e91bc11b9e83e58 to your computer and use it in GitHub Desktop.
Save danielhams/d5358be2159bc3218e91bc11b9e83e58 to your computer and use it in GitHub Desktop.
Patch for boost 1.69.0, gcc8.2.0 compiler + binutils2.19
Only in boost_1_69_0-patched: b2
Only in boost_1_69_0-patched: bin.v2
Only in boost_1_69_0-patched: bjam
diff -u -r -w boost_1_69_0/boost/config/platform/irix.hpp boost_1_69_0-patched/boost/config/platform/irix.hpp
--- boost_1_69_0/boost/config/platform/irix.hpp 2018-12-05 19:58:16.000000000 +0000
+++ boost_1_69_0-patched/boost/config/platform/irix.hpp 2019-05-30 13:10:41.688909160 +0000
@@ -20,7 +20,7 @@
#ifdef __GNUC__
// GNU C on IRIX does not support threads (checked up to gcc 3.3)
-# define BOOST_DISABLE_THREADS
+//# define BOOST_DISABLE_THREADS
#endif
// boilerplate code:
Only in boost_1_69_0-patched/boost/config/platform: irix.hpp~
diff -u -r -w boost_1_69_0/boost/config/requires_threads.hpp boost_1_69_0-patched/boost/config/requires_threads.hpp
--- boost_1_69_0/boost/config/requires_threads.hpp 2018-12-05 19:58:16.000000000 +0000
+++ boost_1_69_0-patched/boost/config/requires_threads.hpp 2019-05-30 13:08:29.868262920 +0000
@@ -20,8 +20,8 @@
//
// this is checked up to gcc 3.3:
//
-#if defined(__sgi) || defined(__hpux)
-# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)"
+#if defined(__hpux)
+# error "Multi-threaded programs are not supported by gcc on HPUX (last checked with gcc 3.3)"
#endif
#endif
Only in boost_1_69_0-patched/boost/config: requires_threads.hpp~
diff -u -r -w boost_1_69_0/boost/thread/pthread/thread_data.hpp boost_1_69_0-patched/boost/thread/pthread/thread_data.hpp
--- boost_1_69_0/boost/thread/pthread/thread_data.hpp 2018-12-05 19:58:23.000000000 +0000
+++ boost_1_69_0-patched/boost/thread/pthread/thread_data.hpp 2019-05-30 14:38:06.958055520 +0000
@@ -32,6 +32,11 @@
# endif
#endif
+#if defined(__sgi)
+# undef PTHREAD_STACK_MIN
+# define PTHREAD_STACK_MIN 16384
+#endif
+
#include <pthread.h>
#include <unistd.h>
Only in boost_1_69_0-patched/boost/thread/pthread: thread_data.hpp~
diff -u -r -w boost_1_69_0/boost/type_index/stl_type_index.hpp boost_1_69_0-patched/boost/type_index/stl_type_index.hpp
--- boost_1_69_0/boost/type_index/stl_type_index.hpp 2018-12-05 19:58:23.000000000 +0000
+++ boost_1_69_0-patched/boost/type_index/stl_type_index.hpp 2019-05-30 14:23:43.416317440 +0000
@@ -47,8 +47,7 @@
# include <boost/container_hash/hash.hpp>
#endif
-#if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \
- || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744)
+#if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245)
# include <boost/type_traits/is_signed.hpp>
# include <boost/type_traits/make_signed.hpp>
# include <boost/type_traits/type_identity.hpp>
@@ -195,7 +194,6 @@
// comparisons don't work, so we are using typeid(x).name() instead.
# if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5))) \
|| defined(_AIX) \
- || (defined(__sgi) && defined(__host_mips)) \
|| (defined(__hpux) && defined(__HP_aCC)) \
|| (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC))
# define BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
@@ -227,8 +225,7 @@
typedef BOOST_DEDUCED_TYPENAME boost::remove_reference<T>::type no_ref_t;
typedef BOOST_DEDUCED_TYPENAME boost::remove_cv<no_ref_t>::type no_cvr_prefinal_t;
- # if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \
- || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744)
+ # if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245)
// Old EDG-based compilers seem to mistakenly distinguish 'integral' from 'signed integral'
// in typeid() expressions. Full template specialization for 'integral' fixes that issue:
Only in boost_1_69_0-patched/boost/type_index: stl_type_index.hpp~
Only in boost_1_69_0-patched: bootstrap.log
diff -u -r -w boost_1_69_0/bootstrap.sh boost_1_69_0-patched/bootstrap.sh
--- boost_1_69_0/bootstrap.sh 2018-12-05 19:58:10.000000000 +0000
+++ boost_1_69_0-patched/bootstrap.sh 2019-05-30 12:47:24.381386440 +0000
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env sh
# Copyright (C) 2005, 2006 Douglas Gregor.
# Copyright (C) 2006 The Trustees of Indiana University
#
Only in boost_1_69_0-patched: bootstrap.sh~
Only in boost_1_69_0-patched: howibuiltit.txt
Only in boost_1_69_0-patched/libs/config/checks/architecture: bin
Only in boost_1_69_0-patched: math_core.h
Only in boost_1_69_0-patched: project-config.jam
Only in boost_1_69_0-patched: project-config.jam.1
Only in boost_1_69_0-patched: stage
Only in boost_1_69_0-patched/status: core
diff -u -r -w boost_1_69_0/tools/build/bootstrap.sh boost_1_69_0-patched/tools/build/bootstrap.sh
--- boost_1_69_0/tools/build/bootstrap.sh 2018-12-05 19:58:24.000000000 +0000
+++ boost_1_69_0-patched/tools/build/bootstrap.sh 2019-05-30 12:47:37.803041000 +0000
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env sh
# Copyright (C) 2005, 2006 Douglas Gregor.
# Copyright (C) 2006 The Trustees of Indiana University
# Copyright (C) 2010 Bryce Lelbach
Only in boost_1_69_0-patched/tools/build: bootstrap.sh~
Only in boost_1_69_0-patched/tools/build/src/engine: bin.irixmips
Only in boost_1_69_0-patched/tools/build/src/engine: bootstrap
diff -u -r -w boost_1_69_0/tools/build/src/engine/execunix.c boost_1_69_0-patched/tools/build/src/engine/execunix.c
--- boost_1_69_0/tools/build/src/engine/execunix.c 2018-12-05 19:58:24.000000000 +0000
+++ boost_1_69_0-patched/tools/build/src/engine/execunix.c 2019-05-30 12:54:41.195950880 +0000
@@ -546,9 +546,16 @@
close_streams( i, ERR );
/* Reap the child and release resources. */
+#if defined(__sgi)
+ while ( ( pid = waitpid( cmdtab[ i ].pid, &status, 0 ) ) == -1 )
+ if ( errno != EINTR )
+ break;
+ getrusage(RUSAGE_CHILDREN, &cmd_usage);
+#else
while ( ( pid = wait4( cmdtab[ i ].pid, &status, 0, &cmd_usage ) ) == -1 )
if ( errno != EINTR )
break;
+#endif
if ( pid != cmdtab[ i ].pid )
{
err_printf( "unknown pid %d with errno = %d\n", pid, errno );
Only in boost_1_69_0-patched/tools/build/src/engine: execunix.c~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment