1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #include <sysdep.h>
- #include "ucontext_i.h"
- .syntax unified
- .text
- ENTRY(__getcontext)
-
- add r1, r0, #MCONTEXT_ARM_R4
- stmia r1, {r4-r11}
-
- str r13, [r0, #MCONTEXT_ARM_SP]
- str r14, [r0, #MCONTEXT_ARM_LR]
-
- str r14, [r0, #MCONTEXT_ARM_PC]
-
- mov r2, #0
- str r2, [r0, #MCONTEXT_ARM_R0]
-
- mov r4, r0
-
- mov r0, #SIG_BLOCK
- mov r1, #0
- add r2, r4, #UCONTEXT_SIGMASK
- bl PLTJMP(sigprocmask)
- #if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__
- # ifdef __VFP_FP__
-
-
- stc p11, cr8, [r0], #64
-
-
- mrc p10, 7, r1, cr1, cr0, 0
- str r1, [r0], #4
- # endif
- #endif
- #ifdef __IWMMXT__
-
-
- stcl p1, cr10, [r0], #8
- stcl p1, cr11, [r0], #8
- stcl p1, cr12, [r0], #8
- stcl p1, cr13, [r0], #8
- stcl p1, cr14, [r0], #8
- stcl p1, cr15, [r0], #8
- #endif
-
- ldr r14, [r4, #MCONTEXT_ARM_LR]
- ldr r4, [r4, #MCONTEXT_ARM_R4]
- mov r0, #0
- DO_RET(r14)
- END(__getcontext)
- weak_alias(__getcontext, getcontext)
|