From 1ad16873f18c34ac2080e989af6cd96cc7dc3ef6 Mon Sep 17 00:00:00 2001 From: David McCullough Date: Sun, 23 Feb 2003 23:24:44 +0000 Subject: Fix FP handling alignment problems on ARM platforms without an FPU, patch from Vadim Lebedev . --- libc/sysdeps/linux/arm/__longjmp.S | 2 ++ libc/sysdeps/linux/arm/setjmp.S | 2 ++ 2 files changed, 4 insertions(+) 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} -- cgit v1.2.3