diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2013-06-28 20:28:25 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2013-06-28 20:28:25 +0000 |
commit | 0cad7ea2485b4bb05eb968a2399bec90a1450884 (patch) | |
tree | ca6f0e05f0b2aa53a52b60be690a2a1b5c5a1170 | |
parent | 3d0f5d0c7a2de86575d68618352f7a5dfe7305fd (diff) | |
download | glibc-0cad7ea2485b4bb05eb968a2399bec90a1450884.tar.gz glibc-0cad7ea2485b4bb05eb968a2399bec90a1450884.tar.xz glibc-0cad7ea2485b4bb05eb968a2399bec90a1450884.zip |
Support no-FPU ColdFire in sysdeps/m68k/fpu_control.h.
-rw-r--r-- | ports/ChangeLog.m68k | 10 | ||||
-rw-r--r-- | ports/sysdeps/m68k/fpu_control.h | 16 |
2 files changed, 23 insertions, 3 deletions
diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k index c5b1e2156d..15c8da32c8 100644 --- a/ports/ChangeLog.m68k +++ b/ports/ChangeLog.m68k @@ -1,3 +1,13 @@ +2013-06-28 Nathan Sidwell <nathan@codesourcery.com> + + * sysdeps/m68k/fpu_control.h [__mcoldfire__ && !__mcffpu__] + (_FPU_RESERVED): Provide alternative definition. + [__mcoldfire__ && !__mcffpu__] (_FPU_DEFAULT): Likewise. + [__mcoldfire__ && !__mcffpu__] (_FPU_GETCW): Likewise. + [__mcoldfire__ && !__mcffpu__] (_FPU_SETCW): Likewise. + [!(__mcoldfire__ && !__mcffpu__)]: Make existing macro definitions + conditional. + 2013-06-25 Andreas Schwab <schwab@linux-m68k.org> * sysdeps/m68k/sysdep.h (CALL_MCOUNT) [PROF]: Use %a6 instead of diff --git a/ports/sysdeps/m68k/fpu_control.h b/ports/sysdeps/m68k/fpu_control.h index c37fcf4ee4..848b5ba3b5 100644 --- a/ports/sysdeps/m68k/fpu_control.h +++ b/ports/sysdeps/m68k/fpu_control.h @@ -53,6 +53,15 @@ #include <features.h> +#if defined (__mcoldfire__) && !defined (__mcffpu__) + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +#define _FPU_GETCW(cw) ((cw) = 0) +#define _FPU_SETCW(cw) ((void) (cw)) + +#else + /* masking of interrupts */ #define _FPU_MASK_BSUN 0x8000 #define _FPU_MASK_SNAN 0x4000 @@ -95,12 +104,13 @@ that __setfpucw works. This bit will be ignored. */ #define _FPU_IEEE 0x00000001 -/* Type of the control word. */ -typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); - /* Macros for accessing the hardware control word. */ #define _FPU_GETCW(cw) __asm__ ("fmove%.l %!, %0" : "=dm" (cw)) #define _FPU_SETCW(cw) __asm__ volatile ("fmove%.l %0, %!" : : "dm" (cw)) +#endif + +/* Type of the control word. */ +typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); /* Default control word set at startup. */ extern fpu_control_t __fpu_control; |