QEMU on FreeBSD/amd64 (patches)
nox at jelal.kn-bremen.de
Fri Apr 15 12:55:57 PDT 2005
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.
> 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
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)
> 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:
> 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
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.
More information about the freebsd-amd64