Compare commits

..

No commits in common. "hard_float_refix" and "master" have entirely different histories.

2 changed files with 7 additions and 7 deletions

View File

@ -42,7 +42,8 @@ else
CPPFLAGS += -Iarch/common/include CPPFLAGS += -Iarch/common/include
endif endif
FORCE_SOFT_FLOAT := no # ARM hard float support is presently broken.
FORCE_SOFT_FLOAT := yes
ifeq ($(FORCE_SOFT_FLOAT),yes) ifeq ($(FORCE_SOFT_FLOAT),yes)
CPPFLAGS += -DFORCE_SOFT_FLOAT CPPFLAGS += -DFORCE_SOFT_FLOAT

View File

@ -16,17 +16,13 @@ ALIAS(swapcontext, libucontext_swapcontext)
ALIAS(__swapcontext, libucontext_swapcontext) ALIAS(__swapcontext, libucontext_swapcontext)
FUNC(libucontext_swapcontext) FUNC(libucontext_swapcontext)
/* copy all of the current registers into the ucontext structure */
str r13, [r0,#REG_OFFSET(13)]
str r14, [r0,#REG_OFFSET(15)]
#ifndef FORCE_SOFT_FLOAT #ifndef FORCE_SOFT_FLOAT
#ifndef FORCE_HARD_FLOAT #ifndef FORCE_HARD_FLOAT
/* test for vfp magic number, copy to other ucontext */ /* test for vfp magic number, copy to other ucontext */
ldr r3, [r1, #VFP_MAGIC_OFFSET] ldr r3, [r1, #VFP_MAGIC_OFFSET]
ldr r2, =#0x56465001 ldr r4, =#0x56465001
str r3, [r0, #VFP_MAGIC_OFFSET] str r3, [r0, #VFP_MAGIC_OFFSET]
cmp r3, r2 cmp r3, r4
bne 1f bne 1f
#endif #endif
/* if vfp in use, save and restore d8-d15 */ /* if vfp in use, save and restore d8-d15 */
@ -40,6 +36,9 @@ FUNC(libucontext_swapcontext)
1: 1:
#endif #endif
/* copy all of the current registers into the ucontext structure */
str r13, [r0,#REG_OFFSET(13)]
str r14, [r0,#REG_OFFSET(15)]
add r2, r0, #REG_OFFSET(0) add r2, r0, #REG_OFFSET(0)
/* copy r0 with value 0 to indicate success (return value 0) */ /* copy r0 with value 0 to indicate success (return value 0) */
mov r0, #0 mov r0, #0