$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r83313 - trunk/libs/context/src/asm
From: oliver.kowalke_at_[hidden]
Date: 2013-03-05 13:19:54
Author: olli
Date: 2013-03-05 13:19:54 EST (Tue, 05 Mar 2013)
New Revision: 83313
URL: http://svn.boost.org/trac/boost/changeset/83313
Log:
context: fixes for PPC
Text files modified: 
   trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S |     2 +-                                      
   trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S |     7 ++++---                                 
   2 files changed, 5 insertions(+), 4 deletions(-)
Modified: trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S	(original)
+++ trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S	2013-03-05 13:19:54 EST (Tue, 05 Mar 2013)
@@ -78,7 +78,7 @@
 
     # call align_stack, R3 contains address at 16 byte boundary after return
     # == pointer to fcontext_t and address of context stack
-    rlwinm  %r3, %r3, 0, 0, 27
+    clrrwi  %r3, %r3, 4
 
     stw     %r0, 92(%r3)        # save address of context stack (base) in fcontext_t
     stw     %r4, 96(%r3)        # save context stack size in fcontext_t
Modified: trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S	(original)
+++ trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S	2013-03-05 13:19:54 EST (Tue, 05 Mar 2013)
@@ -99,13 +99,13 @@
 
     # call align_stack, R3 contains address at 16 byte boundary after return
     # == pointer to fcontext_t and address of context stack
-    rlwinm  %r3, %r3, 0, 0, 59
+    clrrdi  %r3, %r3, 4
 
     std     %r0, 184(%r3)       # save address of context stack (base) in fcontext_t
     std     %r4, 192(%r3)       # save context stack size in fcontext_t
     std     %r5, 176(%r3)       # save address of context function in fcontext_t
 
-    subf    %r0, %r3, 64        # 64 bytes on stack for parameter area (== 8 registers)
+    subi    %r0, %r3, 64        # 64 bytes on stack for parameter area (== 8 registers)
     std     %r0, 152(%r3)       # save the stack base
 
     mflr    %r0                 # load LR
@@ -128,5 +128,6 @@
     stwu    %r1, -32(%r1)       # allocate stack space, SP % 16 == 0
 
     li      %r3,  0             # set return value to zero
-    bl      _exit_at_plt           # exit application
+    bl      _exit               # exit application
+    nop
 .size .make_fcontext, .-.make_fcontext