Date: Fri, 15 Apr 2005 21:51:43 +0200 From: Juergen Lock <nox@jelal.kn-bremen.de> To: Jung-uk Kim <jkim@niksun.com> Cc: freebsd-amd64@freebsd.org Subject: Re: QEMU on FreeBSD/amd64 (patches) Message-ID: <20050415215142.A68957@saturn.kn-bremen.de> In-Reply-To: <200504131635.26063.jkim@niksun.com>
index | next in thread | previous in thread | raw e-mail
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 <dir> 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. Juergenhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050415215142.A68957>
