From owner-freebsd-emulation@FreeBSD.ORG Fri Apr 15 19:55:57 2005 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8DF6616A4CE; Fri, 15 Apr 2005 19:55:57 +0000 (GMT) Received: from gwyn.kn-bremen.de (gwyn.kn-bremen.de [212.63.36.242]) by mx1.FreeBSD.org (Postfix) with ESMTP id 847F343D2F; Fri, 15 Apr 2005 19:55:55 +0000 (GMT) (envelope-from nox@saturn.kn-bremen.de) Received: from gwyn.kn-bremen.de (gwyn [127.0.0.1])j3FJtrnj032508; Fri, 15 Apr 2005 21:55:53 +0200 Received: from saturn.kn-bremen.de (uucp@localhost)j3FJtr5N032506; Fri, 15 Apr 2005 21:55:53 +0200 Received: (from nox@localhost) by saturn.kn-bremen.de (8.11.4/8.8.5) id j3FJpl470224; Fri, 15 Apr 2005 21:51:47 +0200 (CEST) From: Juergen Lock Date: Fri, 15 Apr 2005 21:51:43 +0200 To: Jung-uk Kim Message-ID: <20050415215142.A68957@saturn.kn-bremen.de> Mail-Followup-To: Jung-uk Kim , freebsd-amd64@freebsd.org, freebsd-emulation@freebsd.org References: <200504131635.26063.jkim@niksun.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre3i In-Reply-To: <200504131635.26063.jkim@niksun.com> cc: freebsd-emulation@freebsd.org cc: freebsd-amd64@freebsd.org Subject: Re: QEMU on FreeBSD/amd64 (patches) X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 19:55:57 -0000 On Wed, Apr 13, 2005 at 04:35:26PM -0400, Jung-uk Kim wrote: > I finally manage to build QEMU snapshot on FreeBSD/amd64 6-CURRENT. Nice! > There's ports/emulators/qemu but it doesn't build on AMD64 for > several reasons, i. e., QEMU and FreeBSD are both fast moving targets > (esp. src/lib/msun), some long double math functions don't exist on > FreeBSD, So the replacements in files/patch-aa in the port didnt work for amd64? (the ones #if defined(_BSD) && defined(USE_X86LDOUBLE)) > GCC in base system doesn't build QEMU because of several > optimization bugs specific to AMD64, etc. > > 1. Install GCC 3.4 from ports. > > Anything newer than 20050316 should work. (Theoretically you can use > gcc40 newer than 20041127 but not verified. Actually I am using > patched version of src/contrib/gcc. ;-) > > 2. Install following dependencies from ports: > > devel/gmake (of course) > net/samba > devel/sdl12 > > I believe samba is optional but sdl12 is not. It doesn't work without > SDL because `-nographic' option is broken. I believe it is an > upstream bug (related to FreeBSD's pty or termios, i. e., fail to get > correct term size and segfault) but I couldn't pin-point the culprit > yet. In fact, I didn't bother too much because SDL worked just > fine. ;-) Samba is needed for the -smb option (export a local dir to guest), if you don't use that you can omit samba thats true. >[...] > Note 2: qemu-libmath-amd64.diff contains C99 long double math > functions taken from glibc-2.3.5 and modified for FreeBSD/amd64: > > http://ftp.gnu.org/gnu/glibc/ > http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/?cvsroot=glibc > > rintl() sysdeps/i386/fpu/s_rintl.c > atan2l() sysdeps/i386/fpu/e_atan2l.c > sqrtl() sysdeps/i386/fpu/e_sqrtl.c > llrintl() sysdeps/x86_64/fpu/s_llrintl.S > lrintl() sysdeps/x86_64/fpu/s_llrintl.S > sinl() sysdeps/x86_64/fpu/s_sinl.S > cosl() sysdeps/x86_64/fpu/s_cosl.S > tanl() sysdeps/x86_64/fpu/s_tanl.S > logl() sysdeps/x86_64/fpu/e_logl.S > powl() sysdeps/x86_64/fpu/e_powl.S > remainderl() sysdeps/x86_64/fpu/e_remainderl.S > > Just enough to compile QEMU snapshot until we complete C99 > project. ;-) Similarly you can add other architectures under > bsd/${MACHINE_ARCH}. So we need different versions of these for i386 hosts? And how about 4.x i386 hosts? Obviously the port should still run on those too. Juergen