Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Sep 2005 17:59:05 +0200
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        freebsd-ports@freebsd.org, freebsd-emulation@freebsd.org
Subject:   fixing emulators/qemu on 4.x
Message-ID:  <20050918155905.GA31500@saturn.kn-bremen.de>

next in thread | raw e-mail | index | archive | help
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)
+ {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050918155905.GA31500>