diff options
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/arm/__longjmp.S | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/arm/setjmp.S | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/arm/__longjmp.S b/libc/sysdeps/linux/arm/__longjmp.S index 81d15706b..e280d842d 100644 --- a/libc/sysdeps/linux/arm/__longjmp.S +++ b/libc/sysdeps/linux/arm/__longjmp.S @@ -34,6 +34,8 @@ __longjmp: #if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__ lfmfd f4, 4, [ip] ! /* load the floating point regs */ +#else + add ip, ip, #48 /* skip the FP registers */ #endif ldmia ip , {v1-v6, sl, fp, sp, pc} diff --git a/libc/sysdeps/linux/arm/setjmp.S b/libc/sysdeps/linux/arm/setjmp.S index eacd6c9b3..aaaa81db1 100644 --- a/libc/sysdeps/linux/arm/setjmp.S +++ b/libc/sysdeps/linux/arm/setjmp.S @@ -29,6 +29,8 @@ __sigsetjmp: /* Save registers */ #if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__ sfmea f4, 4, [r0]! +#else + sub r0, r0, #48 /* skip the FP registers */ #endif stmia r0, {v1-v6, sl, fp, sp, lr} |