mirror of
git://git.musl-libc.org/musl
synced 2024-12-27 01:02:12 +00:00
e5bb165bed
Userspace emulated floating-point (gcc -msoft-float) is not compatible with the default mips abi (assumes an FPU or in kernel emulation of it). Soft vs hard float abi should not be mixed, __mips_soft_float is checked in musl's configure script and there is no runtime check. The -sf subarch does not save/restore floating-point registers in setjmp/longjmp and only provides dummy fenv implementation.
26 lines
459 B
C
26 lines
459 B
C
#ifdef __mips_soft_float
|
|
#define FE_ALL_EXCEPT 0
|
|
#define FE_TONEAREST 0
|
|
#else
|
|
#define FE_INEXACT 4
|
|
#define FE_UNDERFLOW 8
|
|
#define FE_OVERFLOW 16
|
|
#define FE_DIVBYZERO 32
|
|
#define FE_INVALID 64
|
|
|
|
#define FE_ALL_EXCEPT 124
|
|
|
|
#define FE_TONEAREST 0
|
|
#define FE_TOWARDZERO 1
|
|
#define FE_UPWARD 2
|
|
#define FE_DOWNWARD 3
|
|
#endif
|
|
|
|
typedef unsigned short fexcept_t;
|
|
|
|
typedef struct {
|
|
unsigned __cw;
|
|
} fenv_t;
|
|
|
|
#define FE_DFL_ENV ((const fenv_t *) -1)
|