2009-04-25 Aurelien Jarno <aurelien@aurel32.net>
authorJoseph Myers <joseph@codesourcery.com>
Sat, 25 Apr 2009 15:23:44 +0000 (15:23 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Sat, 25 Apr 2009 15:23:44 +0000 (15:23 +0000)
* sysdeps/arm/eabi/fpu_control.h: If soft-float, don't use
floating-point registers.

ChangeLog.arm
sysdeps/arm/eabi/fpu_control.h

index 779ef2d..c9f44f4 100644 (file)
@@ -1,3 +1,8 @@
+2009-04-25  Aurelien Jarno  <aurelien@aurel32.net>
+
+       * sysdeps/arm/eabi/fpu_control.h: If soft-float, don't use
+       floating-point registers.
+
 2009-04-18  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_PREADV,
index 55d7764..9d29994 100644 (file)
@@ -1,5 +1,5 @@
 /* FPU control word definitions.  ARM VFP version.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 #ifndef _FPU_CONTROL_H
 #define _FPU_CONTROL_H
 
+#if !defined(_LIBC) && defined(__SOFTFP__)
+
+#define _FPU_RESERVED 0xffffffff
+#define _FPU_DEFAULT  0x00000000
+typedef unsigned int fpu_control_t;
+#define _FPU_GETCW(cw) 0
+#define _FPU_SETCW(cw) do { } while (0)
+extern fpu_control_t __fpu_control;
+
+#else
+
 /* masking of interrupts */
 #define _FPU_MASK_IM   0x00000100      /* invalid operation */
 #define _FPU_MASK_ZM   0x00000200      /* divide by zero */
@@ -48,4 +59,6 @@ typedef unsigned int fpu_control_t;
 /* Default control word set at startup.  */
 extern fpu_control_t __fpu_control;
 
+#endif /* __SOFTFP__ */
+
 #endif /* _FPU_CONTROL_H */