diff options
author | Mark Brand <mabrand@mabrand.nl> | 2015-03-29 11:49:14 (GMT) |
---|---|---|
committer | Mark Brand <mabrand@mabrand.nl> | 2015-03-29 13:04:09 (GMT) |
commit | a8df43d1324294522bde66f2c5d5f9f6d43476e6 (patch) | |
tree | 831a4b620a36d8d2979c6d36e28204256aeed4db /src/boost-1-fixes.patch | |
parent | 5327759c3345ff3e9550cc56595c9dde0a1ab016 (diff) | |
download | mxe-a8df43d1324294522bde66f2c5d5f9f6d43476e6.zip mxe-a8df43d1324294522bde66f2c5d5f9f6d43476e6.tar.gz mxe-a8df43d1324294522bde66f2c5d5f9f6d43476e6.tar.bz2 |
boost: mingw-w64 4.01 compatibility fix
This reverts commit 65ca33b218fb2dfe6456ca480eafdb13133917cc.
Diffstat (limited to 'src/boost-1-fixes.patch')
-rw-r--r-- | src/boost-1-fixes.patch | 157 |
1 files changed, 131 insertions, 26 deletions
diff --git a/src/boost-1-fixes.patch b/src/boost-1-fixes.patch index b643117..fd9db9c 100644 --- a/src/boost-1-fixes.patch +++ b/src/boost-1-fixes.patch @@ -1,12 +1,18 @@ This file is part of MXE. See index.html for further information. +From 7b1ff5c3a275e2903a7f35a3817d00f8a75b47d0 Mon Sep 17 00:00:00 2001 +From: Tony Theodore <tonyt@logyst.com> +Date: Sun, 29 Mar 2015 12:55:15 +0200 +Subject: [PATCH 1/3] fixes + This patch has been taken from: https://aur.archlinux.org/packages/mingw-w64-boost/ -diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp boost_1_57_0/boost/detail/interlocked.hpp ---- boost_1_57_0.orig/boost/detail/interlocked.hpp 2014-12-05 20:22:34.000000000 +1100 -+++ boost_1_57_0/boost/detail/interlocked.hpp 2014-12-05 20:22:53.000000000 +1100 +diff --git a/boost/detail/interlocked.hpp b/boost/detail/interlocked.hpp +index 2c91ce2..abc7c6d 100644 +--- a/boost/detail/interlocked.hpp ++++ b/boost/detail/interlocked.hpp @@ -1,6 +1,10 @@ #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED #define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED @@ -18,9 +24,11 @@ diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp boost_1_57_0/boost/deta // // boost/detail/interlocked.hpp // -diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp.orig boost_1_57_0/boost/detail/interlocked.hpp.orig ---- boost_1_57_0.orig/boost/detail/interlocked.hpp.orig 1970-01-01 10:00:00.000000000 +1000 -+++ boost_1_57_0/boost/detail/interlocked.hpp.orig 2014-10-02 02:40:51.000000000 +1000 +diff --git a/boost/detail/interlocked.hpp.orig b/boost/detail/interlocked.hpp.orig +new file mode 100644 +index 0000000..2c91ce2 +--- /dev/null ++++ b/boost/detail/interlocked.hpp.orig @@ -0,0 +1,218 @@ +#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED +#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED @@ -240,10 +248,11 @@ diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp.orig boost_1_57_0/boost +#endif + +#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED -diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2 boost_1_57_0/libs/context/build/Jamfile.v2 ---- boost_1_57_0.orig/libs/context/build/Jamfile.v2 2014-12-05 20:22:38.000000000 +1100 -+++ boost_1_57_0/libs/context/build/Jamfile.v2 2014-12-05 20:22:53.000000000 +1100 -@@ -581,6 +581,17 @@ +diff --git a/libs/context/build/Jamfile.v2 b/libs/context/build/Jamfile.v2 +index 7cc8a07..2143ed3 100644 +--- a/libs/context/build/Jamfile.v2 ++++ b/libs/context/build/Jamfile.v2 +@@ -581,6 +581,17 @@ alias asm_context_sources ; alias asm_context_sources @@ -261,7 +270,7 @@ diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2 boost_1_57_0/libs/cont : asm/make_i386_ms_pe_masm.asm asm/jump_i386_ms_pe_masm.asm dummy.cpp -@@ -715,6 +726,17 @@ +@@ -715,6 +726,17 @@ alias asm_context_sources ; alias asm_context_sources @@ -279,9 +288,11 @@ diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2 boost_1_57_0/libs/cont : asm/make_x86_64_ms_pe_masm.asm asm/jump_x86_64_ms_pe_masm.asm dummy.cpp -diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2.orig boost_1_57_0/libs/context/build/Jamfile.v2.orig ---- boost_1_57_0.orig/libs/context/build/Jamfile.v2.orig 1970-01-01 10:00:00.000000000 +1000 -+++ boost_1_57_0/libs/context/build/Jamfile.v2.orig 2014-10-20 17:26:00.000000000 +1100 +diff --git a/libs/context/build/Jamfile.v2.orig b/libs/context/build/Jamfile.v2.orig +new file mode 100644 +index 0000000..7cc8a07 +--- /dev/null ++++ b/libs/context/build/Jamfile.v2.orig @@ -0,0 +1,775 @@ + +# Boost.Context Library Build Jamfile @@ -1058,9 +1069,11 @@ diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2.orig boost_1_57_0/libs + ; + +boost-install boost_context ; -diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_i386_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/jump_i386_ms_pe_gas.S ---- boost_1_57_0.orig/libs/context/src/asm/jump_i386_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000 -+++ boost_1_57_0/libs/context/src/asm/jump_i386_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100 +diff --git a/libs/context/src/asm/jump_i386_ms_pe_gas.S b/libs/context/src/asm/jump_i386_ms_pe_gas.S +new file mode 100644 +index 0000000..84ab084 +--- /dev/null ++++ b/libs/context/src/asm/jump_i386_ms_pe_gas.S @@ -0,0 +1,108 @@ +/* + Copyright Oliver Kowalke 2009. @@ -1170,9 +1183,11 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_i386_ms_pe_gas.S boost_1_5 + movl 0x14(%ecx), %ecx /* fetch the address to return to */ + + jmp *%ecx /* indirect jump to context */ -diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_x86_64_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/jump_x86_64_ms_pe_gas.S ---- boost_1_57_0.orig/libs/context/src/asm/jump_x86_64_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000 -+++ boost_1_57_0/libs/context/src/asm/jump_x86_64_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100 +diff --git a/libs/context/src/asm/jump_x86_64_ms_pe_gas.S b/libs/context/src/asm/jump_x86_64_ms_pe_gas.S +new file mode 100644 +index 0000000..32aa2a5 +--- /dev/null ++++ b/libs/context/src/asm/jump_x86_64_ms_pe_gas.S @@ -0,0 +1,189 @@ +/* + Copyright Oliver Kowalke 2009. @@ -1363,9 +1378,11 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_x86_64_ms_pe_gas.S boost_1 + + jmp *%r10 /* indirect jump to caller */ +.seh_endproc -diff -urN boost_1_57_0.orig/libs/context/src/asm/make_i386_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/make_i386_ms_pe_gas.S ---- boost_1_57_0.orig/libs/context/src/asm/make_i386_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000 -+++ boost_1_57_0/libs/context/src/asm/make_i386_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100 +diff --git a/libs/context/src/asm/make_i386_ms_pe_gas.S b/libs/context/src/asm/make_i386_ms_pe_gas.S +new file mode 100644 +index 0000000..1b57faa +--- /dev/null ++++ b/libs/context/src/asm/make_i386_ms_pe_gas.S @@ -0,0 +1,115 @@ +/* + Copyright Oliver Kowalke 2009. @@ -1482,9 +1499,11 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/make_i386_ms_pe_gas.S boost_1_5 + hlt + +.def __exit; .scl 2; .type 32; .endef /* standard C library function */ -diff -urN boost_1_57_0.orig/libs/context/src/asm/make_x86_64_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/make_x86_64_ms_pe_gas.S ---- boost_1_57_0.orig/libs/context/src/asm/make_x86_64_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000 -+++ boost_1_57_0/libs/context/src/asm/make_x86_64_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100 +diff --git a/libs/context/src/asm/make_x86_64_ms_pe_gas.S b/libs/context/src/asm/make_x86_64_ms_pe_gas.S +new file mode 100644 +index 0000000..5bfeeb1 +--- /dev/null ++++ b/libs/context/src/asm/make_x86_64_ms_pe_gas.S @@ -0,0 +1,132 @@ +/* + Copyright Oliver Kowalke 2009. @@ -1618,3 +1637,89 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/make_x86_64_ms_pe_gas.S boost_1 +.seh_endproc + +.def _exit; .scl 2; .type 32; .endef /* standard C library function */ +-- +2.1.0 + + +From eddef4ea6e60df241c9afa9a6adc909c57f8095c Mon Sep 17 00:00:00 2001 +From: Pavel Vatagin <pavelvat@gmail.com> +Date: Sun, 29 Mar 2015 12:57:11 +0200 +Subject: [PATCH 2/3] more fixes + +taken from https://github.com/boostorg/interprocess/pull/15 + +diff --git a/boost/interprocess/detail/win32_api.hpp b/boost/interprocess/detail/win32_api.hpp +index d9d3e70..7fcc907 100644 +--- a/boost/interprocess/detail/win32_api.hpp ++++ b/boost/interprocess/detail/win32_api.hpp +@@ -28,11 +28,18 @@ + #include <vector> + #include <memory> + ++#if defined (BOOST_INTERPROCESS_WINDOWS) ++# include <cstdarg> ++# include <boost/detail/interlocked.hpp> ++#else ++# error "This file can only be included in Windows OS" ++#endif ++ + #ifdef BOOST_USE_WINDOWS_H + #include <windows.h> +-#include <Wbemidl.h> +-#include <Objbase.h> +-#include <Shlobj.h> ++#include <wbemidl.h> ++#include <objbase.h> ++#include <shlobj.h> + #endif + + #if defined(_MSC_VER) +@@ -44,13 +51,6 @@ + # pragma comment( lib, "Shell32.lib" ) //SHGetSpecialFolderPathA + #endif + +-#if defined (BOOST_INTERPROCESS_WINDOWS) +-# include <cstdarg> +-# include <boost/detail/interlocked.hpp> +-#else +-# error "This file can only be included in Windows OS" +-#endif +- + ////////////////////////////////////////////////////////////////////////////// + // + // Declaration of Windows structures or typedefs if BOOST_USE_WINDOWS_H is used +@@ -2252,7 +2252,7 @@ inline bool get_last_bootup_time(std::string &stamp) + // Print the contents of each record in the buffer. + if(find_record_in_buffer(heap_deleter.get(), dwBytesRead, provider_name, event_id, pTypedRecord)){ + char stamp_str[sizeof(unsigned long)*3+1]; +- std::sprintf(&stamp_str[0], "%u", ((unsigned int)pTypedRecord->TimeGenerated)); ++ sprintf(&stamp_str[0], "%u", ((unsigned int)pTypedRecord->TimeGenerated)); + stamp = stamp_str; + break; + } +-- +2.1.0 + + +From 9081374d788ead34e417f0fe1aa34310156eb14f Mon Sep 17 00:00:00 2001 +From: Mark Brand <mabrand@mabrand.nl> +Date: Sun, 29 Mar 2015 13:00:45 +0200 +Subject: [PATCH 3/3] add missing winsock2.h + +Otherwise windows.h might default to winsock.h. + +diff --git a/boost/detail/interlocked.hpp b/boost/detail/interlocked.hpp +index abc7c6d..2cd60c1 100644 +--- a/boost/detail/interlocked.hpp ++++ b/boost/detail/interlocked.hpp +@@ -24,6 +24,7 @@ + + #if defined( BOOST_USE_WINDOWS_H ) + ++# include <winsock2.h> + # include <windows.h> + + # define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement +-- +2.1.0 + |