From cb11558b75bc84cf6c824c94aad9b343fea1224b Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Wed, 16 Dec 2015 14:15:19 +0000 Subject: emulators/qemu: Update version 0.11.1=>2.4.1 - MASTER_SITES has been changed from SAVANNAH and local repo of nox@ to new wiki.qemu.org - Take MAINTAINERSHIP - Updated to maintain version release with UPSTREAM. qemu-devel will be updated to maintain with SNAPSHOTS - Some of the patches has been converted to OPTIONSNG with post-patch - Most of the patches are now makepatch compatible - Converted most of the LEGACY OPTIONS to OPTIONSNG --- emulators/qemu/files/patch-libmath | 2524 ------------------------------------ 1 file changed, 2524 deletions(-) delete mode 100644 emulators/qemu/files/patch-libmath (limited to 'emulators/qemu/files/patch-libmath') diff --git a/emulators/qemu/files/patch-libmath b/emulators/qemu/files/patch-libmath deleted file mode 100644 index 1591dbedcd42..000000000000 --- a/emulators/qemu/files/patch-libmath +++ /dev/null @@ -1,2524 +0,0 @@ -diff -Nru qemu-0.7.0/bsd.orig/Makefile qemu-0.7.0/bsd/Makefile ---- qemu-0.7.0/bsd.orig/Makefile Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/Makefile Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,32 @@ -+SRCS= ${MACHINE_ARCH}/e_atan2l.c \ -+ ${MACHINE_ARCH}/e_logl.S \ -+ ${MACHINE_ARCH}/e_powl.S \ -+ ${MACHINE_ARCH}/e_remainderl.S \ -+ ${MACHINE_ARCH}/e_sqrtl.c \ -+ ${MACHINE_ARCH}/s_ceill.S \ -+ ${MACHINE_ARCH}/s_cosl.S \ -+ ${MACHINE_ARCH}/s_floorl.S \ -+ ${MACHINE_ARCH}/s_isnormal.c \ -+ ${MACHINE_ARCH}/s_llrint.S \ -+ ${MACHINE_ARCH}/s_llrintf.S \ -+ ${MACHINE_ARCH}/s_llrintl.S \ -+ ${MACHINE_ARCH}/s_lrint.S \ -+ ${MACHINE_ARCH}/s_lrintf.S \ -+ ${MACHINE_ARCH}/s_lrintl.S \ -+ ${MACHINE_ARCH}/s_rintl.c \ -+ ${MACHINE_ARCH}/s_round.c \ -+ ${MACHINE_ARCH}/s_sinl.S \ -+ ${MACHINE_ARCH}/s_tanl.S -+ -+OBJS= ${SRCS:R:S/$/.o/} -+ -+CFLAGS+= -I. -+ -+all: libmath.a -+ -+libmath.a: ${OBJS} -+ rm -f $@ -+ ${AR} rcs $@ ${OBJS:T} -+ -+clean: -+ rm -f ${OBJS:T} libmath.a -diff -Nru qemu-0.7.0/bsd.orig/amd64/e_atan2l.c qemu-0.7.0/bsd/amd64/e_atan2l.c ---- qemu-0.7.0/bsd.orig/amd64/e_atan2l.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/e_atan2l.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,20 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+ -+long double -+__ieee754_atan2l (long double y, long double x) -+{ -+ long double res; -+ -+ asm ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)"); -+ -+ return res; -+} -+ -+weak_alias(__ieee754_atan2l, atan2l) -diff -Nru qemu-0.7.0/bsd.orig/amd64/e_logl.S qemu-0.7.0/bsd/amd64/e_logl.S ---- qemu-0.7.0/bsd.orig/amd64/e_logl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/e_logl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,59 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ * Adapted for x86-64 by Andreas Jaeger . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ -+#ifdef __ELF__ -+ .section .rodata -+#else -+ .text -+#endif -+ .align ALIGNARG(4) -+ ASM_TYPE_DIRECTIVE(one,@object) -+one: .double 1.0 -+ ASM_SIZE_DIRECTIVE(one) -+ /* It is not important that this constant is precise. It is only -+ a value which is known to be on the safe side for using the -+ fyl2xp1 instruction. */ -+ ASM_TYPE_DIRECTIVE(limit,@object) -+limit: .double 0.29 -+ ASM_SIZE_DIRECTIVE(limit) -+ -+ -+#ifdef PIC -+#define MO(op) op##(%rip) -+#else -+#define MO(op) op -+#endif -+ -+ .text -+ENTRY(__ieee754_logl) -+ fldln2 // log(2) -+ fldt 8(%rsp) // x : log(2) -+ fld %st // x : x : log(2) -+ fsubl MO(one) // x-1 : x : log(2) -+ fld %st // x-1 : x-1 : x : log(2) -+ fabs // |x-1| : x-1 : x : log(2) -+ fcompl MO(limit) // x-1 : x : log(2) -+ fnstsw // x-1 : x : log(2) -+ andb $0x45, %ah -+ jz 2f -+ fstp %st(1) // x-1 : log(2) -+ fyl2xp1 // log(x) -+ ret -+ -+2: fstp %st(0) // x : log(2) -+ fyl2x // log(x) -+ ret -+END (__ieee754_logl) -+ -+weak_alias(__ieee754_logl,logl) -diff -Nru qemu-0.7.0/bsd.orig/amd64/e_powl.S qemu-0.7.0/bsd/amd64/e_powl.S ---- qemu-0.7.0/bsd.orig/amd64/e_powl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/e_powl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,341 @@ -+/* ix87 specific implementation of pow function. -+ Copyright (C) 1996, 1997, 1998, 1999, 2001, 2004 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper , 1996. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#ifdef __ELF__ -+ .section .rodata -+#else -+ .text -+#endif -+ -+ .align ALIGNARG(4) -+ ASM_TYPE_DIRECTIVE(infinity,@object) -+inf_zero: -+infinity: -+ .byte 0, 0, 0, 0, 0, 0, 0xf0, 0x7f -+ ASM_SIZE_DIRECTIVE(infinity) -+ ASM_TYPE_DIRECTIVE(zero,@object) -+zero: .double 0.0 -+ ASM_SIZE_DIRECTIVE(zero) -+ ASM_TYPE_DIRECTIVE(minf_mzero,@object) -+minf_mzero: -+minfinity: -+ .byte 0, 0, 0, 0, 0, 0, 0xf0, 0xff -+mzero: -+ .byte 0, 0, 0, 0, 0, 0, 0, 0x80 -+ ASM_SIZE_DIRECTIVE(minf_mzero) -+ ASM_TYPE_DIRECTIVE(one,@object) -+one: .double 1.0 -+ ASM_SIZE_DIRECTIVE(one) -+ ASM_TYPE_DIRECTIVE(limit,@object) -+limit: .double 0.29 -+ ASM_SIZE_DIRECTIVE(limit) -+ ASM_TYPE_DIRECTIVE(p63,@object) -+p63: -+ .byte 0, 0, 0, 0, 0, 0, 0xe0, 0x43 -+ ASM_SIZE_DIRECTIVE(p63) -+ -+#ifdef PIC -+#define MO(op) op##(%rip) -+#else -+#define MO(op) op -+#endif -+ -+ .text -+ENTRY(__ieee754_powl) -+ fldt 24(%rsp) // y -+ fxam -+ -+ -+ fnstsw -+ movb %ah, %dl -+ andb $0x45, %ah -+ cmpb $0x40, %ah // is y == 0 ? -+ je 11f -+ -+ cmpb $0x05, %ah // is y == ±inf ? -+ je 12f -+ -+ cmpb $0x01, %ah // is y == NaN ? -+ je 30f -+ -+ fldt 8(%rsp) // x : y -+ -+ fxam -+ fnstsw -+ movb %ah, %dh -+ andb $0x45, %ah -+ cmpb $0x40, %ah -+ je 20f // x is ±0 -+ -+ cmpb $0x05, %ah -+ je 15f // x is ±inf -+ -+ fxch // y : x -+ -+ /* fistpll raises invalid exception for |y| >= 1L<<63. */ -+ fldl MO(p63) // 1L<<63 : y : x -+ fld %st(1) // y : 1L<<63 : y : x -+ fabs // |y| : 1L<<63 : y : x -+ fcomip %st(1), %st // 1L<<63 : y : x -+ fstp %st(0) // y : x -+ jnc 2f -+ -+ /* First see whether `y' is a natural number. In this case we -+ can use a more precise algorithm. */ -+ fld %st // y : y : x -+ fistpll -8(%rsp) // y : x -+ fildll -8(%rsp) // int(y) : y : x -+ fucomip %st(1),%st // y : x -+ jne 2f -+ -+ /* OK, we have an integer value for y. */ -+ mov -8(%rsp),%eax -+ mov -4(%rsp),%edx -+ orl $0, %edx -+ fstp %st(0) // x -+ jns 4f // y >= 0, jump -+ fdivrl MO(one) // 1/x (now referred to as x) -+ negl %eax -+ adcl $0, %edx -+ negl %edx -+4: fldl MO(one) // 1 : x -+ fxch -+ -+6: shrdl $1, %edx, %eax -+ jnc 5f -+ fxch -+ fmul %st(1) // x : ST*x -+ fxch -+5: fmul %st(0), %st // x*x : ST*x -+ shrl $1, %edx -+ movl %eax, %ecx -+ orl %edx, %ecx -+ jnz 6b -+ fstp %st(0) // ST*x -+ ret -+ -+ /* y is ±NAN */ -+30: fldt 8(%rsp) // x : y -+ fldl MO(one) // 1.0 : x : y -+ fucomip %st(1),%st // x : y -+ je 31f -+ fxch // y : x -+31: fstp %st(1) -+ ret -+ -+ .align ALIGNARG(4) -+2: /* y is a real number. */ -+ fxch // x : y -+ fldl MO(one) // 1.0 : x : y -+ fld %st(1) // x : 1.0 : x : y -+ fsub %st(1) // x-1 : 1.0 : x : y -+ fabs // |x-1| : 1.0 : x : y -+ fcompl MO(limit) // 1.0 : x : y -+ fnstsw -+ fxch // x : 1.0 : y -+ test $4500,%eax -+ jz 7f -+ fsub %st(1) // x-1 : 1.0 : y -+ fyl2xp1 // log2(x) : y -+ jmp 8f -+ -+7: fyl2x // log2(x) : y -+8: fmul %st(1) // y*log2(x) : y -+ fxam -+ fnstsw -+ andb $0x45, %ah -+ cmpb $0x05, %ah // is y*log2(x) == ±inf ? -+ je 28f -+ fst %st(1) // y*log2(x) : y*log2(x) -+ frndint // int(y*log2(x)) : y*log2(x) -+ fsubr %st, %st(1) // int(y*log2(x)) : fract(y*log2(x)) -+ fxch // fract(y*log2(x)) : int(y*log2(x)) -+ f2xm1 // 2^fract(y*log2(x))-1 : int(y*log2(x)) -+ faddl MO(one) // 2^fract(y*log2(x)) : int(y*log2(x)) -+ fscale // 2^fract(y*log2(x))*2^int(y*log2(x)) : int(y*log2(x)) -+ fstp %st(1) // 2^fract(y*log2(x))*2^int(y*log2(x)) -+ ret -+ -+28: fstp %st(1) // y*log2(x) -+ fldl MO(one) // 1 : y*log2(x) -+ fscale // 2^(y*log2(x)) : y*log2(x) -+ fstp %st(1) // 2^(y*log2(x)) -+ ret -+ -+ // pow(x,±0) = 1 -+ .align ALIGNARG(4) -+11: fstp %st(0) // pop y -+ fldl MO(one) -+ ret -+ -+ // y == ±inf -+ .align ALIGNARG(4) -+12: fstp %st(0) // pop y -+ fldt 8(%rsp) // x -+ fabs -+ fcompl MO(one) // < 1, == 1, or > 1 -+ fnstsw -+ andb $0x45, %ah -+ cmpb $0x45, %ah -+ je 13f // jump if x is NaN -+ -+ cmpb $0x40, %ah -+ je 14f // jump if |x| == 1 -+ -+ shlb $1, %ah -+ xorb %ah, %dl -+ andl $2, %edx -+#ifdef PIC -+ lea inf_zero(%rip),%rcx -+ fldl (%rcx, %rdx, 4) -+#else -+ fldl inf_zero(,%rdx, 4) -+#endif -+ ret -+ -+ .align ALIGNARG(4) -+14: fldl MO(one) -+ ret -+ -+ .align ALIGNARG(4) -+13: fldt 8(%rsp) // load x == NaN -+ ret -+ -+ .align ALIGNARG(4) -+ // x is ±inf -+15: fstp %st(0) // y -+ testb $2, %dh -+ jz 16f // jump if x == +inf -+ -+ // We must find out whether y is an odd integer. -+ fld %st // y : y -+ fistpll -8(%rsp) // y -+ fildll -8(%rsp) // int(y) : y -+ fucomip %st(1),%st -+ ffreep %st // -+ jne 17f -+ -+ // OK, the value is an integer, but is it odd? -+ mov -8(%rsp), %eax -+ mov -4(%rsp), %edx -+ andb $1, %al -+ jz 18f // jump if not odd -+ // It's an odd integer. -+ shrl $31, %edx -+#ifdef PIC -+ lea minf_mzero(%rip),%rcx -+ fldl (%rcx, %rdx, 8) -+#else -+ fldl minf_mzero(,%rdx, 8) -+#endif -+ ret -+ -+ .align ALIGNARG(4) -+16: fcompl MO(zero) -+ fnstsw -+ shrl $5, %eax -+ andl $8, %eax -+#ifdef PIC -+ lea inf_zero(%rip),%rcx -+ fldl (%rcx, %rax, 1) -+#else -+ fldl inf_zero(,%rax, 1) -+#endif -+ ret -+ -+ .align ALIGNARG(4) -+17: shll $30, %edx // sign bit for y in right position -+18: shrl $31, %edx -+#ifdef PIC -+ lea inf_zero(%rip),%rcx -+ fldl (%rcx, %rdx, 8) -+#else -+ fldl inf_zero(,%rdx, 8) -+#endif -+ ret -+ -+ .align ALIGNARG(4) -+ // x is ±0 -+20: fstp %st(0) // y -+ testb $2, %dl -+ jz 21f // y > 0 -+ -+ // x is ±0 and y is < 0. We must find out whether y is an odd integer. -+ testb $2, %dh -+ jz 25f -+ -+ fld %st // y : y -+ fistpll -8(%rsp) // y -+ fildll -8(%rsp) // int(y) : y -+ fucomip %st(1),%st -+ ffreep %st // -+ jne 26f -+ -+ // OK, the value is an integer, but is it odd? -+ mov -8(%rsp),%eax -+ mov -4(%rsp),%edx -+ andb $1, %al -+ jz 27f // jump if not odd -+ // It's an odd integer. -+ // Raise divide-by-zero exception and get minus infinity value. -+ fldl MO(one) -+ fdivl MO(zero) -+ fchs -+ ret -+ -+25: fstp %st(0) -+26: -+27: // Raise divide-by-zero exception and get infinity value. -+ fldl MO(one) -+ fdivl MO(zero) -+ ret -+ -+ .align ALIGNARG(4) -+ // x is ±0 and y is > 0. We must find out whether y is an odd integer. -+21: testb $2, %dh -+ jz 22f -+ -+ fld %st // y : y -+ fistpll -8(%rsp) // y -+ fildll -8(%rsp) // int(y) : y -+ fucomip %st(1),%st -+ ffreep %st // -+ jne 23f -+ -+ // OK, the value is an integer, but is it odd? -+ mov -8(%rsp),%eax -+ mov -4(%rsp),%edx -+ andb $1, %al -+ jz 24f // jump if not odd -+ // It's an odd integer. -+ fldl MO(mzero) -+ ret -+ -+22: fstp %st(0) -+23: -+24: fldl MO(zero) -+ ret -+ -+END(__ieee754_powl) -+ -+weak_alias(__ieee754_powl,powl) -diff -Nru qemu-0.7.0/bsd.orig/amd64/e_remainderl.S qemu-0.7.0/bsd/amd64/e_remainderl.S ---- qemu-0.7.0/bsd.orig/amd64/e_remainderl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/e_remainderl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,23 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ * Adapted for x86-64 by Andreas Jaeger . -+ */ -+ -+#include -+#include -+ -+ENTRY(__ieee754_remainderl) -+ fldt 24(%rsp) -+ fldt 8(%rsp) -+1: fprem1 -+ fstsw %ax -+ testl $0x400,%eax -+ jnz 1b -+ fstp %st(1) -+ ret -+END (__ieee754_remainderl) -+ -+weak_alias(__ieee754_remainderl,remainderl) -diff -Nru qemu-0.7.0/bsd.orig/amd64/e_sqrtl.c qemu-0.7.0/bsd/amd64/e_sqrtl.c ---- qemu-0.7.0/bsd.orig/amd64/e_sqrtl.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/e_sqrtl.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,20 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+ -+long double -+__ieee754_sqrtl (long double x) -+{ -+ long double res; -+ -+ asm ("fsqrt" : "=t" (res) : "0" (x)); -+ -+ return res; -+} -+ -+weak_alias(__ieee754_sqrtl,sqrtl) -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_ceill.S qemu-0.7.0/bsd/amd64/s_ceill.S ---- qemu-0.7.0/bsd.orig/amd64/s_ceill.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_ceill.S Fri Apr 29 02:22:18 2005 -@@ -0,0 +1,246 @@ -+/* -+ * ==================================================== -+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. -+ * -+ * Developed at SunPro, a Sun Microsystems, Inc. business. -+ * Permission to use, copy, modify, and distribute this -+ * software is freely granted, provided that this notice -+ * is preserved. -+ * ==================================================== -+ * -+ * From: @(#)s_ceil.c 5.1 93/09/24 -+ */ -+/* XXX: generated from src/lib/msun/src/s_ceill.c */ -+ -+#include -+ -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+ .file "s_ceill.c" -+ .section .rodata.cst8,"aM",@progbits,8 -+ .p2align 3 -+.LC0: -+ .long 2281731484 -+ .long 2117592124 -+ .text -+ .p2align 4,,15 -+.globl ceill -+ .type ceill, @function -+ceill: -+.LFB17: -+ pushq %rbp -+.LCFI0: -+ pushq %rbx -+.LCFI1: -+ fldt 24(%rsp) -+ movq $0, -16(%rsp) -+ fld %st(0) -+ fstpt -40(%rsp) -+ movl -32(%rsp), %edi -+ movq -40(%rsp), %rsi -+ movl %edi, -16(%rsp) -+ movl -16(%rsp), %r11d -+ movq %rsi, -24(%rsp) -+ movl %r11d, %r10d -+ andl $32767, %r10d -+ leal -16383(%r10), %r8d -+ cmpl $30, %r8d -+ jg .L2 -+ testl %r8d, %r8d -+ js .L38 -+ movl -20(%rsp), %r9d -+ leal 1(%r8), %ecx -+ mov -24(%rsp), %eax -+ movl $4294967295, %ebp -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ shrq %cl, %rbp -+ mov %r9d, %ebx -+ movq %rbx, %rdx -+ andq %rbp, %rdx -+ orq %rax, %rdx -+ fldt -40(%rsp) -+ je .L42 -+ ffreep %st(0) -+ testb $-128, -15(%rsp) -+ jne .L12 -+ movl $31, %ecx -+ movl $1, %eax -+ subl %r8d, %ecx -+ salq %cl, %rax -+ addl %eax, %r9d -+ mov %r9d, %eax -+ cmpq %rbx, %rax -+ jae .L32 -+ leal 1(%r10), %edx -+ movl %r11d, %eax -+ orl $-2147483648, %r9d -+ andw $-32768, %ax -+ andw $32767, %dx -+ orl %edx, %eax -+ movw %ax, -16(%rsp) -+.L32: -+ movl %r9d, -20(%rsp) -+.L12: -+ faddl .LC0(%rip) -+ fldz -+ fxch %st(1) -+ fucomip %st(1), %st -+ fstp %st(0) -+ jbe .L31 -+ movl %ebp, %eax -+ movl $0, -24(%rsp) -+ notl %eax -+ andl %eax, %r9d -+ movl %r9d, -20(%rsp) -+ .p2align 4,,7 -+.L31: -+ movq -24(%rsp), %rsi -+ movl -16(%rsp), %edi -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ fldt -40(%rsp) -+ popq %rbx -+ popq %rbp -+ ret -+ .p2align 4,,7 -+.L2: -+ cmpl $62, %r8d -+ jle .L45 -+.L44: -+ ffreep %st(0) -+.L17: -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ fldt -40(%rsp) -+ popq %rbx -+ popq %rbp -+ ret -+ .p2align 4,,7 -+.L45: -+ movl -24(%rsp), %edx -+ leal 1(%r8), %ecx -+ movq $-1, %rbx -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ shrq %cl, %rbx -+ mov %edx, %r9d -+ testq %rbx, %r9 -+ fldt -40(%rsp) -+ je .L42 -+ ffreep %st(0) -+ testb $-128, -15(%rsp) -+ jne .L20 -+ cmpl $31, %r8d -+ je .L36 -+ movl $63, %ecx -+ movl $1, %eax -+ subl %r8d, %ecx -+ salq %cl, %rax -+ leal (%rdx,%rax), %eax -+ movl %eax, -24(%rsp) -+ mov %eax, %eax -+ cmpq %r9, %rax -+ jae .L20 -+.L36: -+ movl -20(%rsp), %eax -+ leal 1(%rax), %ecx -+ cmpl %eax, %ecx -+ jae .L34 -+ leal 1(%r10), %edx -+ movl %r11d, %eax -+ orl $-2147483648, %ecx -+ andw $-32768, %ax -+ andw $32767, %dx -+ orl %edx, %eax -+ movw %ax, -16(%rsp) -+.L34: -+ movl %ecx, -20(%rsp) -+ .p2align 4,,7 -+.L20: -+ faddl .LC0(%rip) -+ fldz -+ fxch %st(1) -+ fucomip %st(1), %st -+ fstp %st(0) -+ jbe .L31 -+ movl %ebx, %eax -+ notl %eax -+ andl %eax, -24(%rsp) -+ jmp .L31 -+ .p2align 4,,7 -+.L42: -+ fstp %st(1) -+ popq %rbx -+ popq %rbp -+ ret -+ .p2align 4,,7 -+.L38: -+ fldl .LC0(%rip) -+ faddp %st, %st(1) -+ fldz -+ fxch %st(1) -+ fucomip %st(1), %st -+ jbe .L44 -+ testl %r10d, %r10d -+ jle .L39 -+.L7: -+ movabsq $-9223372036854775808, %rsi -+ movl $16383, %edi -+ testb $-128, -15(%rsp) -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ fldt -40(%rsp) -+ fcmovne %st(1), %st -+ fstp %st(1) -+ fstpt -40(%rsp) -+ movq -40(%rsp), %rsi -+ movl -32(%rsp), %edi -+ movq %rsi, -24(%rsp) -+ movl %edi, -16(%rsp) -+ jmp .L17 -+.L39: -+ movl -24(%rsp), %eax -+ orl -20(%rsp), %eax -+ je .L44 -+ jmp .L7 -+.LFE17: -+ .size ceill, .-ceill -+ .section .eh_frame,"a",@progbits -+.Lframe1: -+ .long .LECIE1-.LSCIE1 -+.LSCIE1: -+ .long 0x0 -+ .byte 0x1 -+ .string "" -+ .uleb128 0x1 -+ .sleb128 -8 -+ .byte 0x10 -+ .byte 0xc -+ .uleb128 0x7 -+ .uleb128 0x8 -+ .byte 0x90 -+ .uleb128 0x1 -+ .p2align 3 -+.LECIE1: -+.LSFDE1: -+ .long .LEFDE1-.LASFDE1 -+.LASFDE1: -+ .long .LASFDE1-.Lframe1 -+ .quad .LFB17 -+ .quad .LFE17-.LFB17 -+ .byte 0x4 -+ .long .LCFI0-.LFB17 -+ .byte 0xe -+ .uleb128 0x10 -+ .byte 0x4 -+ .long .LCFI1-.LCFI0 -+ .byte 0xe -+ .uleb128 0x18 -+ .byte 0x83 -+ .uleb128 0x3 -+ .byte 0x86 -+ .uleb128 0x2 -+ .p2align 3 -+.LEFDE1: -+ .ident "GCC: (GNU) 3.4.4 [FreeBSD] 20050421" -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_cosl.S qemu-0.7.0/bsd/amd64/s_cosl.S ---- qemu-0.7.0/bsd.orig/amd64/s_cosl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_cosl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,33 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ * Adapted for x86-64 by Andreas Jaeger . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ENTRY(__cosl) -+ fldt 8(%rsp) -+ fcos -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 1f -+ ret -+ .align ALIGNARG(4) -+1: fldpi -+ fadd %st(0) -+ fxch %st(1) -+2: fprem1 -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 2b -+ fstp %st(1) -+ fcos -+ ret -+END (__cosl) -+weak_alias (__cosl, cosl) -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_floorl.S qemu-0.7.0/bsd/amd64/s_floorl.S ---- qemu-0.7.0/bsd.orig/amd64/s_floorl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_floorl.S Fri Apr 29 02:24:32 2005 -@@ -0,0 +1,247 @@ -+/* -+ * ==================================================== -+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. -+ * -+ * Developed at SunPro, a Sun Microsystems, Inc. business. -+ * Permission to use, copy, modify, and distribute this -+ * software is freely granted, provided that this notice -+ * is preserved. -+ * ==================================================== -+ * -+ * From: @(#)s_floor.c 5.1 93/09/24 -+ */ -+/* XXX: generated from src/lib/msun/src/s_floorl.c */ -+ -+#include -+ -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+ .file "s_floorl.c" -+ .section .rodata.cst8,"aM",@progbits,8 -+ .p2align 3 -+.LC0: -+ .long 2281731484 -+ .long 2117592124 -+ .section .rodata.cst4,"aM",@progbits,4 -+ .p2align 2 -+.LC2: -+ .long 3212836864 -+ .text -+ .p2align 4,,15 -+.globl floorl -+ .type floorl, @function -+floorl: -+.LFB17: -+ pushq %rbp -+.LCFI0: -+ pushq %rbx -+.LCFI1: -+ fldt 24(%rsp) -+ movq $0, -16(%rsp) -+ fld %st(0) -+ fstpt -40(%rsp) -+ movl -32(%rsp), %edi -+ movq -40(%rsp), %rsi -+ movl %edi, -16(%rsp) -+ movl -16(%rsp), %r11d -+ movq %rsi, -24(%rsp) -+ movl %r11d, %r10d -+ andl $32767, %r10d -+ leal -16383(%r10), %r8d -+ cmpl $30, %r8d -+ jg .L2 -+ testl %r8d, %r8d -+ js .L38 -+ movl -20(%rsp), %r9d -+ leal 1(%r8), %ecx -+ mov -24(%rsp), %eax -+ movl $4294967295, %ebp -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ shrq %cl, %rbp -+ mov %r9d, %ebx -+ movq %rbx, %rdx -+ andq %rbp, %rdx -+ orq %rax, %rdx -+ fldt -40(%rsp) -+ je .L42 -+ ffreep %st(0) -+ testb $-128, -15(%rsp) -+ je .L12 -+ movl $31, %ecx -+ movl $1, %eax -+ subl %r8d, %ecx -+ salq %cl, %rax -+ addl %eax, %r9d -+ mov %r9d, %eax -+ cmpq %rbx, %rax -+ jae .L32 -+ leal 1(%r10), %edx -+ movl %r11d, %eax -+ orl $-2147483648, %r9d -+ andw $-32768, %ax -+ andw $32767, %dx -+ orl %edx, %eax -+ movw %ax, -16(%rsp) -+.L32: -+ movl %r9d, -20(%rsp) -+.L12: -+ faddl .LC0(%rip) -+ fldz -+ fxch %st(1) -+ fucomip %st(1), %st -+ fstp %st(0) -+ jbe .L31 -+ movl %ebp, %eax -+ movl $0, -24(%rsp) -+ notl %eax -+ andl %eax, %r9d -+ movl %r9d, -20(%rsp) -+ .p2align 4,,7 -+.L31: -+ movq -24(%rsp), %rsi -+ movl -16(%rsp), %edi -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ fldt -40(%rsp) -+ popq %rbx -+ popq %rbp -+ ret -+ .p2align 4,,7 -+.L2: -+ cmpl $62, %r8d -+ jle .L45 -+.L44: -+ ffreep %st(0) -+.L17: -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ fldt -40(%rsp) -+ popq %rbx -+ popq %rbp -+ ret -+ .p2align 4,,7 -+.L45: -+ movl -24(%rsp), %edx -+ leal 1(%r8), %ecx -+ movq $-1, %rbx -+ movq %rsi, -40(%rsp) -+ movl %edi, -32(%rsp) -+ shrq %cl, %rbx -+ mov %edx, %r9d -+ testq %rbx, %r9 -+ fldt -40(%rsp) -+ je .L42 -+ ffreep %st(0) -+ testb $-128, -15(%rsp) -+ je .L20 -+ cmpl $31, %r8d -+ je .L36 -+ movl $63, %ecx -+ movl $1, %eax -+ subl %r8d, %ecx -+ salq %cl, %rax -+ leal (%rdx,%rax), %eax -+ movl %eax, -24(%rsp) -+ mov %eax, %eax -+ cmpq %r9, %rax -+ jae .L20 -+.L36: -+ movl -20(%rsp), %eax -+ leal 1(%rax), %ecx -+ cmpl %eax, %ecx -+ jae .L34 -+ leal 1(%r10), %edx -+ movl %r11d, %eax -+ orl $-2147483648, %ecx -+ andw $-32768, %ax -+ andw $32767, %dx -+ orl %edx, %eax -+ movw %ax, -16(%rsp) -+.L34: -+ movl %ecx, -20(%rsp) -+ .p2align 4,,7 -+.L20: -+ faddl .LC0(%rip) -+ fldz -+ fxch %st(1) -+ fucomip %st(1), %st -+ fstp %st(0) -+ jbe .L31 -+ movl %ebx, %eax -+ notl %eax -+ andl %eax, -24(%rsp) -+ jmp .L31 -+ .p2align 4,,7 -+.L42: -+ fstp %st(1) -+ popq %rbx -+ popq %rbp -+ ret -+ .p2align 4,,7 -+.L38: -+ fldl .LC0(%rip) -+ faddp %st, %st(1) -+ fldz -+ fxch %st(1) -+ fucomip %st(1), %st -+ jbe .L44 -+ testl %r10d, %r10d -+ jle .L39 -+.L7: -+ testb $-128, -15(%rsp) -+ je .L9 -+ ffreep %st(0) -+ flds .LC2(%rip) -+.L9: -+ fstpt -40(%rsp) -+ movq -40(%rsp), %rsi -+ movl -32(%rsp), %edi -+ movq %rsi, -24(%rsp) -+ movl %edi, -16(%rsp) -+ jmp .L17 -+.L39: -+ movl -24(%rsp), %eax -+ orl -20(%rsp), %eax -+ je .L44 -+ jmp .L7 -+.LFE17: -+ .size floorl, .-floorl -+ .section .eh_frame,"a",@progbits -+.Lframe1: -+ .long .LECIE1-.LSCIE1 -+.LSCIE1: -+ .long 0x0 -+ .byte 0x1 -+ .string "" -+ .uleb128 0x1 -+ .sleb128 -8 -+ .byte 0x10 -+ .byte 0xc -+ .uleb128 0x7 -+ .uleb128 0x8 -+ .byte 0x90 -+ .uleb128 0x1 -+ .p2align 3 -+.LECIE1: -+.LSFDE1: -+ .long .LEFDE1-.LASFDE1 -+.LASFDE1: -+ .long .LASFDE1-.Lframe1 -+ .quad .LFB17 -+ .quad .LFE17-.LFB17 -+ .byte 0x4 -+ .long .LCFI0-.LFB17 -+ .byte 0xe -+ .uleb128 0x10 -+ .byte 0x4 -+ .long .LCFI1-.LCFI0 -+ .byte 0xe -+ .uleb128 0x18 -+ .byte 0x83 -+ .uleb128 0x3 -+ .byte 0x86 -+ .uleb128 0x2 -+ .p2align 3 -+.LEFDE1: -+ .ident "GCC: (GNU) 3.4.4 [FreeBSD] 20050421" -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_isnormal.c qemu-0.7.0/bsd/amd64/s_isnormal.c ---- qemu-0.7.0/bsd.orig/amd64/s_isnormal.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_isnormal.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,85 @@ -+/*- -+ * Copyright (c) 2003 Mike Barcroft -+ * Copyright (c) 2002-2004 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * $FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $ -+ */ -+ -+union IEEEf2bits { -+ float f; -+ struct { -+ unsigned int man :23; -+ unsigned int exp :8; -+ unsigned int sign :1; -+ } bits; -+}; -+ -+union IEEEd2bits { -+ double d; -+ struct { -+ unsigned int manl :32; -+ unsigned int manh :20; -+ unsigned int exp :11; -+ unsigned int sign :1; -+ } bits; -+}; -+ -+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; -+}; -+ -+int -+__isnormal(double d) -+{ -+ union IEEEd2bits u; -+ -+ u.d = d; -+ return (u.bits.exp != 0 && u.bits.exp != 2047); -+} -+ -+int -+__isnormalf(float f) -+{ -+ union IEEEf2bits u; -+ -+ u.f = f; -+ return (u.bits.exp != 0 && u.bits.exp != 255); -+} -+ -+int -+__isnormall(long double e) -+{ -+ union IEEEl2bits u; -+ -+ u.e = e; -+ return (u.bits.exp != 0 && u.bits.exp != 32767); -+} -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_llrint.S qemu-0.7.0/bsd/amd64/s_llrint.S ---- qemu-0.7.0/bsd.orig/amd64/s_llrint.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_llrint.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,6 @@ -+#include -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+/* sizeof(long) == sizeof(long long) */ -+#define fn llrint -+#include "s_lrint.S" -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_llrintf.S qemu-0.7.0/bsd/amd64/s_llrintf.S ---- qemu-0.7.0/bsd.orig/amd64/s_llrintf.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_llrintf.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,6 @@ -+#include -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+/* sizeof(long) == sizeof(long long) */ -+#define fn llrintf -+#include "s_lrintf.S" -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_llrintl.S qemu-0.7.0/bsd/amd64/s_llrintl.S ---- qemu-0.7.0/bsd.orig/amd64/s_llrintl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_llrintl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,35 @@ -+/* Round argument to nearest integral value according to current rounding -+ direction. -+ Copyright (C) 1997, 2002 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__llrintl) -+ fldt 8(%rsp) -+ fistpll -8(%rsp) -+ fwait -+ movq -8(%rsp),%rax -+ ret -+END(__llrintl) -+weak_alias (__llrintl, llrintl) -+strong_alias (__llrintl, __lrintl) -+weak_alias (__llrintl, lrintl) -+ -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_lrint.S qemu-0.7.0/bsd/amd64/s_lrint.S ---- qemu-0.7.0/bsd.orig/amd64/s_lrint.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_lrint.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,36 @@ -+/*- -+ * Copyright (c) 2005 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include -+ -+#ifndef fn -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+#define fn lrint -+#endif -+ -+ENTRY(fn) -+ cvtsd2si %xmm0, %rax -+ ret -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_lrintf.S qemu-0.7.0/bsd/amd64/s_lrintf.S ---- qemu-0.7.0/bsd.orig/amd64/s_lrintf.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_lrintf.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,36 @@ -+/*- -+ * Copyright (c) 2005 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include -+ -+#ifndef fn -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+#define fn lrintf -+#endif -+ -+ENTRY(fn) -+ cvtss2si %xmm0, %rax -+ ret -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_lrintl.S qemu-0.7.0/bsd/amd64/s_lrintl.S ---- qemu-0.7.0/bsd.orig/amd64/s_lrintl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_lrintl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1 @@ -+/* Not needed, see s_llrintl.S. */ -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_rintl.c qemu-0.7.0/bsd/amd64/s_rintl.c ---- qemu-0.7.0/bsd.orig/amd64/s_rintl.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_rintl.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,18 @@ -+/* -+ * Written by J.T. Conklin . -+ * Changes for long double by Ulrich Drepper -+ * Public domain. -+ */ -+ -+#include -+ -+long double -+__rintl (long double x) -+{ -+ long double res; -+ -+ asm ("frndint" : "=t" (res) : "0" (x)); -+ return res; -+} -+ -+weak_alias (__rintl, rintl) -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_round.c qemu-0.7.0/bsd/amd64/s_round.c ---- qemu-0.7.0/bsd.orig/amd64/s_round.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_round.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,51 @@ -+/*- -+ * Copyright (c) 2003, Steven G. Kargl -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice unmodified, this list of conditions, and the following -+ * disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#include -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $"); -+ -+#include -+ -+double -+round(double x) -+{ -+ double t; -+ -+ if (!isfinite(x)) -+ return (x); -+ -+ if (x >= 0.0) { -+ t = floor(x); -+ if (t - x <= -0.5) -+ t += 1.0; -+ return (t); -+ } else { -+ t = floor(-x); -+ if (t + x <= -0.5) -+ t += 1.0; -+ return (-t); -+ } -+} -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_sinl.S qemu-0.7.0/bsd/amd64/s_sinl.S ---- qemu-0.7.0/bsd.orig/amd64/s_sinl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_sinl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,31 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ * Adapted for x86-64 by Andreas Jaeger . -+ */ -+ -+#include -+#include -+ -+ENTRY(__sinl) -+ fldt 8(%rsp) -+ fsin -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 1f -+ ret -+ .align ALIGNARG(4) -+1: fldpi -+ fadd %st(0) -+ fxch %st(1) -+2: fprem1 -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 2b -+ fstp %st(1) -+ fsin -+ ret -+END (__sinl) -+weak_alias (__sinl, sinl) -diff -Nru qemu-0.7.0/bsd.orig/amd64/s_tanl.S qemu-0.7.0/bsd/amd64/s_tanl.S ---- qemu-0.7.0/bsd.orig/amd64/s_tanl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/amd64/s_tanl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,34 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ * Adapted for x86-64 by Andreas Jaeger . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ENTRY(__tanl) -+ fldt 8(%rsp) -+ fptan -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 1f -+ fstp %st(0) -+ ret -+1: fldpi -+ fadd %st(0) -+ fxch %st(1) -+2: fprem1 -+ fstsw %ax -+ testl $0x400,%eax -+ jnz 2b -+ fstp %st(1) -+ fptan -+ fstp %st(0) -+ ret -+END (__tanl) -+weak_alias (__tanl, tanl) -diff -Nru qemu-0.7.0/bsd.orig/i386/e_atan2l.c qemu-0.7.0/bsd/i386/e_atan2l.c ---- qemu-0.7.0/bsd.orig/i386/e_atan2l.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/e_atan2l.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,20 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+ -+long double -+__ieee754_atan2l (long double y, long double x) -+{ -+ long double res; -+ -+ asm ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)"); -+ -+ return res; -+} -+ -+weak_alias(__ieee754_atan2l, atan2l) -diff -Nru qemu-0.7.0/bsd.orig/i386/e_logl.S qemu-0.7.0/bsd/i386/e_logl.S ---- qemu-0.7.0/bsd.orig/i386/e_logl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/e_logl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,63 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ -+#ifdef __ELF__ -+ .section .rodata -+#else -+ .text -+#endif -+ .align ALIGNARG(4) -+ ASM_TYPE_DIRECTIVE(one,@object) -+one: .double 1.0 -+ ASM_SIZE_DIRECTIVE(one) -+ /* It is not important that this constant is precise. It is only -+ a value which is known to be on the safe side for using the -+ fyl2xp1 instruction. */ -+ ASM_TYPE_DIRECTIVE(limit,@object) -+limit: .double 0.29 -+ ASM_SIZE_DIRECTIVE(limit) -+ -+ -+#ifdef PIC -+#define MO(op) op##@GOTOFF(%edx) -+#else -+#define MO(op) op -+#endif -+ -+ .text -+ENTRY(__ieee754_logl) -+ fldln2 // log(2) -+ fldt 4(%esp) // x : log(2) -+#ifdef PIC -+ call 1f -+1: popl %edx -+ addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx -+#endif -+ fld %st // x : x : log(2) -+ fsubl MO(one) // x-1 : x : log(2) -+ fld %st // x-1 : x-1 : x : log(2) -+ fabs // |x-1| : x-1 : x : log(2) -+ fcompl MO(limit) // x-1 : x : log(2) -+ fnstsw // x-1 : x : log(2) -+ andb $0x45, %ah -+ jz 2f -+ fstp %st(1) // x-1 : log(2) -+ fyl2xp1 // log(x) -+ ret -+ -+2: fstp %st(0) // x : log(2) -+ fyl2x // log(x) -+ ret -+END (__ieee754_logl) -+ -+weak_alias(__ieee754_logl,logl) -diff -Nru qemu-0.7.0/bsd.orig/i386/e_powl.S qemu-0.7.0/bsd/i386/e_powl.S ---- qemu-0.7.0/bsd.orig/i386/e_powl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/e_powl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,341 @@ -+/* ix87 specific implementation of pow function. -+ Copyright (C) 1996, 1997, 1998, 1999, 2001, 2004 -+ Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper , 1996. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#ifdef __ELF__ -+ .section .rodata -+#else -+ .text -+#endif -+ -+ .align ALIGNARG(4) -+ ASM_TYPE_DIRECTIVE(infinity,@object) -+inf_zero: -+infinity: -+ .byte 0, 0, 0, 0, 0, 0, 0xf0, 0x7f -+ ASM_SIZE_DIRECTIVE(infinity) -+ ASM_TYPE_DIRECTIVE(zero,@object) -+zero: .double 0.0 -+ ASM_SIZE_DIRECTIVE(zero) -+ ASM_TYPE_DIRECTIVE(minf_mzero,@object) -+minf_mzero: -+minfinity: -+ .byte 0, 0, 0, 0, 0, 0, 0xf0, 0xff -+mzero: -+ .byte 0, 0, 0, 0, 0, 0, 0, 0x80 -+ ASM_SIZE_DIRECTIVE(minf_mzero) -+ ASM_TYPE_DIRECTIVE(one,@object) -+one: .double 1.0 -+ ASM_SIZE_DIRECTIVE(one) -+ ASM_TYPE_DIRECTIVE(limit,@object) -+limit: .double 0.29 -+ ASM_SIZE_DIRECTIVE(limit) -+ ASM_TYPE_DIRECTIVE(p63,@object) -+p63: .byte 0, 0, 0, 0, 0, 0, 0xe0, 0x43 -+ ASM_SIZE_DIRECTIVE(p63) -+ -+#ifdef PIC -+#define MO(op) op##@GOTOFF(%ecx) -+#define MOX(op,x,f) op##@GOTOFF(%ecx,x,f) -+#else -+#define MO(op) op -+#define MOX(op,x,f) op(,x,f) -+#endif -+ -+ .text -+ENTRY(__ieee754_powl) -+ fldt 16(%esp) // y -+ fxam -+ -+#ifdef PIC -+ call 1f -+1: popl %ecx -+ addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx -+#endif -+ -+ fnstsw -+ movb %ah, %dl -+ andb $0x45, %ah -+ cmpb $0x40, %ah // is y == 0 ? -+ je 11f -+ -+ cmpb $0x05, %ah // is y == ±inf ? -+ je 12f -+ -+ cmpb $0x01, %ah // is y == NaN ? -+ je 30f -+ -+ fldt 4(%esp) // x : y -+ -+ subl $8,%esp -+ -+ fxam -+ fnstsw -+ movb %ah, %dh -+ andb $0x45, %ah -+ cmpb $0x40, %ah -+ je 20f // x is ±0 -+ -+ cmpb $0x05, %ah -+ je 15f // x is ±inf -+ -+ fxch // y : x -+ -+ /* fistpll raises invalid exception for |y| >= 1L<<63. */ -+ fld %st // y : y : x -+ fabs // |y| : y : x -+ fcompl MO(p63) // y : x -+ fnstsw -+ sahf -+ jnc 2f -+ -+ /* First see whether `y' is a natural number. In this case we -+ can use a more precise algorithm. */ -+ fld %st // y : y : x -+ fistpll (%esp) // y : x -+ fildll (%esp) // int(y) : y : x -+ fucomp %st(1) // y : x -+ fnstsw -+ sahf -+ jne 2f -+ -+ /* OK, we have an integer value for y. */ -+ popl %eax -+ popl %edx -+ orl $0, %edx -+ fstp %st(0) // x -+ jns 4f // y >= 0, jump -+ fdivrl MO(one) // 1/x (now referred to as x) -+ negl %eax -+ adcl $0, %edx -+ negl %edx -+4: fldl MO(one) // 1 : x -+ fxch -+ -+6: shrdl $1, %edx, %eax -+ jnc 5f -+ fxch -+ fmul %st(1) // x : ST*x -+ fxch -+5: fmul %st(0), %st // x*x : ST*x -+ shrl $1, %edx -+ movl %eax, %ecx -+ orl %edx, %ecx -+ jnz 6b -+ fstp %st(0) // ST*x -+ ret -+ -+ /* y is ±NAN */ -+30: fldt 4(%esp) // x : y -+ fldl MO(one) // 1.0 : x : y -+ fucomp %st(1) // x : y -+ fnstsw -+ sahf -+ je 31f -+ fxch // y : x -+31: fstp %st(1) -+ ret -+ -+ .align ALIGNARG(4) -+2: /* y is a real number. */ -+ fxch // x : y -+ fldl MO(one) // 1.0 : x : y -+ fld %st(1) // x : 1.0 : x : y -+ fsub %st(1) // x-1 : 1.0 : x : y -+ fabs // |x-1| : 1.0 : x : y -+ fcompl MO(limit) // 1.0 : x : y -+ fnstsw -+ fxch // x : 1.0 : y -+ sahf -+ ja 7f -+ fsub %st(1) // x-1 : 1.0 : y -+ fyl2xp1 // log2(x) : y -+ jmp 8f -+ -+7: fyl2x // log2(x) : y -+8: fmul %st(1) // y*log2(x) : y -+ fxam -+ fnstsw -+ andb $0x45, %ah -+ cmpb $0x05, %ah // is y*log2(x) == ±inf ? -+ je 28f -+ fst %st(1) // y*log2(x) : y*log2(x) -+ frndint // int(y*log2(x)) : y*log2(x) -+ fsubr %st, %st(1) // int(y*log2(x)) : fract(y*log2(x)) -+ fxch // fract(y*log2(x)) : int(y*log2(x)) -+ f2xm1 // 2^fract(y*log2(x))-1 : int(y*log2(x)) -+ faddl MO(one) // 2^fract(y*log2(x)) : int(y*log2(x)) -+ fscale // 2^fract(y*log2(x))*2^int(y*log2(x)) : int(y*log2(x)) -+ addl $8, %esp -+ fstp %st(1) // 2^fract(y*log2(x))*2^int(y*log2(x)) -+ ret -+ -+28: fstp %st(1) // y*log2(x) -+ fldl MO(one) // 1 : y*log2(x) -+ fscale // 2^(y*log2(x)) : y*log2(x) -+ addl $8, %esp -+ fstp %st(1) // 2^(y*log2(x)) -+ ret -+ -+ // pow(x,±0) = 1 -+ .align ALIGNARG(4) -+11: fstp %st(0) // pop y -+ fldl MO(one) -+ ret -+ -+ // y == ±inf -+ .align ALIGNARG(4) -+12: fstp %st(0) // pop y -+ fldt 4(%esp) // x -+ fabs -+ fcompl MO(one) // < 1, == 1, or > 1 -+ fnstsw -+ andb $0x45, %ah -+ cmpb $0x45, %ah -+ je 13f // jump if x is NaN -+ -+ cmpb $0x40, %ah -+ je 14f // jump if |x| == 1 -+ -+ shlb $1, %ah -+ xorb %ah, %dl -+ andl $2, %edx -+ fldl MOX(inf_zero, %edx, 4) -+ ret -+ -+ .align ALIGNARG(4) -+14: fldl MO(one) -+ ret -+ -+ .align ALIGNARG(4) -+13: fldt 4(%esp) // load x == NaN -+ ret -+ -+ .align ALIGNARG(4) -+ // x is ±inf -+15: fstp %st(0) // y -+ testb $2, %dh -+ jz 16f // jump if x == +inf -+ -+ // We must find out whether y is an odd integer. -+ fld %st // y : y -+ fistpll (%esp) // y -+ fildll (%esp) // int(y) : y -+ fucompp // -+ fnstsw -+ sahf -+ jne 17f -+ -+ // OK, the value is an integer, but is it odd? -+ popl %eax -+ popl %edx -+ andb $1, %al -+ jz 18f // jump if not odd -+ // It's an odd integer. -+ shrl $31, %edx -+ fldl MOX(minf_mzero, %edx, 8) -+ ret -+ -+ .align ALIGNARG(4) -+16: fcompl MO(zero) -+ addl $8, %esp -+ fnstsw -+ shrl $5, %eax -+ andl $8, %eax -+ fldl MOX(inf_zero, %eax, 1) -+ ret -+ -+ .align ALIGNARG(4) -+17: shll $30, %edx // sign bit for y in right position -+ addl $8, %esp -+18: shrl $31, %edx -+ fldl MOX(inf_zero, %edx, 8) -+ ret -+ -+ .align ALIGNARG(4) -+ // x is ±0 -+20: fstp %st(0) // y -+ testb $2, %dl -+ jz 21f // y > 0 -+ -+ // x is ±0 and y is < 0. We must find out whether y is an odd integer. -+ testb $2, %dh -+ jz 25f -+ -+ fld %st // y : y -+ fistpll (%esp) // y -+ fildll (%esp) // int(y) : y -+ fucompp // -+ fnstsw -+ sahf -+ jne 26f -+ -+ // OK, the value is an integer, but is it odd? -+ popl %eax -+ popl %edx -+ andb $1, %al -+ jz 27f // jump if not odd -+ // It's an odd integer. -+ // Raise divide-by-zero exception and get minus infinity value. -+ fldl MO(one) -+ fdivl MO(zero) -+ fchs -+ ret -+ -+25: fstp %st(0) -+26: addl $8, %esp -+27: // Raise divide-by-zero exception and get infinity value. -+ fldl MO(one) -+ fdivl MO(zero) -+ ret -+ -+ .align ALIGNARG(4) -+ // x is ±0 and y is > 0. We must find out whether y is an odd integer. -+21: testb $2, %dh -+ jz 22f -+ -+ fld %st // y : y -+ fistpll (%esp) // y -+ fildll (%esp) // int(y) : y -+ fucompp // -+ fnstsw -+ sahf -+ jne 23f -+ -+ // OK, the value is an integer, but is it odd? -+ popl %eax -+ popl %edx -+ andb $1, %al -+ jz 24f // jump if not odd -+ // It's an odd integer. -+ fldl MO(mzero) -+ ret -+ -+22: fstp %st(0) -+23: addl $8, %esp // Don't use 2 x pop -+24: fldl MO(zero) -+ ret -+ -+END(__ieee754_powl) -+ -+weak_alias(__ieee754_powl,powl) -diff -Nru qemu-0.7.0/bsd.orig/i386/e_remainderl.S qemu-0.7.0/bsd/i386/e_remainderl.S ---- qemu-0.7.0/bsd.orig/i386/e_remainderl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/e_remainderl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,24 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ENTRY(__ieee754_remainderl) -+ fldt 16(%esp) -+ fldt 4(%esp) -+1: fprem1 -+ fstsw %ax -+ sahf -+ jp 1b -+ fstp %st(1) -+ ret -+END (__ieee754_remainderl) -+ -+weak_alias(__ieee754_remainderl,remainderl) -diff -Nru qemu-0.7.0/bsd.orig/i386/e_sqrtl.c qemu-0.7.0/bsd/i386/e_sqrtl.c ---- qemu-0.7.0/bsd.orig/i386/e_sqrtl.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/e_sqrtl.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,20 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+ -+long double -+__ieee754_sqrtl (long double x) -+{ -+ long double res; -+ -+ asm ("fsqrt" : "=t" (res) : "0" (x)); -+ -+ return res; -+} -+ -+weak_alias(__ieee754_sqrtl,sqrtl) -diff -Nru qemu-0.7.0/bsd.orig/i386/s_ceill.S qemu-0.7.0/bsd/i386/s_ceill.S ---- qemu-0.7.0/bsd.orig/i386/s_ceill.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_ceill.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,27 @@ -+/* -+ * Based on code written by J.T. Conklin . -+ * Public domain. -+ */ -+ -+#include -+RCSID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+ENTRY(ceill) -+ pushl %ebp -+ movl %esp,%ebp -+ subl $8,%esp -+ -+ fstcw -4(%ebp) /* store fpu control word */ -+ movw -4(%ebp),%dx -+ orw $0x0800,%dx /* round towards +oo */ -+ andw $0xfbff,%dx -+ movw %dx,-8(%ebp) -+ fldcw -8(%ebp) /* load modfied control word */ -+ -+ fldt 8(%ebp) /* round */ -+ frndint -+ -+ fldcw -4(%ebp) /* restore original control word */ -+ -+ leave -+ ret -diff -Nru qemu-0.7.0/bsd.orig/i386/s_cosl.S qemu-0.7.0/bsd/i386/s_cosl.S ---- qemu-0.7.0/bsd.orig/i386/s_cosl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_cosl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,32 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ENTRY(__cosl) -+ fldt 4(%esp) -+ fcos -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 1f -+ ret -+ .align ALIGNARG(4) -+1: fldpi -+ fadd %st(0) -+ fxch %st(1) -+2: fprem1 -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 2b -+ fstp %st(1) -+ fcos -+ ret -+END (__cosl) -+weak_alias (__cosl, cosl) -diff -Nru qemu-0.7.0/bsd.orig/i386/s_floorl.S qemu-0.7.0/bsd/i386/s_floorl.S ---- qemu-0.7.0/bsd.orig/i386/s_floorl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_floorl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,27 @@ -+/* -+ * Based on code written by J.T. Conklin . -+ * Public domain. -+ */ -+ -+#include -+RCSID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+ENTRY(floorl) -+ pushl %ebp -+ movl %esp,%ebp -+ subl $8,%esp -+ -+ fstcw -4(%ebp) /* store fpu control word */ -+ movw -4(%ebp),%dx -+ orw $0x0400,%dx /* round towards -oo */ -+ andw $0xf7ff,%dx -+ movw %dx,-8(%ebp) -+ fldcw -8(%ebp) /* load modfied control word */ -+ -+ fldt 8(%ebp) /* round */ -+ frndint -+ -+ fldcw -4(%ebp) /* restore original control word */ -+ -+ leave -+ ret -diff -Nru qemu-0.7.0/bsd.orig/i386/s_isnormal.c qemu-0.7.0/bsd/i386/s_isnormal.c ---- qemu-0.7.0/bsd.orig/i386/s_isnormal.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_isnormal.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,85 @@ -+/*- -+ * Copyright (c) 2003 Mike Barcroft -+ * Copyright (c) 2002-2004 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * $FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $ -+ */ -+ -+union IEEEf2bits { -+ float f; -+ struct { -+ unsigned int man :23; -+ unsigned int exp :8; -+ unsigned int sign :1; -+ } bits; -+}; -+ -+union IEEEd2bits { -+ double d; -+ struct { -+ unsigned int manl :32; -+ unsigned int manh :20; -+ unsigned int exp :11; -+ unsigned int sign :1; -+ } bits; -+}; -+ -+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; -+}; -+ -+int -+__isnormal(double d) -+{ -+ union IEEEd2bits u; -+ -+ u.d = d; -+ return (u.bits.exp != 0 && u.bits.exp != 2047); -+} -+ -+int -+__isnormalf(float f) -+{ -+ union IEEEf2bits u; -+ -+ u.f = f; -+ return (u.bits.exp != 0 && u.bits.exp != 255); -+} -+ -+int -+__isnormall(long double e) -+{ -+ union IEEEl2bits u; -+ -+ u.e = e; -+ return (u.bits.exp != 0 && u.bits.exp != 32767); -+} -diff -Nru qemu-0.7.0/bsd.orig/i386/s_llrint.S qemu-0.7.0/bsd/i386/s_llrint.S ---- qemu-0.7.0/bsd.orig/i386/s_llrint.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_llrint.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,36 @@ -+/*- -+ * Copyright (c) 2005 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include -+RCSID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $"); -+ -+ENTRY(llrint) -+ fldl 4(%esp) -+ subl $8,%esp -+ fistpll (%esp) -+ popl %eax -+ popl %edx -+ ret -diff -Nru qemu-0.7.0/bsd.orig/i386/s_llrintf.S qemu-0.7.0/bsd/i386/s_llrintf.S ---- qemu-0.7.0/bsd.orig/i386/s_llrintf.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_llrintf.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,36 @@ -+/*- -+ * Copyright (c) 2005 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include -+RCSID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+ENTRY(llrintf) -+ flds 4(%esp) -+ subl $8,%esp -+ fistpll (%esp) -+ popl %eax -+ popl %edx -+ ret -diff -Nru qemu-0.7.0/bsd.orig/i386/s_llrintl.S qemu-0.7.0/bsd/i386/s_llrintl.S ---- qemu-0.7.0/bsd.orig/i386/s_llrintl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_llrintl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,35 @@ -+/* Round argument to nearest integral value according to current rounding -+ direction. -+ Copyright (C) 1997 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper , 1997. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__llrintl) -+ fldt 4(%esp) -+ subl $8, %esp -+ fistpll (%esp) -+ fwait -+ popl %eax -+ popl %edx -+ ret -+END(__llrintl) -+weak_alias (__llrintl, llrintl) -diff -Nru qemu-0.7.0/bsd.orig/i386/s_lrint.S qemu-0.7.0/bsd/i386/s_lrint.S ---- qemu-0.7.0/bsd.orig/i386/s_lrint.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_lrint.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,35 @@ -+/*- -+ * Copyright (c) 2005 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include -+RCSID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $"); -+ -+ENTRY(lrint) -+ fldl 4(%esp) -+ subl $4,%esp -+ fistpl (%esp) -+ popl %eax -+ ret -diff -Nru qemu-0.7.0/bsd.orig/i386/s_lrintf.S qemu-0.7.0/bsd/i386/s_lrintf.S ---- qemu-0.7.0/bsd.orig/i386/s_lrintf.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_lrintf.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,35 @@ -+/*- -+ * Copyright (c) 2005 David Schultz -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include -+RCSID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $") -+ -+ENTRY(lrintf) -+ flds 4(%esp) -+ subl $4,%esp -+ fistpl (%esp) -+ popl %eax -+ ret -diff -Nru qemu-0.7.0/bsd.orig/i386/s_lrintl.S qemu-0.7.0/bsd/i386/s_lrintl.S ---- qemu-0.7.0/bsd.orig/i386/s_lrintl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_lrintl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,34 @@ -+/* Round argument to nearest integral value according to current rounding -+ direction. -+ Copyright (C) 1997 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper , 1997. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__lrintl) -+ fldt 4(%esp) -+ subl $4, %esp -+ fistpl (%esp) -+ fwait -+ popl %eax -+ ret -+END(__lrintl) -+weak_alias (__lrintl, lrintl) -diff -Nru qemu-0.7.0/bsd.orig/i386/s_rintl.c qemu-0.7.0/bsd/i386/s_rintl.c ---- qemu-0.7.0/bsd.orig/i386/s_rintl.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_rintl.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,18 @@ -+/* -+ * Written by J.T. Conklin . -+ * Changes for long double by Ulrich Drepper -+ * Public domain. -+ */ -+ -+#include -+ -+long double -+__rintl (long double x) -+{ -+ long double res; -+ -+ asm ("frndint" : "=t" (res) : "0" (x)); -+ return res; -+} -+ -+weak_alias (__rintl, rintl) -diff -Nru qemu-0.7.0/bsd.orig/i386/s_round.c qemu-0.7.0/bsd/i386/s_round.c ---- qemu-0.7.0/bsd.orig/i386/s_round.c Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_round.c Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,51 @@ -+/*- -+ * Copyright (c) 2003, Steven G. Kargl -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice unmodified, this list of conditions, and the following -+ * disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#include -+__FBSDID("$FreeBSD: /tmp/pcvs/ports/emulators/qemu/files/patch-libmath,v 1.3 2006-08-21 23:02:01 shaun Exp $"); -+ -+#include -+ -+double -+round(double x) -+{ -+ double t; -+ -+ if (!isfinite(x)) -+ return (x); -+ -+ if (x >= 0.0) { -+ t = floor(x); -+ if (t - x <= -0.5) -+ t += 1.0; -+ return (t); -+ } else { -+ t = floor(-x); -+ if (t + x <= -0.5) -+ t += 1.0; -+ return (-t); -+ } -+} -diff -Nru qemu-0.7.0/bsd.orig/i386/s_sinl.S qemu-0.7.0/bsd/i386/s_sinl.S ---- qemu-0.7.0/bsd.orig/i386/s_sinl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_sinl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,32 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ENTRY(__sinl) -+ fldt 4(%esp) -+ fsin -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 1f -+ ret -+ .align ALIGNARG(4) -+1: fldpi -+ fadd %st(0) -+ fxch %st(1) -+2: fprem1 -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 2b -+ fstp %st(1) -+ fsin -+ ret -+END (__sinl) -+weak_alias (__sinl, sinl) -diff -Nru qemu-0.7.0/bsd.orig/i386/s_tanl.S qemu-0.7.0/bsd/i386/s_tanl.S ---- qemu-0.7.0/bsd.orig/i386/s_tanl.S Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/i386/s_tanl.S Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,33 @@ -+/* -+ * Written by J.T. Conklin . -+ * Public domain. -+ * -+ * Adapted for `long double' by Ulrich Drepper . -+ */ -+ -+#include -+#include -+ -+RCSID("$NetBSD: $") -+ -+ENTRY(__tanl) -+ fldt 4(%esp) -+ fptan -+ fnstsw %ax -+ testl $0x400,%eax -+ jnz 1f -+ fstp %st(0) -+ ret -+1: fldpi -+ fadd %st(0) -+ fxch %st(1) -+2: fprem1 -+ fstsw %ax -+ testl $0x400,%eax -+ jnz 2b -+ fstp %st(1) -+ fptan -+ fstp %st(0) -+ ret -+END (__tanl) -+weak_alias (__tanl, tanl) -diff -Nru qemu-0.7.0/bsd.orig/sysdep.h qemu-0.7.0/bsd/sysdep.h ---- qemu-0.7.0/bsd.orig/sysdep.h Wed Dec 31 19:00:00 1969 -+++ qemu-0.7.0/bsd/sysdep.h Fri Apr 29 02:11:27 2005 -@@ -0,0 +1,20 @@ -+#ifndef _QEMU_BSD_SYSDEP_H_ -+#define _QEMU_BSD_SYSDEP_H_ -+ -+#include -+ -+#define HAVE_ELF -+ -+#ifdef __ASSEMBLER__ -+#define ALIGNARG(log2) 1<