|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r82500 - in branches/release: boost/context libs/context libs/context/build libs/context/config libs/context/doc libs/context/src libs/context/src/asm
From: oliver.kowalke_at_[hidden]
Date: 2013-01-15 04:51:42
Author: olli
Date: 2013-01-15 04:51:39 EST (Tue, 15 Jan 2013)
New Revision: 82500
URL: http://svn.boost.org/trac/boost/changeset/82500
Log:
context: merge from trunk
Added:
branches/release/libs/context/src/asm/jump_arm_aapcs_pe_armasm.asm
- copied unchanged from r82499, /trunk/libs/context/src/asm/jump_arm_aapcs_pe_armasm.asm
branches/release/libs/context/src/asm/make_arm_aapcs_pe_armasm.asm
- copied unchanged from r82499, /trunk/libs/context/src/asm/make_arm_aapcs_pe_armasm.asm
branches/release/libs/context/src/dummy.cpp
- copied unchanged from r82499, /trunk/libs/context/src/dummy.cpp
Properties modified:
branches/release/boost/context/ (props changed)
branches/release/libs/context/ (props changed)
Text files modified:
branches/release/boost/context/fcontext.hpp | 6 +++++-
branches/release/libs/context/build/Jamfile.v2 | 18 ++++++++++++++++++
branches/release/libs/context/config/arm.cpp | 2 +-
branches/release/libs/context/doc/requirements.qbk | 4 ++--
branches/release/libs/context/src/asm/make_arm_aapcs_elf_gas.S | 2 +-
branches/release/libs/context/src/asm/make_arm_aapcs_macho_gas.S | 2 +-
6 files changed, 28 insertions(+), 6 deletions(-)
Modified: branches/release/boost/context/fcontext.hpp
==============================================================================
--- branches/release/boost/context/fcontext.hpp (original)
+++ branches/release/boost/context/fcontext.hpp 2013-01-15 04:51:39 EST (Tue, 15 Jan 2013)
@@ -11,6 +11,10 @@
#include <stdint.h>
#endif
+#if defined(_WIN32_WCE)
+typedef int intptr_t;
+#endif
+
#include <boost/config.hpp>
#include <boost/cstdint.hpp>
@@ -44,7 +48,7 @@
# endif
// arm
#elif defined(__arm__) || defined(__thumb__) || defined(__TARGET_ARCH_ARM) \
- || defined(__TARGET_ARCH_THUMB) || defined(_ARM)
+ || defined(__TARGET_ARCH_THUMB) || defined(_ARM) || defined(_M_ARM)
# include <boost/context/detail/fcontext_arm.hpp>
// mips
#elif (defined(__mips) && __mips == 1) || defined(_MIPS_ISA_MIPS1) \
Modified: branches/release/libs/context/build/Jamfile.v2
==============================================================================
--- branches/release/libs/context/build/Jamfile.v2 (original)
+++ branches/release/libs/context/build/Jamfile.v2 2013-01-15 04:51:39 EST (Tue, 15 Jan 2013)
@@ -68,6 +68,11 @@
as -o "$(<)" "$(>)"
}
+actions armasm
+{
+ armasm "$(<)" "$(>)"
+}
+
actions masm
{
ml /c /Fo"$(<)" "$(>)"
@@ -120,6 +125,13 @@
;
alias asm_context_sources
+ : [ make asm/make_arm_aapcs_pe_armasm.o : asm/make_arm_aapcs_pe_armasm.asm : @armasm ]
+ [ make asm/jump_arm_aapcs_pe_armasm.o : asm/jump_arm_aapcs_pe_armasm.asm : @armasm ]
+ : <architecture>arm
+ <binary-format>pe
+ ;
+
+alias asm_context_sources
: [ make asm/make_arm_aapcs_elf_gas.o : asm/make_arm_aapcs_elf_gas.S : @gas ]
[ make asm/jump_arm_aapcs_elf_gas.o : asm/jump_arm_aapcs_elf_gas.S : @gas ]
: <architecture>arm
@@ -272,6 +284,7 @@
alias asm_context_sources
: asm/make_i386_ms_pe_masm.asm
asm/jump_i386_ms_pe_masm.asm
+ dummy.cpp
: <address-model>32
<architecture>x86
<binary-format>pe
@@ -282,6 +295,7 @@
alias asm_context_sources
: asm/make_i386_ms_pe_masm.asm
asm/jump_i386_ms_pe_masm.asm
+ dummy.cpp
: <address-model>32
<architecture>x86
<binary-format>pe
@@ -292,6 +306,7 @@
alias asm_context_sources
: [ make asm/make_i386_ms_pe_masm.o : asm/make_i386_ms_pe_masm.asm : @masm ]
[ make asm/jump_i386_ms_pe_masm.o : asm/jump_i386_ms_pe_masm.asm : @masm ]
+ dummy.cpp
: <address-model>32
<architecture>x86
<binary-format>pe
@@ -366,6 +381,7 @@
alias asm_context_sources
: asm/make_x86_64_ms_pe_masm.asm
asm/jump_x86_64_ms_pe_masm.asm
+ dummy.cpp
: <address-model>64
<architecture>x86
<binary-format>pe
@@ -376,6 +392,7 @@
alias asm_context_sources
: asm/make_x86_64_ms_pe_masm.asm
asm/jump_x86_64_ms_pe_masm.asm
+ dummy.cpp
: <address-model>64
<architecture>x86
<binary-format>pe
@@ -386,6 +403,7 @@
alias asm_context_sources
: [ make asm/make_x86_64_ms_pe_masm.o : asm/make_x86_64_ms_pe_masm.asm : @masm64 ]
[ make asm/jump_x86_64_ms_pe_masm.o : asm/jump_x86_64_ms_pe_masm.asm : @masm64 ]
+ dummy.cpp
: <address-model>64
<architecture>x86
<binary-format>pe
Modified: branches/release/libs/context/config/arm.cpp
==============================================================================
--- branches/release/libs/context/config/arm.cpp (original)
+++ branches/release/libs/context/config/arm.cpp 2013-01-15 04:51:39 EST (Tue, 15 Jan 2013)
@@ -8,6 +8,6 @@
#if !defined(__arm__) && !defined(__thumb__) && \
!defined(__TARGET_ARCH_ARM) && !defined(__TARGET_ARCH_THUMB) && \
- !defined(_ARM)
+ !defined(_ARM) && !defined(_M_ARM)
#error "Not ARM"
#endif
Modified: branches/release/libs/context/doc/requirements.qbk
==============================================================================
--- branches/release/libs/context/doc/requirements.qbk (original)
+++ branches/release/libs/context/doc/requirements.qbk 2013-01-15 04:51:39 EST (Tue, 15 Jan 2013)
@@ -9,8 +9,8 @@
__boost_context__ must be built for the particular compiler(s) and CPU
architecture(s)s being targeted. __boost_context__ includes assembly code and,
-therefore, requires GNU AS for supported POSIX systems, and MASM for Windows
-systems.
+therefore, requires GNU AS for supported POSIX systems, MASM for Windows/x86
+systems and ARMasm for Windows/arm systems.
[important Please note that `address-model=64` must be given to bjam command line
on 64bit Windows for 64bit build; otherwise 32bit code will be generated.]
Modified: branches/release/libs/context/src/asm/make_arm_aapcs_elf_gas.S
==============================================================================
--- branches/release/libs/context/src/asm/make_arm_aapcs_elf_gas.S (original)
+++ branches/release/libs/context/src/asm/make_arm_aapcs_elf_gas.S 2013-01-15 04:51:39 EST (Tue, 15 Jan 2013)
@@ -51,7 +51,7 @@
.type make_fcontext,%function
make_fcontext:
mov a4, a1 @ save address of context stack (base) A4
- sub a1, #116 @ reserve space for fcontext_t at top of context stack
+ sub a1, a1, #116 @ reserve space for fcontext_t at top of context stack
@ shift address in A1 to lower 16 byte boundary
@ == pointer to fcontext_t and address of context stack
Modified: branches/release/libs/context/src/asm/make_arm_aapcs_macho_gas.S
==============================================================================
--- branches/release/libs/context/src/asm/make_arm_aapcs_macho_gas.S (original)
+++ branches/release/libs/context/src/asm/make_arm_aapcs_macho_gas.S 2013-01-15 04:51:39 EST (Tue, 15 Jan 2013)
@@ -50,7 +50,7 @@
.align 2
_make_fcontext:
mov a4, a1 @ save address of context stack (base) A4
- sub a1, #116 @ reserve space for fcontext_t at top of context stack
+ sub a1, a1, #116 @ reserve space for fcontext_t at top of context stack
@ shift address in A1 to lower 16 byte boundary
@ == pointer to fcontext_t and address of context stack
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk