summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorxtraeme <xtraeme>2005-05-03 11:18:47 +0000
committerxtraeme <xtraeme>2005-05-03 11:18:47 +0000
commit0fc8516e6914a2cf6399282e1880b495e4c51d47 (patch)
treea1a5744c307de6c582fcd9379694f6d4dba52f3d /emulators
parent5fffb2af258326e625f4a33d102aa9c61ccab104 (diff)
downloadpkgsrc-0fc8516e6914a2cf6399282e1880b495e4c51d47.tar.gz
Update to 0.7.0.
Changes: - better BIOS translation and HDD geometry auto-detection - user mode networking bug fix - undocumented FPU ops support - Cirrus VGA: support for 1280x1024x[8,15,16] modes - 'pidfile' option - .dmg disk image format support (Johannes Schindelin) - keymaps support (initial patch by Johannes Schindelin) - big endian ARM support (Lennert Buytenhek) - added generic 64 bit target support - x86_64 target support - initial APIC support - MMX/SSE/SSE2/PNI support - PC parallel port support (Mark Jonckheere) - initial SPARC64 support (Blue Swirl) - SPARC target boots Linux (Blue Swirl) - armv5te user mode support (Paul Brook) - ARM VFP support (Paul Brook) - ARM "Angel" semihosting syscalls (Paul Brook) - user mode gdb stub support (Paul Brook) - Samba 3 support - initial Cocoa support (Pierre d'Herbemont) - generic FPU emulation code - Virtual PC read-only disk image support (Alex Beregszaszi) pkgsrc changes: Applied Hubert Feyrer workaround for the x86_64 target (patch-aw).
Diffstat (limited to 'emulators')
-rw-r--r--emulators/qemu/DESCR10
-rw-r--r--emulators/qemu/Makefile9
-rw-r--r--emulators/qemu/PLIST43
-rw-r--r--emulators/qemu/distinfo21
-rw-r--r--emulators/qemu/patches/patch-ab17
-rw-r--r--emulators/qemu/patches/patch-af31
-rw-r--r--emulators/qemu/patches/patch-aj23
-rw-r--r--emulators/qemu/patches/patch-ak37
-rw-r--r--emulators/qemu/patches/patch-ap12
-rw-r--r--emulators/qemu/patches/patch-ar11
-rw-r--r--emulators/qemu/patches/patch-au76
-rw-r--r--emulators/qemu/patches/patch-av55
-rw-r--r--emulators/qemu/patches/patch-aw19
13 files changed, 253 insertions, 111 deletions
diff --git a/emulators/qemu/DESCR b/emulators/qemu/DESCR
index 8c743e5720e..d939711a261 100644
--- a/emulators/qemu/DESCR
+++ b/emulators/qemu/DESCR
@@ -1,11 +1,11 @@
-QEMU is a FAST! processor emulator using dynamic translation to achieve
+QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed, QEMU has two operating modes:
- * Full system emulation. In this mode, QEMU emulates a full system
+ * Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherals.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
- * User mode emulation (Linux host only). In this mode, QEMU can launch
- Linux processes compiled for one CPU on another CPU. It can be used
+ * User mode emulation (Linux host only). In this mode, QEMU can launch
+ Linux processes compiled for one CPU on another CPU. It can be used
to launch the Wine Windows API emulator or to ease cross-compilation
- and cross-debugging.
+ and cross-debugging.
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index 99d61883045..f42bd24c803 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.9 2005/04/11 21:45:44 tv Exp $
+# $NetBSD: Makefile,v 1.10 2005/05/03 11:18:47 xtraeme Exp $
#
-DISTNAME= qemu-0.6.1
-PKGREVISION= 4
+DISTNAME= qemu-0.7.0
CATEGORIES= emulators
MASTER_SITES= http://fabrice.bellard.free.fr/qemu/
-MAINTAINER= dhowland@users.sourceforge.net
+MAINTAINER= dhowlland@users.sourceforge.net
HOMEPAGE= http://fabrice.bellard.free.fr/qemu/
COMMENT= CPU emulator using dynamic translation
@@ -17,6 +16,8 @@ USE_GNU_TOOLS+= make
USE_X11= yes
HAS_CONFIGURE= yes
+GCC_REQD+= 3.0
+
CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --interp-prefix=${PREFIX}/share/qemu
diff --git a/emulators/qemu/PLIST b/emulators/qemu/PLIST
index 7a6ca1884e5..148e301437a 100644
--- a/emulators/qemu/PLIST
+++ b/emulators/qemu/PLIST
@@ -1,17 +1,54 @@
-@comment $NetBSD: PLIST,v 1.2 2004/11/15 11:35:30 xtraeme Exp $
+@comment $NetBSD: PLIST,v 1.3 2005/05/03 11:18:47 xtraeme Exp $
bin/qemu
bin/qemu-img
bin/qemu-system-ppc
bin/qemu-system-sparc
-man/man1/qemu-mkcow.1
+bin/qemu-system-x86_64
+man/man1/qemu-img.1
man/man1/qemu.1
share/doc/qemu/qemu-doc.html
share/doc/qemu/qemu-tech.html
share/qemu/bios.bin
+share/qemu/keymaps/ar
+share/qemu/keymaps/common
+share/qemu/keymaps/da
+share/qemu/keymaps/de
+share/qemu/keymaps/de-ch
+share/qemu/keymaps/en-gb
+share/qemu/keymaps/en-us
+share/qemu/keymaps/es
+share/qemu/keymaps/et
+share/qemu/keymaps/fi
+share/qemu/keymaps/fo
+share/qemu/keymaps/fr
+share/qemu/keymaps/fr-be
+share/qemu/keymaps/fr-ca
+share/qemu/keymaps/fr-ch
+share/qemu/keymaps/hr
+share/qemu/keymaps/hu
+share/qemu/keymaps/is
+share/qemu/keymaps/it
+share/qemu/keymaps/ja
+share/qemu/keymaps/lt
+share/qemu/keymaps/lv
+share/qemu/keymaps/mk
+share/qemu/keymaps/modifiers
+share/qemu/keymaps/nl
+share/qemu/keymaps/nl-be
+share/qemu/keymaps/no
+share/qemu/keymaps/pl
+share/qemu/keymaps/pt
+share/qemu/keymaps/pt-br
+share/qemu/keymaps/ru
+share/qemu/keymaps/sl
+share/qemu/keymaps/sv
+share/qemu/keymaps/th
+share/qemu/keymaps/tr
share/qemu/linux_boot.bin
share/qemu/ppc_rom.bin
-share/qemu/proll.bin
+share/qemu/proll.elf
share/qemu/vgabios-cirrus.bin
share/qemu/vgabios.bin
+@dirrm share/qemu/keymaps
@dirrm share/qemu
@dirrm share/doc/qemu
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index ffc6c2ea597..b2c443fe63d 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,23 +1,24 @@
-$NetBSD: distinfo,v 1.7 2005/03/03 09:11:28 abs Exp $
+$NetBSD: distinfo,v 1.8 2005/05/03 11:18:47 xtraeme Exp $
-SHA1 (qemu-0.6.1.tar.gz) = 6f547082857068a3fbbac5a3d1910776d3c4b2bb
-RMD160 (qemu-0.6.1.tar.gz) = 306936ca4726a8df7d4c25827f6b5cc8ce82f85e
-Size (qemu-0.6.1.tar.gz) = 1010121 bytes
+SHA1 (qemu-0.7.0.tar.gz) = ea6a5cd2cd7a6ad0daf24de000411983d9990320
+RMD160 (qemu-0.7.0.tar.gz) = 3bd1f81193ec6eb913153b02aa237dbadb94b413
+Size (qemu-0.7.0.tar.gz) = 1211802 bytes
SHA1 (patch-aa) = 455575215bad8864da285e1979da9ff7d8476a24
-SHA1 (patch-ab) = f54b690385919adc5118b851091aa2dc1b997871
SHA1 (patch-ac) = 2f16687e2051934a79e32e3822ee31885aa8a244
-SHA1 (patch-af) = 798f4c6194b81f20c4d284f8efd2fc0b7bf68aed
+SHA1 (patch-af) = 221d6d85aa898cb27462806faab58ee2a9871a1c
SHA1 (patch-ag) = 4bb7ae18fd0f0c5ecfa2ab2594d1de5b33660495
SHA1 (patch-ah) = 134f47583dbed94e83671ca6197106805b13f759
SHA1 (patch-ai) = 480cc80a451488a1376f99ed152a917116759cbf
-SHA1 (patch-aj) = 2f612e652de668539e33750b87c61aae682adbfe
-SHA1 (patch-ak) = 7dcdbf4d010c656b8ace2d41651a18d63404e9e8
+SHA1 (patch-aj) = 8eb95edbb8c33ae5a0a75f482c3a9f0ac9982328
+SHA1 (patch-ak) = 3f8cf4cd3db52451c6b02db1504da71cfb121c61
SHA1 (patch-al) = d87d8c4bd0a422b0e1c2b52d049e9ac807cf1375
SHA1 (patch-am) = b12f4ed6bbeb4d89c43ca06b3b3ff25c14386c47
SHA1 (patch-an) = 10e1c5edae487be4ae43648649ad419a3b6d7508
SHA1 (patch-ao) = 1899c03e37b2409df13c6f69bb21c3debf0aa4e8
-SHA1 (patch-ap) = cffb474805403056706d06d4a2f01e1984cb1edf
+SHA1 (patch-ap) = bbcf44e65c31b0de97440a8766f40cf1620c5b61
SHA1 (patch-aq) = a0fe72cfbc54086feeb5a554220df6fdc2aa063e
-SHA1 (patch-ar) = 2ea46ba9c333fd2e90b98dc7666bafa8c3082d42
SHA1 (patch-as) = 0df64b325b758a88fe61590e129bab2b3f99ce63
SHA1 (patch-at) = 258e75c3229398018f9a316c070bb9ecc99bd91a
+SHA1 (patch-au) = aa2712c382a67beef9225e710e7735ba15995a41
+SHA1 (patch-av) = bd88088f41b6b3c256eec933e5f267fc432e58fa
+SHA1 (patch-aw) = 6299964fb3a747e8f5dfe4354e66722030ee9a75
diff --git a/emulators/qemu/patches/patch-ab b/emulators/qemu/patches/patch-ab
deleted file mode 100644
index f09e385ff7a..00000000000
--- a/emulators/qemu/patches/patch-ab
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-ab,v 1.3 2005/03/02 23:22:41 hubertf Exp $
-
-Source: http://lists.gnu.org/archive/html/qemu-devel/2004-09/msg00271.html
-
---- target-i386/exec.h.orig 2004-11-14 21:51:33.000000000 +0100
-+++ target-i386/exec.h
-@@ -315,8 +315,8 @@ static inline void stfl(void *ptr, float
- extern int lrint(CPU86_LDouble x);
- extern int64_t llrint(CPU86_LDouble x);
- #else
--#define lrint(d) ((int)rint(d))
--#define llrint(d) ((int)rint(d))
-+#define lrint(d) ((long)rint(d))
-+#define llrint(d) ((long long)rint(d))
- #endif
- extern CPU86_LDouble fabs(CPU86_LDouble x);
- extern CPU86_LDouble sin(CPU86_LDouble x);
diff --git a/emulators/qemu/patches/patch-af b/emulators/qemu/patches/patch-af
index 1d8644fdbb9..07a798188b7 100644
--- a/emulators/qemu/patches/patch-af
+++ b/emulators/qemu/patches/patch-af
@@ -1,7 +1,7 @@
-$NetBSD: patch-af,v 1.2 2004/12/14 01:02:19 dbj Exp $
+$NetBSD: patch-af,v 1.3 2005/05/03 11:18:47 xtraeme Exp $
---- dyngen-exec.h.orig Sun Nov 14 15:51:33 2004
-+++ dyngen-exec.h
+--- dyngen-exec.h.orig 2005-04-28 22:23:53.000000000 +0200
++++ dyngen-exec.h 2005-04-28 22:25:30.000000000 +0200
@@ -23,7 +23,9 @@
/* NOTE: standard headers should be used with special care at this
point because host CPU registers are used as global variables. Some
@@ -12,34 +12,29 @@ $NetBSD: patch-af,v 1.2 2004/12/14 01:02:19 dbj Exp $
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
-@@ -43,7 +45,7 @@ typedef signed long int64_t;
- #else
+@@ -44,6 +46,7 @@
typedef signed long long int64_t;
#endif
--
+
+/*
#define INT8_MIN (-128)
#define INT16_MIN (-32767-1)
#define INT32_MIN (-2147483647-1)
-@@ -56,8 +58,12 @@ typedef signed long long int64_t;
+@@ -56,12 +59,17 @@
#define UINT16_MAX (65535)
#define UINT32_MAX (4294967295U)
#define UINT64_MAX ((uint64_t)(18446744073709551615))
--
+*/
+
+#ifdef __NetBSD__
-+typedef struct __sFILE FILE;
++typedef struct __sFILE FILE;
+#else
typedef struct FILE FILE;
-+#endif
extern int fprintf(FILE *, const char *, ...);
extern int printf(const char *, ...);
#undef NULL
-@@ -70,6 +76,7 @@ extern int printf(const char *, ...);
- #define FE_UPWARD FP_RP
- #define FE_TOWARDZERO FP_RZ
- #define fesetround(x) fpsetround(x)
-+#define fegetround() fpgetround()
- #else
- #include <fenv.h>
- #endif
+ #define NULL 0
++#endif
+
+ #ifdef __i386__
+ #define AREG0 "ebp"
diff --git a/emulators/qemu/patches/patch-aj b/emulators/qemu/patches/patch-aj
index d972ebf598e..8c0bf81decc 100644
--- a/emulators/qemu/patches/patch-aj
+++ b/emulators/qemu/patches/patch-aj
@@ -1,29 +1,20 @@
-$NetBSD: patch-aj,v 1.2 2004/12/14 01:02:19 dbj Exp $
+$NetBSD: patch-aj,v 1.3 2005/05/03 11:18:47 xtraeme Exp $
---- Makefile.target.orig Sun Nov 14 15:51:33 2004
-+++ Makefile.target
-@@ -7,8 +7,8 @@ ifdef CONFIG_USER_ONLY
+--- Makefile.target.orig 2005-04-28 22:40:38.000000000 +0200
++++ Makefile.target 2005-04-28 22:41:20.000000000 +0200
+@@ -14,9 +14,9 @@
VPATH+=:$(SRC_PATH)/linux-user
DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
endif
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
--LDFLAGS=-g
+#CFLAGS=-Wall -O2 -g -fno-strict-aliasing
+ #CFLAGS+=-Werror
+-LDFLAGS=-g
+#LDFLAGS=-g
LIBS=
HELPER_CFLAGS=$(CFLAGS)
DYNGEN=../dyngen$(EXESUF)
-@@ -181,6 +181,9 @@ endif
-
- DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
- LIBS+=-lm
-+ifdef CONFIG_DARWIN
-+LIBS+=-lmx
-+endif
- ifndef CONFIG_USER_ONLY
- LIBS+=-lz
- endif
-@@ -397,7 +400,7 @@ clean:
+@@ -463,7 +463,7 @@
install: all
ifneq ($(PROGS),)
diff --git a/emulators/qemu/patches/patch-ak b/emulators/qemu/patches/patch-ak
index 2a6138bfe97..34fffc993b7 100644
--- a/emulators/qemu/patches/patch-ak
+++ b/emulators/qemu/patches/patch-ak
@@ -1,8 +1,8 @@
-$NetBSD: patch-ak,v 1.2 2004/11/15 11:35:30 xtraeme Exp $
+$NetBSD: patch-ak,v 1.3 2005/05/03 11:18:47 xtraeme Exp $
---- Makefile.orig 2004-11-15 11:54:34.000000000 +0100
-+++ Makefile 2004-11-15 11:56:25.000000000 +0100
-@@ -1,13 +1,13 @@
+--- Makefile.orig 2005-04-28 22:38:00.000000000 +0200
++++ Makefile 2005-04-28 22:39:40.000000000 +0200
+@@ -1,10 +1,10 @@
-include config-host.mak
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
@@ -10,36 +10,31 @@ $NetBSD: patch-ak,v 1.2 2004/11/15 11:35:30 xtraeme Exp $
ifdef CONFIG_DARWIN
CFLAGS+= -mdynamic-no-pic
endif
- ifdef CONFIG_WIN32
- CFLAGS+=-fpack-struct
- endif
-LDFLAGS=-g
+#LDFLAGS=-g
LIBS=
DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
- TOOLS=qemu-img
-@@ -43,18 +43,18 @@
- done
+ TOOLS=qemu-img$(EXESUF)
+@@ -54,16 +54,16 @@
+ common de-ch es fo fr-ca hu ja mk nl-be pt sl tr
install: all
- mkdir -p "$(bindir)"
-+ $(BSD_INSTALL_PROGRAM_DIR) $(bindir)
- ifndef CONFIG_WIN32
- install -m 755 -s $(TOOLS) "$(bindir)"
- endif
+- install -m 755 -s $(TOOLS) "$(bindir)"
- mkdir -p "$(datadir)"
- install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \
-+ $(BSD_INSTALL_DATA_DIR) $(datadir)
++ $(BSD_INSTALL_PROGRAM_DIR) "$(bindir)"
++ $(BSD_INSTALL_PROGRAM) $(TOOLS) "$(bindir)"
++ $(BSD_INSTALL_DATA_DIR) "$(datadir)"
+ $(BSD_INSTALL_DATA) pc-bios/bios.bin pc-bios/vgabios.bin \
pc-bios/vgabios-cirrus.bin \
pc-bios/ppc_rom.bin \
- pc-bios/proll.bin \
-- pc-bios/linux_boot.bin "$(datadir)"
+ pc-bios/proll.elf \
+ pc-bios/linux_boot.bin "$(datadir)"
- mkdir -p "$(docdir)"
- install -m 644 qemu-doc.html qemu-tech.html "$(docdir)"
-+ pc-bios/linux_boot.bin $(datadir)
-+ $(BSD_INSTALL_DATA_DIR) $(docdir)
-+ $(BSD_INSTALL_DATA) qemu-doc.html qemu-tech.html $(docdir)
++ $(BSD_INSTALL_DATA_DIR) "$(docdir)"
++ $(BSD_INSTALL_DATA) qemu-doc.html qemu-tech.html "$(docdir)"
ifndef CONFIG_WIN32
mkdir -p "$(mandir)/man1"
- install qemu.1 qemu-mkcow.1 "$(mandir)/man1"
+ install qemu.1 qemu-img.1 "$(mandir)/man1"
diff --git a/emulators/qemu/patches/patch-ap b/emulators/qemu/patches/patch-ap
index c4fe829f41d..c01987f9ea3 100644
--- a/emulators/qemu/patches/patch-ap
+++ b/emulators/qemu/patches/patch-ap
@@ -1,10 +1,10 @@
-$NetBSD: patch-ap,v 1.1 2004/11/15 11:35:30 xtraeme Exp $
+$NetBSD: patch-ap,v 1.2 2005/05/03 11:18:47 xtraeme Exp $
---- target-sparc/cpu.h 9 Oct 2004 18:08:01 -0000 1.8
-+++ target-sparc/cpu.h 15 Nov 2004 09:09:31 -0000
-@@ -145,8 +145,7 @@
- int cpu_sparc_exec(CPUSPARCState *s);
- int cpu_sparc_close(CPUSPARCState *s);
+--- target-sparc/cpu.h.orig 2005-04-27 22:52:05.000000000 +0200
++++ target-sparc/cpu.h 2005-04-29 01:11:35.000000000 +0200
+@@ -194,8 +194,7 @@
+ cpu_set_cwp(env, _tmp & PSR_CWP & (NWINDOWS - 1)); \
+ } while (0)
-struct siginfo;
-int cpu_sparc_signal_handler(int hostsignum, struct siginfo *info, void *puc);
diff --git a/emulators/qemu/patches/patch-ar b/emulators/qemu/patches/patch-ar
deleted file mode 100644
index 51d4f86f41f..00000000000
--- a/emulators/qemu/patches/patch-ar
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD: patch-ar,v 1.1 2004/11/15 11:35:30 xtraeme Exp $
-
---- target-sparc/op_helper.c 10 Oct 2004 17:46:24 -0000 1.3
-+++ target-sparc/op_helper.c 15 Nov 2004 09:09:31 -0000
-@@ -1,5 +1,4 @@
- #include <math.h>
--#include <fenv.h>
- #include "exec.h"
-
- #ifdef USE_INT_TO_FLOAT_HELPERS
-
diff --git a/emulators/qemu/patches/patch-au b/emulators/qemu/patches/patch-au
new file mode 100644
index 00000000000..951e6b2e964
--- /dev/null
+++ b/emulators/qemu/patches/patch-au
@@ -0,0 +1,76 @@
+$NetBSD: patch-au,v 1.1 2005/05/03 11:18:47 xtraeme Exp $
+
+--- fpu/softfloat-native.h.orig 2005-04-27 22:52:05.000000000 +0200
++++ fpu/softfloat-native.h 2005-04-29 01:23:27.000000000 +0200
+@@ -36,9 +36,9 @@
+ #if defined(_BSD) && !defined(__APPLE__)
+ enum {
+ float_round_nearest_even = FP_RN,
+- float_round_down = FE_RM,
+- float_round_up = FE_RP,
+- float_round_to_zero = FE_RZ
++ float_round_down = FP_RM,
++ float_round_up = FP_RP,
++ float_round_to_zero = FP_RZ
+ };
+ #elif defined(__arm__)
+ enum {
+@@ -143,15 +143,15 @@
+ }
+ INLINE char float32_le_quiet( float32 a, float32 b STATUS_PARAM)
+ {
+- return islessequal(a, b);
++ return __builtin_islessequal(a, b);
+ }
+ INLINE char float32_lt_quiet( float32 a, float32 b STATUS_PARAM)
+ {
+- return isless(a, b);
++ return __builtin_isless(a, b);
+ }
+ INLINE char float32_unordered( float32 a, float32 b STATUS_PARAM)
+ {
+- return isunordered(a, b);
++ return __builtin_isunordered(a, b);
+
+ }
+ char float32_compare( float32, float32 STATUS_PARAM );
+@@ -223,16 +223,16 @@
+ }
+ INLINE char float64_le_quiet( float64 a, float64 b STATUS_PARAM)
+ {
+- return islessequal(a, b);
++ return __builtin_islessequal(a, b);
+ }
+ INLINE char float64_lt_quiet( float64 a, float64 b STATUS_PARAM)
+ {
+- return isless(a, b);
++ return __builtin_isless(a, b);
+
+ }
+ INLINE char float64_unordered( float64 a, float64 b STATUS_PARAM)
+ {
+- return isunordered(a, b);
++ return __builtin_isunordered(a, b);
+
+ }
+ char float64_compare( float64, float64 STATUS_PARAM );
+@@ -304,16 +304,16 @@
+ }
+ INLINE char floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM)
+ {
+- return islessequal(a, b);
++ return __builtin_islessequal(a, b);
+ }
+ INLINE char floatx80_lt_quiet( floatx80 a, floatx80 b STATUS_PARAM)
+ {
+- return isless(a, b);
++ return __builtin_isless(a, b);
+
+ }
+ INLINE char floatx80_unordered( floatx80 a, floatx80 b STATUS_PARAM)
+ {
+- return isunordered(a, b);
++ return __builtin_isunordered(a, b);
+
+ }
+ char floatx80_compare( floatx80, floatx80 STATUS_PARAM );
diff --git a/emulators/qemu/patches/patch-av b/emulators/qemu/patches/patch-av
new file mode 100644
index 00000000000..df0770e4720
--- /dev/null
+++ b/emulators/qemu/patches/patch-av
@@ -0,0 +1,55 @@
+$NetBSD: patch-av,v 1.1 2005/05/03 11:18:47 xtraeme Exp $
+
+--- fpu/softfloat-native.c.orig 2005-04-27 22:52:05.000000000 +0200
++++ fpu/softfloat-native.c 2005-05-03 13:08:02.000000000 +0200
+@@ -25,6 +25,8 @@
+ #if defined(_BSD)
+ #define lrint(d) ((int32_t)rint(d))
+ #define llrint(d) ((int64_t)rint(d))
++#define lrintf(d) ((int32_t)rint(d))
++#define llrintf(d) ((int64_t)rint(d))
+ #endif
+
+ #if defined(__powerpc__)
+@@ -143,11 +145,11 @@
+ }
+ char float32_compare_quiet( float32 a, float32 b STATUS_PARAM )
+ {
+- if (isless(a, b)) {
++ if (__builtin_isless(a, b)) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+- } else if (isgreater(a, b)) {
++ } else if (__builtin_isgreater(a, b)) {
+ return 1;
+ } else {
+ return 2;
+@@ -247,11 +249,11 @@
+ }
+ char float64_compare_quiet( float64 a, float64 b STATUS_PARAM )
+ {
+- if (isless(a, b)) {
++ if (__builtin_isless(a, b)) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+- } else if (isgreater(a, b)) {
++ } else if (__builtin_isgreater(a, b)) {
+ return 1;
+ } else {
+ return 2;
+@@ -328,11 +330,11 @@
+ }
+ char floatx80_compare_quiet( floatx80 a, floatx80 b STATUS_PARAM )
+ {
+- if (isless(a, b)) {
++ if (__builtin_isless(a, b)) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+- } else if (isgreater(a, b)) {
++ } else if (__builtin_isgreater(a, b)) {
+ return 1;
+ } else {
+ return 2;
diff --git a/emulators/qemu/patches/patch-aw b/emulators/qemu/patches/patch-aw
new file mode 100644
index 00000000000..8d60e3b6602
--- /dev/null
+++ b/emulators/qemu/patches/patch-aw
@@ -0,0 +1,19 @@
+$NetBSD: patch-aw,v 1.1 2005/05/03 11:18:47 xtraeme Exp $
+
+Workaround for x86_64 target, patch from Hubert Feyrer.
+
+Index: dyngen.c
+===================================================================
+RCS file: /cvsroot/qemu/qemu/dyngen.c,v
+retrieving revision 1.40
+diff -u -r1.40 dyngen.c
+--- dyngen.c 27 Apr 2005 19:55:58 -0000 1.40
++++ dyngen.c 1 May 2005 20:22:09 -0000
+@@ -1587,6 +1587,7 @@
+ if(!sym_name)
+ continue;
+ if (*sym_name &&
++ !strstart(sym_name, "bswap64", NULL) && /* HF hack */
+ !strstart(sym_name, "__op_param", NULL) &&
+ !strstart(sym_name, "__op_jmp", NULL) &&
+ !strstart(sym_name, "__op_gen_label", NULL)) {