Remove all patches.
These patches were all for older builds of KiCad and are no longer required for version 6.
This commit is contained in:
parent
86add3bb85
commit
a8f8a3590e
|
@ -1,12 +0,0 @@
|
|||
--- boost/cstdint.hpp
|
||||
+++ boost/cstdint.hpp
|
||||
@@ -42,5 +42,8 @@
|
||||
// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
|
||||
//
|
||||
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
|
||||
+#if defined(BOOST_HAS_STDINT_H) \
|
||||
+ && (!defined(__GLIBC__) \
|
||||
+ || defined(__GLIBC_HAVE_LONG_LONG) \
|
||||
+ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
|
||||
|
||||
// The following #include is an implementation artifact; not part of interface.
|
|
@ -1,43 +0,0 @@
|
|||
diff -r -u boost_1_54_0/boost/detail/interlocked.hpp boost_1_54_0-1/boost/detail/interlocked.hpp
|
||||
--- boost/detail/interlocked.hpp 2013-03-09 23:55:05.000000000 +0100
|
||||
+++ boost/detail/interlocked.hpp 2013-09-23 11:04:18.405688110 +0200
|
||||
@@ -69,9 +69,9 @@
|
||||
# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
|
||||
((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))
|
||||
|
||||
-#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
|
||||
+#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) || defined( __MINGW64_VERSION_MAJOR )
|
||||
|
||||
-#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
|
||||
+#if (defined( BOOST_MSVC ) && BOOST_MSVC >= 1600) || defined( __MINGW64_VERSION_MAJOR )
|
||||
|
||||
#include <intrin.h>
|
||||
|
||||
@@ -93,11 +93,13 @@
|
||||
|
||||
#endif
|
||||
|
||||
+#ifndef __MINGW64_VERSION_MAJOR
|
||||
# pragma intrinsic( _InterlockedIncrement )
|
||||
# pragma intrinsic( _InterlockedDecrement )
|
||||
# pragma intrinsic( _InterlockedCompareExchange )
|
||||
# pragma intrinsic( _InterlockedExchange )
|
||||
# pragma intrinsic( _InterlockedExchangeAdd )
|
||||
+#endif
|
||||
|
||||
# if defined(_M_IA64) || defined(_M_AMD64)
|
||||
|
||||
@@ -127,13 +129,6 @@
|
||||
|
||||
#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
|
||||
|
||||
-#if defined(__MINGW64__)
|
||||
-#define BOOST_INTERLOCKED_IMPORT
|
||||
-#else
|
||||
-#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
|
||||
-#endif
|
||||
-
|
||||
-
|
||||
namespace boost
|
||||
{
|
||||
|
|
@ -1,594 +0,0 @@
|
|||
--- libs/context/build/Jamfile.v2.orig 2013-03-03 13:39:59.684868916 +0100
|
||||
+++ libs/context/build/Jamfile.v2 2013-03-03 15:09:09.893232829 +0100
|
||||
@@ -282,6 +284,17 @@
|
||||
;
|
||||
|
||||
alias asm_context_sources
|
||||
+ : asm/make_i386_ms_pe_gas.S
|
||||
+ asm/jump_i386_ms_pe_gas.S
|
||||
+ dummy.cpp
|
||||
+ : <address-model>32
|
||||
+ <architecture>x86
|
||||
+ <binary-format>pe
|
||||
+ <target-os>windows
|
||||
+ <toolset>gcc
|
||||
+ ;
|
||||
+
|
||||
+alias asm_context_sources
|
||||
: asm/make_i386_ms_pe_masm.asm
|
||||
asm/jump_i386_ms_pe_masm.asm
|
||||
dummy.cpp
|
||||
@@ -379,6 +392,17 @@
|
||||
;
|
||||
|
||||
alias asm_context_sources
|
||||
+ : asm/make_x86_64_ms_pe_gas.S
|
||||
+ asm/jump_x86_64_ms_pe_gas.S
|
||||
+ dummy.cpp
|
||||
+ : <address-model>64
|
||||
+ <architecture>x86
|
||||
+ <binary-format>pe
|
||||
+ <target-os>windows
|
||||
+ <toolset>gcc
|
||||
+ ;
|
||||
+
|
||||
+alias asm_context_sources
|
||||
: asm/make_x86_64_ms_pe_masm.asm
|
||||
asm/jump_x86_64_ms_pe_masm.asm
|
||||
dummy.cpp
|
||||
--- libs/context/src/asm/make_i386_ms_pe_gas.S.orig 2013-03-03 13:41:28.645502113 +0100
|
||||
+++ libs/context/src/asm/make_i386_ms_pe_gas.S 2013-03-03 14:39:27.590477410 +0100
|
||||
@@ -0,0 +1,115 @@
|
||||
+/*
|
||||
+ Copyright Oliver Kowalke 2009.
|
||||
+ Copyright Thomas Sailer 2013.
|
||||
+ Distributed under the Boost Software License, Version 1.0.
|
||||
+ (See accompanying file LICENSE_1_0.txt or copy at
|
||||
+ http://www.boost.org/LICENSE_1_0.txt)
|
||||
+*/
|
||||
+
|
||||
+/********************************************************************
|
||||
+ * *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 0h | 04h | 08h | 0ch | 010h | 014h | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | EDI | ESI | EBX | EBP | ESP | EIP | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 6 | 7 | 8 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 018h | 01ch | 020h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | sp | size | limit | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 9 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 024h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * |fc_execpt| | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 10 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 028h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * |fc_strage| | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 11 | 12 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 02ch | 030h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | fc_mxcsr|fc_x87_cw| | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * *
|
||||
+ * *****************************************************************/
|
||||
+
|
||||
+.file "make_i386_ms_pe_gas.S"
|
||||
+.text
|
||||
+.p2align 4,,15
|
||||
+.globl _make_fcontext
|
||||
+.def _make_fcontext; .scl 2; .type 32; .endef
|
||||
+_make_fcontext:
|
||||
+ movl 0x04(%esp), %eax /* load 1. arg of make_fcontext, pointer to context stack (base) */
|
||||
+ leal -0x34(%eax),%eax /* reserve space for fcontext_t at top of context stack */
|
||||
+
|
||||
+ /* shift address in EAX to lower 16 byte boundary */
|
||||
+ /* == pointer to fcontext_t and address of context stack */
|
||||
+ andl $-16, %eax
|
||||
+
|
||||
+ movl 0x04(%esp), %ecx /* load 1. arg of make_fcontext, pointer to context stack (base) */
|
||||
+ movl %ecx, 0x18(%eax) /* save address of context stack (base) in fcontext_t */
|
||||
+ movl 0x08(%esp), %edx /* load 2. arg of make_fcontext, context stack size */
|
||||
+ movl %edx, 0x1c(%eax) /* save context stack size in fcontext_t */
|
||||
+ negl %edx /* negate stack size for LEA instruction (== substraction) */
|
||||
+ leal (%ecx,%edx),%ecx /* compute bottom address of context stack (limit) */
|
||||
+ movl %ecx, 0x20(%eax) /* save address of context stack (limit) in fcontext_t */
|
||||
+ movl 0x0c(%esp), %ecx /* load 3. arg of make_fcontext, pointer to context function */
|
||||
+ movl %ecx, 0x14(%eax) /* save address of context function in fcontext_t */
|
||||
+
|
||||
+ stmxcsr 0x02c(%eax) /* save MMX control word */
|
||||
+ fnstcw 0x030(%eax) /* save x87 control word */
|
||||
+
|
||||
+ leal -0x1c(%eax),%edx /* reserve space for last frame and seh on context stack, (ESP - 0x4) % 16 == 0 */
|
||||
+ movl %edx, 0x10(%eax) /* save address in EDX as stack pointer for context function */
|
||||
+
|
||||
+ movl $finish, %ecx /* abs address of finish */
|
||||
+ movl %ecx, (%edx) /* save address of finish as return address for context function */
|
||||
+ /* entered after context function returns */
|
||||
+
|
||||
+ /* traverse current seh chain to get the last exception handler installed by Windows */
|
||||
+ /* note that on Windows Server 2008 and 2008 R2, SEHOP is activated by default */
|
||||
+ /* the exception handler chain is tested for the presence of ntdll.dll!FinalExceptionHandler */
|
||||
+ /* at its end by RaiseException all seh andlers are disregarded if not present and the */
|
||||
+ /* program is aborted */
|
||||
+ movl %fs:(0x18), %ecx /* load NT_TIB into ECX */
|
||||
+
|
||||
+walk:
|
||||
+ movl (%ecx), %edx /* load 'next' member of current SEH into EDX */
|
||||
+ incl %edx /* test if 'next' of current SEH is last (== 0xffffffff) */
|
||||
+ jz found
|
||||
+ decl %edx
|
||||
+ xchgl %ecx, %edx /* exchange content; ECX contains address of next SEH */
|
||||
+ jmp walk /* inspect next SEH */
|
||||
+
|
||||
+found:
|
||||
+ movl 0x04(%ecx), %ecx /* load 'handler' member of SEH == address of last SEH handler installed by Windows */
|
||||
+ movl 0x10(%eax), %edx /* load address of stack pointer for context function */
|
||||
+ movl %ecx, 0x18(%edx) /* save address in ECX as SEH handler for context */
|
||||
+ movl $0xffffffff,%ecx /* set ECX to -1 */
|
||||
+ movl %ecx, 0x14(%edx) /* save ECX as next SEH item */
|
||||
+ leal 0x14(%edx), %ecx /* load address of next SEH item */
|
||||
+ movl %ecx, 0x24(%eax) /* save next SEH */
|
||||
+
|
||||
+ ret
|
||||
+
|
||||
+finish:
|
||||
+ /* ESP points to same address as ESP on entry of context function + 0x4 */
|
||||
+ xorl %eax, %eax
|
||||
+ movl %eax, (%esp) /* exit code is zero */
|
||||
+ call __exit /* exit application */
|
||||
+ hlt
|
||||
+
|
||||
+.def __exit; .scl 2; .type 32; .endef /* standard C library function */
|
||||
--- libs/context/src/asm/jump_i386_ms_pe_gas.S.orig 2013-03-03 13:41:34.332670479 +0100
|
||||
+++ libs/context/src/asm/jump_i386_ms_pe_gas.S 2013-03-03 14:35:35.634611625 +0100
|
||||
@@ -0,0 +1,108 @@
|
||||
+/*
|
||||
+ Copyright Oliver Kowalke 2009.
|
||||
+ Copyright Thomas Sailer 2013.
|
||||
+ Distributed under the Boost Software License, Version 1.0.
|
||||
+ (See accompanying file LICENSE_1_0.txt or copy at
|
||||
+ http://www.boost.org/LICENSE_1_0.txt)
|
||||
+*/
|
||||
+
|
||||
+/********************************************************************
|
||||
+ * *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 0h | 04h | 08h | 0ch | 010h | 014h | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | EDI | ESI | EBX | EBP | ESP | EIP | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 6 | 7 | 8 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 018h | 01ch | 020h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | sp | size | limit | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 9 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 024h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * |fc_execpt| | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 10 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 028h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * |fc_strage| | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 11 | 12 | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | 02ch | 030h | | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * | fc_mxcsr|fc_x87_cw| | *
|
||||
+ * -------------------------------------------------------------- *
|
||||
+ * *
|
||||
+ * *****************************************************************/
|
||||
+
|
||||
+.file "jump_i386_ms_pe_gas.S"
|
||||
+.text
|
||||
+.p2align 4,,15
|
||||
+.globl _jump_fcontext
|
||||
+.def _jump_fcontext; .scl 2; .type 32; .endef
|
||||
+_jump_fcontext:
|
||||
+ movl 0x04(%esp), %ecx /* load address of the first fcontext_t arg */
|
||||
+ movl %edi, (%ecx) /* save EDI */
|
||||
+ movl %esi, 0x04(%ecx) /* save ESI */
|
||||
+ movl %ebx, 0x08(%ecx) /* save EBX */
|
||||
+ movl %ebp, 0x0c(%ecx) /* save EBP */
|
||||
+
|
||||
+ movl %fs:(0x18), %edx /* load NT_TIB */
|
||||
+ movl (%edx), %eax /* load current SEH exception list */
|
||||
+ movl %eax, 0x24(%ecx) /* save current exception list */
|
||||
+ movl 0x04(%edx), %eax /* load current stack base */
|
||||
+ movl %eax, 0x18(%ecx) /* save current stack base */
|
||||
+ movl 0x08(%edx), %eax /* load current stack limit */
|
||||
+ movl %eax, 0x20(%ecx) /* save current stack limit */
|
||||
+ movl 0x10(%edx), %eax /* load fiber local storage */
|
||||
+ movl %eax, 0x28(%ecx) /* save fiber local storage */
|
||||
+
|
||||
+ leal 0x04(%esp), %eax /* exclude the return address */
|
||||
+ movl %eax, 0x10(%ecx) /* save as stack pointer */
|
||||
+ movl (%esp), %eax /* load return address */
|
||||
+ movl %eax, 0x14(%ecx) /* save return address */
|
||||
+
|
||||
+ movl 0x08(%esp), %edx /* load address of the second fcontext_t arg */
|
||||
+ movl (%edx), %edi /* restore EDI */
|
||||
+ movl 0x04(%edx), %esi /* restore ESI */
|
||||
+ movl 0x08(%edx), %ebx /* restore EBX */
|
||||
+ movl 0x0c(%edx), %ebp /* restore EBP */
|
||||
+
|
||||
+ movl 0x10(%esp), %eax /* check if fpu enve preserving was requested */
|
||||
+ testl %eax, %eax
|
||||
+ je 1f
|
||||
+
|
||||
+ stmxcsr 0x2c(%ecx) /* save MMX control word */
|
||||
+ fnstcw 0x30(%ecx) /* save x87 control word */
|
||||
+ ldmxcsr 0x2c(%edx) /* restore MMX control word */
|
||||
+ fldcw 0x30(%edx) /* restore x87 control word */
|
||||
+1:
|
||||
+ movl %edx, %ecx
|
||||
+ movl %fs:(0x18), %edx /* load NT_TIB */
|
||||
+ movl 0x24(%ecx), %eax /* load SEH exception list */
|
||||
+ movl %eax, (%edx) /* restore next SEH item */
|
||||
+ movl 0x18(%ecx), %eax /* load stack base */
|
||||
+ movl %eax, 0x04(%edx) /* restore stack base */
|
||||
+ movl 0x20(%ecx), %eax /* load stack limit */
|
||||
+ movl %eax, 0x08(%edx) /* restore stack limit */
|
||||
+ movl 0x28(%ecx), %eax /* load fiber local storage */
|
||||
+ movl %eax, 0x10(%edx) /* restore fiber local storage */
|
||||
+
|
||||
+ movl 0x0c(%esp), %eax /* use third arg as return value after jump */
|
||||
+
|
||||
+ movl 0x10(%ecx), %esp /* restore ESP */
|
||||
+ movl %eax, 0x04(%esp) /* use third arg as first arg in context function */
|
||||
+ movl 0x14(%ecx), %ecx /* fetch the address to return to */
|
||||
+
|
||||
+ jmp *%ecx /* indirect jump to context */
|
||||
--- libs/context/src/asm/make_x86_64_ms_pe_gas.S.orig 2013-03-03 13:43:03.137299031 +0100
|
||||
+++ libs/context/src/asm/make_x86_64_ms_pe_gas.S 2013-03-03 14:54:16.036775106 +0100
|
||||
@@ -0,0 +1,132 @@
|
||||
+/*
|
||||
+ Copyright Oliver Kowalke 2009.
|
||||
+ Copyright Thomas Sailer 2013.
|
||||
+ Distributed under the Boost Software License, Version 1.0.
|
||||
+ (See accompanying file LICENSE_1_0.txt or copy at
|
||||
+ http://www.boost.org/LICENSE_1_0.txt)
|
||||
+*/
|
||||
+
|
||||
+/****************************************************************************************
|
||||
+ * *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | R12 | R13 | R14 | R15 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | RDI | RSI | RBX | RBP | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 16 | 17 | 18 | 19 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x40 | 0x44 | 0x48 | 0x4c | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | RSP | RIP | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 20 | 21 | 22 | 23 | 24 | 25 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x50 | 0x54 | 0x58 | 0x5c | 0x60 | 0x64 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | sp | size | limit | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 26 | 27 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x68 | 0x6c | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | fbr_strg | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x70 | 0x74 | 0x78 | 0x7c | 0x80 | 0x84 | 0x88 | 0x8c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | fc_mxcsr|fc_x87_cw| fc_xmm | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x90 | 0x94 | 0x98 | 0x9c | 0xa0 | 0xa4 | 0xa8 | 0xac | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0xb0 | 0xb4 | 0xb8 | 0xbc | 0xc0 | 0xc4 | 0xc8 | 0xcc | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0xd0 | 0xd4 | 0xd8 | 0xdc | 0xe0 | 0xe4 | 0xe8 | 0xec | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0xf0 | 0xf4 | 0xf8 | 0xfc | 0x100 | 0x104 | 0x108 | 0x10c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x110 | 0x114 | 0x118 | 0x11c | 0x120 | 0x124 | 0x128 | 0x12c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * *
|
||||
+ * *************************************************************************************/
|
||||
+
|
||||
+.file "make_x86_64_ms_pe_gas.S"
|
||||
+.text
|
||||
+.p2align 4,,15
|
||||
+.globl make_fcontext
|
||||
+.def make_fcontext; .scl 2; .type 32; .endef
|
||||
+.seh_proc make_fcontext
|
||||
+make_fcontext:
|
||||
+.seh_endprologue
|
||||
+ leaq -0x130(%rcx),%rax /* reserve space for fcontext_t at top of context stack */
|
||||
+
|
||||
+ /* shift address in RAX to lower 16 byte boundary */
|
||||
+ /* == pointer to fcontext_t and address of context stack */
|
||||
+ andq $-16, %rax
|
||||
+
|
||||
+ movq %r8, 0x48(%rax) /* save address of context function in fcontext_t */
|
||||
+ movq %rdx, 0x58(%rax) /* save context stack size in fcontext_t */
|
||||
+ movq %rcx, 0x50(%rax) /* save address of context stack pointer (base) in fcontext_t */
|
||||
+
|
||||
+ negq %rdx /* negate stack size for LEA instruction (== substraction) */
|
||||
+ leaq (%rcx,%rdx),%rcx /* compute bottom address of context stack (limit) */
|
||||
+ movq %rcx, 0x60(%rax) /* save bottom address of context stack (limit) in fcontext_t */
|
||||
+
|
||||
+ stmxcsr 0x70(%rax) /* save MMX control and status word */
|
||||
+ fnstcw 0x74(%rax) /* save x87 control word */
|
||||
+
|
||||
+ leaq -0x28(%rax),%rdx /* reserve 32byte shadow space + return address on stack, (RSP - 0x8) % 16 == 0 */
|
||||
+ movq %rdx, 0x40(%rax) /* save address in RDX as stack pointer for context function */
|
||||
+
|
||||
+ leaq finish(%rip),%rcx /* compute abs address of label finish */
|
||||
+ movq %rcx,(%rdx) /* save address of finish as return address for context function */
|
||||
+ /* entered after context function returns */
|
||||
+
|
||||
+ ret
|
||||
+
|
||||
+finish:
|
||||
+ /* RSP points to same address as RSP on entry of context function + 0x8 */
|
||||
+ xorq %rcx, %rcx /* exit code is zero */
|
||||
+ call _exit /* exit application */
|
||||
+ hlt
|
||||
+.seh_endproc
|
||||
+
|
||||
+.def _exit; .scl 2; .type 32; .endef /* standard C library function */
|
||||
--- libs/context/src/asm/jump_x86_64_ms_pe_gas.S.orig 2013-03-03 13:42:57.753139784 +0100
|
||||
+++ libs/context/src/asm/jump_x86_64_ms_pe_gas.S 2013-03-03 15:06:08.269856857 +0100
|
||||
@@ -0,0 +1,189 @@
|
||||
+/*
|
||||
+ Copyright Oliver Kowalke 2009.
|
||||
+ Copyright Thomas Sailer 2013.
|
||||
+ Distributed under the Boost Software License, Version 1.0.
|
||||
+ (See accompanying file LICENSE_1_0.txt or copy at
|
||||
+ http://www.boost.org/LICENSE_1_0.txt)
|
||||
+*/
|
||||
+
|
||||
+/****************************************************************************************
|
||||
+ * *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | R12 | R13 | R14 | R15 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | RDI | RSI | RBX | RBP | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 16 | 17 | 18 | 19 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x40 | 0x44 | 0x48 | 0x4c | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | RSP | RIP | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 20 | 21 | 22 | 23 | 24 | 25 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x50 | 0x54 | 0x58 | 0x5c | 0x60 | 0x64 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | sp | size | limit | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 26 | 27 | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x68 | 0x6c | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | fbr_strg | | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x70 | 0x74 | 0x78 | 0x7c | 0x80 | 0x84 | 0x88 | 0x8c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | fc_mxcsr|fc_x87_cw| fc_xmm | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x90 | 0x94 | 0x98 | 0x9c | 0xa0 | 0xa4 | 0xa8 | 0xac | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0xb0 | 0xb4 | 0xb8 | 0xbc | 0xc0 | 0xc4 | 0xc8 | 0xcc | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0xd0 | 0xd4 | 0xd8 | 0xdc | 0xe0 | 0xe4 | 0xe8 | 0xec | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0xf0 | 0xf4 | 0xf8 | 0xfc | 0x100 | 0x104 | 0x108 | 0x10c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | 0x110 | 0x114 | 0x118 | 0x11c | 0x120 | 0x124 | 0x128 | 0x12c | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * | SEE registers (XMM6-XMM15) | *
|
||||
+ * ---------------------------------------------------------------------------------- *
|
||||
+ * *
|
||||
+ * *************************************************************************************/
|
||||
+
|
||||
+.file "jump_x86_64_ms_pe_gas.S"
|
||||
+.text
|
||||
+.p2align 4,,15
|
||||
+.globl jump_fcontext
|
||||
+.def jump_fcontext; .scl 2; .type 32; .endef
|
||||
+.seh_proc jump_fcontext
|
||||
+jump_fcontext:
|
||||
+.seh_endprologue
|
||||
+ movq %r12, (%rcx) /* save R12 */
|
||||
+ movq %r13, 0x08(%rcx) /* save R13 */
|
||||
+ movq %r14, 0x10(%rcx) /* save R14 */
|
||||
+ movq %r15, 0x18(%rcx) /* save R15 */
|
||||
+ movq %rdi, 0x20(%rcx) /* save RDI */
|
||||
+ movq %rsi, 0x28(%rcx) /* save RSI */
|
||||
+ movq %rbx, 0x30(%rcx) /* save RBX */
|
||||
+ movq %rbp, 0x38(%rcx) /* save RBP */
|
||||
+
|
||||
+ movq %gs:(0x30), %r10 /* load NT_TIB */
|
||||
+ movq 0x08(%r10), %rax /* load current stack base */
|
||||
+ movq %rax, 0x50(%rcx) /* save current stack base */
|
||||
+ movq 0x10(%r10), %rax /* load current stack limit */
|
||||
+ movq %rax, 0x60(%rcx) /* save current stack limit */
|
||||
+ movq 0x18(%r10), %rax /* load fiber local storage */
|
||||
+ movq %rax, 0x68(%rcx) /* save fiber local storage */
|
||||
+
|
||||
+ testq %r9, %r9
|
||||
+ je 1f
|
||||
+
|
||||
+ stmxcsr 0x70(%rcx) /* save MMX control and status word */
|
||||
+ fnstcw 0x74(%rcx) /* save x87 control word */
|
||||
+ /* save XMM storage */
|
||||
+ /* save start address of SSE register block in R10 */
|
||||
+ leaq 0x90(%rcx), %r10
|
||||
+ /* shift address in R10 to lower 16 byte boundary */
|
||||
+ /* == pointer to SEE register block */
|
||||
+ andq $-16, %r10
|
||||
+
|
||||
+ movaps %xmm6, (%r10)
|
||||
+ movaps %xmm7, 0x10(%r10)
|
||||
+ movaps %xmm8, 0x20(%r10)
|
||||
+ movaps %xmm9, 0x30(%r10)
|
||||
+ movaps %xmm10, 0x40(%r10)
|
||||
+ movaps %xmm11, 0x50(%r10)
|
||||
+ movaps %xmm12, 0x60(%r10)
|
||||
+ movaps %xmm13, 0x70(%r10)
|
||||
+ movaps %xmm14, 0x80(%r10)
|
||||
+ movaps %xmm15, 0x90(%r10)
|
||||
+
|
||||
+ ldmxcsr 0x70(%rdx) /* restore MMX control and status word */
|
||||
+ fldcw 0x74(%rdx) /* restore x87 control word */
|
||||
+ /* restore XMM storage */
|
||||
+ /* save start address of SSE register block in R10 */
|
||||
+ leaq 0x90(%rdx), %r10
|
||||
+ /* shift address in R10 to lower 16 byte boundary */
|
||||
+ /* == pointer to SEE register block */
|
||||
+ andq $-16, %r10
|
||||
+
|
||||
+ movaps (%r10), %xmm6
|
||||
+ movaps 0x10(%r10), %xmm7
|
||||
+ movaps 0x20(%r10), %xmm8
|
||||
+ movaps 0x30(%r10), %xmm9
|
||||
+ movaps 0x40(%r10), %xmm10
|
||||
+ movaps 0x50(%r10), %xmm11
|
||||
+ movaps 0x60(%r10), %xmm12
|
||||
+ movaps 0x70(%r10), %xmm13
|
||||
+ movaps 0x80(%r10), %xmm14
|
||||
+ movaps 0x90(%r10), %xmm15
|
||||
+
|
||||
+1:
|
||||
+ leaq 0x08(%rsp), %rax /* exclude the return address */
|
||||
+ movq %rax, 0x40(%rcx) /* save as stack pointer */
|
||||
+ movq (%rsp), %rax /* load return address */
|
||||
+ movq %rax, 0x48(%rcx) /* save return address */
|
||||
+
|
||||
+ movq (%rdx), %r12 /* restore R12 */
|
||||
+ movq 0x08(%rdx), %r13 /* restore R13 */
|
||||
+ movq 0x10(%rdx), %r14 /* restore R14 */
|
||||
+ movq 0x18(%rdx), %r15 /* restore R15 */
|
||||
+ movq 0x20(%rdx), %rdi /* restore RDI */
|
||||
+ movq 0x28(%rdx), %rsi /* restore RSI */
|
||||
+ movq 0x30(%rdx), %rbx /* restore RBX */
|
||||
+ movq 0x38(%rdx), %rbp /* restore RBP */
|
||||
+
|
||||
+ movq %gs:(0x30), %r10 /* load NT_TIB */
|
||||
+ movq 0x50(%rdx), %rax /* load stack base */
|
||||
+ movq %rax, 0x08(%r10) /* restore stack base */
|
||||
+ movq 0x60(%rdx), %rax /* load stack limit */
|
||||
+ movq %rax, 0x10(%r10) /* restore stack limit */
|
||||
+ movq 0x68(%rdx), %rax /* load fiber local storage */
|
||||
+ movq %rax, 0x18(%r10) /* restore fiber local storage */
|
||||
+
|
||||
+ movq 0x40(%rdx), %rsp /* restore RSP */
|
||||
+ movq 0x48(%rdx), %r10 /* fetch the address to returned to */
|
||||
+
|
||||
+ movq %r8, %rax /* use third arg as return value after jump */
|
||||
+ movq %r8, %rcx /* use third arg as first arg in context function */
|
||||
+
|
||||
+ jmp *%r10 /* indirect jump to caller */
|
||||
+.seh_endproc
|
|
@ -1,154 +0,0 @@
|
|||
=== modified file 'boost/detail/interlocked.hpp'
|
||||
--- boost/detail/interlocked.hpp 2014-08-22 00:51:15 +0000
|
||||
+++ boost/detail/interlocked.hpp 2014-08-22 18:54:49 +0000
|
||||
@@ -1,12 +1,6 @@
|
||||
#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
|
||||
#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
|
||||
|
||||
-// MS compatible compilers support #pragma once
|
||||
-
|
||||
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||
-# pragma once
|
||||
-#endif
|
||||
-
|
||||
//
|
||||
// boost/detail/interlocked.hpp
|
||||
//
|
||||
@@ -19,6 +13,11 @@
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
+// MS compatible compilers support #pragma once
|
||||
+#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
+#pragma once
|
||||
+#endif
|
||||
+
|
||||
#if defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
# include <windows.h>
|
||||
@@ -31,6 +30,30 @@
|
||||
# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer
|
||||
# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer
|
||||
|
||||
+#elif defined( BOOST_USE_INTRIN_H )
|
||||
+
|
||||
+#include <intrin.h>
|
||||
+
|
||||
+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
|
||||
+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
|
||||
+
|
||||
+# if defined(_M_IA64) || defined(_M_AMD64) || defined(__x86_64__) || defined(__x86_64)
|
||||
+
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
|
||||
+
|
||||
+# else
|
||||
+
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
|
||||
+ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
|
||||
+ ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
|
||||
+
|
||||
+# endif
|
||||
+
|
||||
#elif defined(_WIN32_WCE)
|
||||
|
||||
#if _WIN32_WCE >= 0x600
|
||||
@@ -71,7 +94,7 @@
|
||||
|
||||
#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
|
||||
|
||||
-#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
|
||||
+#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1500
|
||||
|
||||
#include <intrin.h>
|
||||
|
||||
@@ -93,46 +116,53 @@
|
||||
|
||||
#endif
|
||||
|
||||
-# pragma intrinsic( _InterlockedIncrement )
|
||||
-# pragma intrinsic( _InterlockedDecrement )
|
||||
-# pragma intrinsic( _InterlockedCompareExchange )
|
||||
-# pragma intrinsic( _InterlockedExchange )
|
||||
-# pragma intrinsic( _InterlockedExchangeAdd )
|
||||
-
|
||||
# if defined(_M_IA64) || defined(_M_AMD64)
|
||||
|
||||
extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
|
||||
extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );
|
||||
|
||||
-# pragma intrinsic( _InterlockedCompareExchangePointer )
|
||||
-# pragma intrinsic( _InterlockedExchangePointer )
|
||||
-
|
||||
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
|
||||
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
|
||||
-
|
||||
-# else
|
||||
-
|
||||
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
|
||||
- ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
|
||||
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
|
||||
- ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
|
||||
-
|
||||
-# endif
|
||||
-
|
||||
-# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
|
||||
-# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
|
||||
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
|
||||
-# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
|
||||
-# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
|
||||
+
|
||||
+# else
|
||||
+
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
|
||||
+ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
|
||||
+ ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
|
||||
+
|
||||
+# endif
|
||||
+
|
||||
+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
|
||||
+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
|
||||
+
|
||||
+// Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets.
|
||||
+#elif defined(__MINGW64_VERSION_MAJOR)
|
||||
+
|
||||
+// MinGW-w64 provides intrin.h for both 32 and 64-bit targets.
|
||||
+#include <intrin.h>
|
||||
+
|
||||
+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
|
||||
+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
|
||||
+# if defined(__x86_64__) || defined(__x86_64)
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
|
||||
+# else
|
||||
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
|
||||
+ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
|
||||
+# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
|
||||
+ ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
|
||||
+# endif
|
||||
|
||||
#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
|
||||
|
||||
-#if defined(__MINGW64__)
|
||||
-#define BOOST_INTERLOCKED_IMPORT
|
||||
-#else
|
||||
#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
|
||||
-#endif
|
||||
-
|
||||
|
||||
namespace boost
|
||||
{
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
--- boost/polygon/detail/minkowski.hpp 2013-05-31 02:24:16 +0000
|
||||
+++ boost/polygon/detail/minkowski.hpp 2013-05-31 02:26:26 +0000
|
||||
@@ -30,13 +30,13 @@
|
||||
static void convolve_two_point_sequences(polygon_set& result, itrT1 ab, itrT1 ae, itrT2 bb, itrT2 be) {
|
||||
if(ab == ae || bb == be)
|
||||
return;
|
||||
- point first_a = *ab;
|
||||
+ // point first_a = *ab;
|
||||
point prev_a = *ab;
|
||||
std::vector<point> vec;
|
||||
polygon poly;
|
||||
++ab;
|
||||
for( ; ab != ae; ++ab) {
|
||||
- point first_b = *bb;
|
||||
+ // point first_b = *bb;
|
||||
point prev_b = *bb;
|
||||
itrT2 tmpb = bb;
|
||||
++tmpb;
|
File diff suppressed because it is too large
Load Diff
|
@ -1,26 +0,0 @@
|
|||
=== modified file 'crypto/bio/bio.h'
|
||||
--- crypto/bio/bio.h 2013-02-08 14:43:05 +0000
|
||||
+++ crypto/bio/bio.h 2013-02-08 14:43:26 +0000
|
||||
@@ -752,7 +752,7 @@
|
||||
|
||||
/*long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);*/
|
||||
|
||||
-#ifdef __GNUC__
|
||||
+#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__MINGW64__)
|
||||
# define __bio_h__attr__ __attribute__
|
||||
#else
|
||||
# define __bio_h__attr__(x)
|
||||
|
||||
=== modified file 'e_os.h'
|
||||
--- e_os.h 2013-02-08 14:43:05 +0000
|
||||
+++ e_os.h 2013-02-08 14:43:20 +0000
|
||||
@@ -290,7 +290,7 @@
|
||||
# ifdef _WIN64
|
||||
# define strlen(s) _strlen31(s)
|
||||
/* cut strings to 2GB */
|
||||
-static unsigned int _strlen31(const char *str)
|
||||
+static inline unsigned int _strlen31(const char *str)
|
||||
{
|
||||
unsigned int len=0;
|
||||
while (*str && len<0x80000000U) str++, len++;
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp
|
||||
index abd8956..d9168af 100644
|
||||
--- a/src/msw/dc.cpp
|
||||
+++ b/src/msw/dc.cpp
|
||||
@@ -2007,7 +2007,7 @@ void wxMSWDCImpl::RealizeScaleAndOrigin()
|
||||
// Becaue only devExtX/logExtX ratio and devExtY/logExtY ratio are counted
|
||||
// we can reduce the fractions to avoid large absolute numbers
|
||||
// and possible arithmetic overflows.
|
||||
- unsigned int gcd = CalcGCD(abs(devExtX), abs(logExtX));
|
||||
+ int gcd = CalcGCD(abs(devExtX), abs(logExtX));
|
||||
devExtX /= gcd;
|
||||
logExtX /= gcd;
|
||||
gcd = CalcGCD(abs(devExtY), abs(logExtY));
|
|
@ -1,24 +0,0 @@
|
|||
diff --git a/include/wx/app.h b/include/wx/app.h
|
||||
index 9a73469570..89c1762dc7 100644
|
||||
--- a/include/wx/app.h
|
||||
+++ b/include/wx/app.h
|
||||
@@ -798,6 +798,19 @@ public:
|
||||
\
|
||||
return wxEntry(argc, argv); \
|
||||
}
|
||||
+#elif wxUSE_UNICODE && ( defined(__MINGW32__) || defined(__MINGW64__) )
|
||||
+ #define wxIMPLEMENT_WXWIN_MAIN_CONSOLE \
|
||||
+ int main(int argc, char **argv) \
|
||||
+ { \
|
||||
+ wxDISABLE_DEBUG_SUPPORT(); \
|
||||
+ \
|
||||
+ LPWSTR cmdline = ::GetCommandLineW(); \
|
||||
+ int argcw; \
|
||||
+ LPWSTR* argvw = ::CommandLineToArgvW( cmdline, &argcw ); \
|
||||
+ int result = wxEntry( argcw, argvw ); \
|
||||
+ ::LocalFree( argvw ); \
|
||||
+ return result; \
|
||||
+ }
|
||||
#else // Use standard main()
|
||||
#define wxIMPLEMENT_WXWIN_MAIN_CONSOLE \
|
||||
int main(int argc, char **argv) \
|
Loading…
Reference in New Issue