Boost logo

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