From 0fc8516e6914a2cf6399282e1880b495e4c51d47 Mon Sep 17 00:00:00 2001 From: xtraeme Date: Tue, 3 May 2005 11:18:47 +0000 Subject: 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). --- emulators/qemu/DESCR | 10 +++--- emulators/qemu/Makefile | 9 ++--- emulators/qemu/PLIST | 43 +++++++++++++++++++++-- emulators/qemu/distinfo | 21 ++++++------ emulators/qemu/patches/patch-ab | 17 --------- emulators/qemu/patches/patch-af | 31 +++++++---------- emulators/qemu/patches/patch-aj | 23 ++++--------- emulators/qemu/patches/patch-ak | 37 +++++++++----------- emulators/qemu/patches/patch-ap | 12 +++---- emulators/qemu/patches/patch-ar | 11 ------ emulators/qemu/patches/patch-au | 76 +++++++++++++++++++++++++++++++++++++++++ emulators/qemu/patches/patch-av | 55 +++++++++++++++++++++++++++++ emulators/qemu/patches/patch-aw | 19 +++++++++++ 13 files changed, 253 insertions(+), 111 deletions(-) delete mode 100644 emulators/qemu/patches/patch-ab delete mode 100644 emulators/qemu/patches/patch-ar create mode 100644 emulators/qemu/patches/patch-au create mode 100644 emulators/qemu/patches/patch-av create mode 100644 emulators/qemu/patches/patch-aw (limited to 'emulators') 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 - #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 --#include - #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)) { -- cgit v1.2.3