diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/gnu/utmpbits.h | 7 | ||||
-rw-r--r-- | sysdeps/libm-i387/e_exp.S | 14 |
2 files changed, 19 insertions, 2 deletions
diff --git a/sysdeps/gnu/utmpbits.h b/sysdeps/gnu/utmpbits.h index 8b939cee86..e8c41f8814 100644 --- a/sysdeps/gnu/utmpbits.h +++ b/sysdeps/gnu/utmpbits.h @@ -77,7 +77,12 @@ struct utmp #define ut_time ut_tv.tv_sec /* Backwards compatibility. */ +/* Tell the user that we have a modern system with UT_TYPE, UT_ID + and UT_TV fields. */ +#define _HAVE_UT_TYPE 1 +#define _HAVE_UT_ID 1 +#define _HAVE_UT_TV 1 + __END_DECLS #endif /* !_UTMP_H_ */ - diff --git a/sysdeps/libm-i387/e_exp.S b/sysdeps/libm-i387/e_exp.S index 8c41ce09dd..3ed039bc87 100644 --- a/sysdeps/libm-i387/e_exp.S +++ b/sysdeps/libm-i387/e_exp.S @@ -10,14 +10,26 @@ RCSID("$NetBSD: e_exp.S,v 1.4 1995/05/08 23:47:04 jtc Exp $") /* e^x = 2^(x * log2(e)) */ ENTRY(__ieee754_exp) fldl 4(%esp) + fxam + fstsw %ax + sahf + jnc .LnoInf + jp .LisInf +.LnoInf: fldl2e fmulp /* x * log2(e) */ fstl %st(1) frndint /* int(x * log2(e)) */ fstl %st(2) fsubrp /* fract(x * log2(e)) */ - f2xm1 /* 2^(fract(x * log2(e))) - 1 */ + f2xm1 /* 2^(fract(x * log2(e))) - 1 */ fld1 faddp /* 2^(fract(x * log2(e))) */ fscale /* e^x */ ret + +.LisInf: + andb $2, %ah + jz .LpInf + fldz +.LpInf: ret |