fixing emulators/qemu on 4.x
Juergen Lock
nox at jelal.kn-bremen.de
Sun Sep 18 09:08:09 PDT 2005
Can someone who runs 4.x please test the following patch to fix the
emulators/qemu port? And while you're at it, it would be nice if
you could test kqemu as well... (WITH_KQEMU)
Thanx,
Juergen
Index: files/patch-libmath4
@@ -0,0 +1,45 @@
+Index: qemu/bsd/i386/s_ldexpl.c
+@@ -2,6 +2,30 @@
+ #include <errno.h>
+ #include <sysdep.h>
+
++/* 4.x doesnt have isfinite */
++#ifndef isfinite
++#define isfinite __isfinitel
++
++union IEEEl2bits {
++ long double e;
++ struct {
++ unsigned int manl :32;
++ unsigned int manh :32;
++ unsigned int exp :15;
++ unsigned int sign :1;
++ unsigned int junk :16;
++ } bits;
++};
++
++static int __isfinitel(long double x)
++{
++ union IEEEl2bits u;
++
++ u.e = x;
++ return (u.bits.exp != 32767);
++}
++#endif
++
+ long double __ldexpl(long double x, int expn)
+ {
+ long double res;
+Index: qemu/bsd/i386/s_round.c
+@@ -29,6 +29,11 @@
+
+ #include <math.h>
+
++/* 4.x doesnt have isfinite */
++#ifndef isfinite
++#define isfinite(x) (!isnan(x) && !isinf(x))
++#endif
++
+ double
+ round(double x)
+ {
More information about the freebsd-ports
mailing list