From 8fee4bc681fcf020756abeed973e68ee01a316b3 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 3 Jul 2003 10:40:18 +0000 Subject: As noted by Felix Radensky back on 16 Mar: I've tried several times to compile uClibc with soft-float (both gcc-3.2.2 toolchain and wrapper), but applications compiled with uClibc always failed with "Invalid instruction". So I ended up disabling floating point at all and this works well. I also has no problem with glibc from Monta Vista, which is compiled with soft-float. My processor is PowerPC 405GP. Maybe the problem is in FP() macro definition in libc/sysdeps/linux/powerpc/setjmp.S and libc/sysdeps/linux/powerpc/__longjmp.S #ifdef __UCLIBC_HAS_FLOATS__ #define FP(x...) x #else #define FP(x...) #endif which should be defined as if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__ #define FP(x...) x #else #define FP(x...) #endif --- libc/sysdeps/linux/powerpc/__longjmp.S | 2 +- libc/sysdeps/linux/powerpc/setjmp.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'libc') diff --git a/libc/sysdeps/linux/powerpc/__longjmp.S b/libc/sysdeps/linux/powerpc/__longjmp.S index fbca904f0..b1aa32840 100644 --- a/libc/sysdeps/linux/powerpc/__longjmp.S +++ b/libc/sysdeps/linux/powerpc/__longjmp.S @@ -24,7 +24,7 @@ #include -#ifdef __UCLIBC_HAS_FLOATS__ +#ifdef __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__ #define FP(x...) x #else #define FP(x...) diff --git a/libc/sysdeps/linux/powerpc/setjmp.S b/libc/sysdeps/linux/powerpc/setjmp.S index 84c287f95..e47f3666a 100644 --- a/libc/sysdeps/linux/powerpc/setjmp.S +++ b/libc/sysdeps/linux/powerpc/setjmp.S @@ -23,7 +23,7 @@ #define _SETJMP_H #include -#ifdef __UCLIBC_HAS_FLOATS__ +#ifdef __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__ #define FP(x...) x #else #define FP(x...) -- cgit v1.2.3