--- /dev/null
+--- time.c.orig 2004-11-25 11:38:01.000000000 -0800
++++ time.c 2005-03-24 14:09:30.000000000 -0800
+@@ -39,6 +39,7 @@
+
+ #include <sys/types.h>
+ #include <sys/time.h>
++#include <fenv.h>
+
+ time_t
+ time(t)
+@@ -46,12 +47,15 @@
+ {
+ struct timeval tt;
+ time_t retval;
++ fenv_t fenv;
+
++ fegetenv(&fenv); /* 3965505 - need to preserve floating point enviroment */
+ if (gettimeofday(&tt, (struct timezone *)0) < 0)
+ retval = -1;
+ else
+ retval = tt.tv_sec;
+ if (t != NULL)
+ *t = retval;
++ fesetenv(&fenv);
+ return (retval);
+ }