diff options
author | David McCullough <davidm@snapgear.com> | 2003-02-23 23:24:44 +0000 |
---|---|---|
committer | David McCullough <davidm@snapgear.com> | 2003-02-23 23:24:44 +0000 |
commit | 1ad16873f18c34ac2080e989af6cd96cc7dc3ef6 (patch) | |
tree | 33f0db81944846d62ec82cfd32a071312086c799 /libc | |
parent | 08bb655b13d8f17a4d0b3536169c55cfb901b2db (diff) |
Fix FP handling alignment problems on ARM platforms without an FPU,
patch from Vadim Lebedev <vadim@7chips.com>.
Diffstat (limited to 'libc')
-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} |