Patchwork Qemu on FreeBSD sparc64 unresponsive.

login
register
mail settings
Submitter Super Bisquit
Date April 25, 2011, 11:28 p.m.
Message ID <BANLkTimfY2u62O=Pt6dGyRoe+hTXVVE1LA@mail.gmail.com>
Download mbox | patch
Permalink /patch/92826/
State New
Headers show

Comments

Super Bisquit - April 25, 2011, 11:28 p.m.
I'm copying the entire conversation here and adding the files.

Qemu: why is it i386, amd64, powerpc only in ports?
   Inbox
Add star
Super Bisquit
<superbisquit@gmail.com> 	Thu, Apr 21, 2011 at 7:57 PM
To: nox@freebsd.org
Reply | Reply to all | Forward | Print | Delete | Show original
There is --disable-kvm, --disable-xen, --disable-linux-aio,
--disable-linux-user, --disable-darwin-user, and --sparc_cpu=$VERSION.



Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Fri, Apr 22, 2011 at 4:41 AM
To: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
On Thu, Apr 21, 2011 at 07:57:20PM -0400, Super Bisquit wrote:
> There is --disable-kvm, --disable-xen, --disable-linux-aio,
> --disable-linux-user, --disable-darwin-user, and --sparc_cpu=$VERSION.

The simple answer is there just was no sparc64 user yet that submitted
patches to the port...  (Does that mean those configure options you
quoted are now all that's needed on sparc?  And if you excuse the
sparc noob, what should VERSION be for the port?)

 Thanx, :)
       Juergen

Add star
Super Bisquit
<superbisquit@gmail.com> 	Fri, Apr 22, 2011 at 8:28 AM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
qemu-timer.g:90:52 __FreeBSD_version is not defined

>=50000 I tried changing it to 90000 but it did nothing.
Also added --disable-bsd-usr, --disable-sdl --kerneldir=/boot/kernel .
It builds vmware parts. Disabling option is ?
os-posix.c:113 has
CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME undeclared.
os-posix.o has errors.

Wondering if this can be affected by madvise and posix_madvise from configure.

Doesn't seem like editing configure helps much.
- Show quoted text -

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Fri, Apr 22, 2011 at 9:02 AM
To: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
On Fri, Apr 22, 2011 at 08:28:40AM -0400, Super Bisquit wrote:
> qemu-timer.g:90:52 __FreeBSD_version is not defined
>
Looks like you need this patch there:

       /usr/ports/emulators/qemu-devel/files/patch-qemu-timer.h

> >=50000 I tried changing it to 90000 but it did nothing.
> Also added --disable-bsd-usr, --disable-sdl --kerneldir=/boot/kernel .
> It builds vmware parts. Disabling option is ?
> os-posix.c:113 has
> CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME undeclared.
> os-posix.o has errors.
>
 And that looks like this patch:

       /usr/ports/emulators/qemu-devel/files/patch-os-posix.c

> Wondering if this can be affected by madvise and posix_madvise from
> configure.
>
> Doesn't seem like editing configure helps much.

 Good luck! :)
       Juergen
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Super Bisquit
<superbisquit@gmail.com> 	Fri, Apr 22, 2011 at 9:43 AM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original

I did the building from a qemu src and not ports.

I'll need to remove the for $ARCH only and then build with patches
applied to configure and files before running make?
- Show quoted text -

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Fri, Apr 22, 2011 at 10:32 AM
To: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
On Fri, Apr 22, 2011 at 09:43:09AM -0400, Super Bisquit wrote:
> I did the building from a qemu src and not ports.
>
Yeah ok, that's why you'd need to manually apply at least those
two patches.

> I'll need to remove the for $ARCH only and then build with patches applied
> to configure and files before running make?

 You can try that too (`make patch' will extract the distfile and
apply the port patches), tho I guess you'd at least need to add
sparc64 to the .if ${ARCH} in the post-patch target so that the
libmath stuff is skipped.

 Good luck! :)
       Juergen
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Super Bisquit
<superbisquit@gmail.com> 	Sat, Apr 23, 2011 at 2:13 AM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
I changed the powerpc to sparc64 in the math x86 patch section  and
added sparc 64 to the .if blah blah arch .endif section
- Show quoted text -

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Sat, Apr 23, 2011 at 10:39 AM
To: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
On Sat, Apr 23, 2011 at 02:13:51AM -0400, Super Bisquit wrote:
> I changed the powerpc to sparc64 in the math x86 patch section  and added
> sparc 64 to the .if blah blah arch .endif section

 ..and that was enough to get it all working?  (Just making sure... :)

 To confirm, you did this?


 Thanx!
       Juergen
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Super Bisquit
<superbisquit@gmail.com> 	Sat, Apr 23, 2011 at 3:13 PM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
- Show quoted text -
No, not that detailed.

Just tried the sparc emulator and it hangs.

Let me redo the port with the section you gave me.

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Sat, Apr 23, 2011 at 7:12 PM
To: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
- Show quoted text -
Try the x86 ones first (qemu, qemu_system_x86_64), im not sure
how well qemu-system-sparc64 works yet, maybe only for linux guests...
(And the bsd-user ones like qemu-sparc64 only work for extremly
simple programs at all.)

> Let me redo the port with the section you gave me.

 Good luck once more, :)
       Juergen

Add star
Super Bisquit
<superbisquit@gmail.com> 	Sat, Apr 23, 2011 at 8:41 PM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
# New ports collection makefile for:    qemu
# Date created:                 2004/05/31
# Whom:                         Juergen Lock <nox@jelal.kn-bremen.de>
#
# $FreeBSD: ports/emulators/qemu-devel/Makefile,v 1.119 2011/04/01
19:30:20 nox Exp $
#

PORTNAME=       qemu
PORTVERSION=    0.14.0
CATEGORIES=     emulators
MASTER_SITES=   SAVANNAH:release \
               LOCAL:snapshot
MASTER_SITE_SUBDIR=     qemu/:release nox/:snapshot
PKGNAMESUFFIX=  -devel
DISTFILES=      ${DISTNAME}${EXTRACT_SUFX}:release
DIST_SUBDIR=    qemu

MAINTAINER=     nox@FreeBSD.org
COMMENT=        QEMU CPU Emulator - development version

HAS_CONFIGURE=  yes
USE_GMAKE=      yes
USE_PERL5_BUILD=        yes
PATCH_STRIP=    -p1
 MAKE_ENV+=     BSD_MAKE="${MAKE}" LDFLAGS="${LDFLAGS}"
 MAN1=          qemu.1 qemu-img.1
 MAN8=          qemu-nbd.8
-ONLY_FOR_ARCHS=        amd64 i386 powerpc
+ONLY_FOR_ARCHS=        amd64 i386 powerpc sparc64
 CONFLICTS=     qemu-[0-9]*
 MAKE_JOBS_SAFE=        yes
OPTIONS=        SAMBA "samba dependency (for -smb)" Off \
               SDL "SDL/X dependency (graphical output)" On \
               GNUTLS "gnutls dependency (vnc encryption)" On \
               CURL "libcurl dependency (remote images)" On \
               PCAP "pcap dependency (networking with bpf)" On \
               CDROM_DMA "IDE CDROM DMA" On \
               ADD_AUDIO "Emulate more audio hardware (experimental!)" Off \
               ALL_TARGETS "Also build non-x86 and user targets" On

.include <bsd.port.pre.mk>

.if defined(WITHOUT_ALL_TARGETS)
CONFIGURE_ARGS+=
--target-list=i386-softmmu,x86_64-softmmu,arm-softmmu,cris-softmmu,m68k-softmmu,mips-softmmu,mipsel-softmmu,mips64-softmmu,mips64el-softmmu,ppc-softmmu,ppcemb-softmmu,ppc64-softmmu,sh4-softmmu,sh4eb-softmmu,sparc-softmmu,sparc64-softmmu
PLIST_SUB+=     ALLTARGETS="@comment "
.else
PLIST_SUB+=     ALLTARGETS=""
.endif

WITHOUT_CPU_CFLAGS=yes  #to avoid problems with register allocation
CFLAGS:=        ${CFLAGS:C/-fno-tree-vrp//}
CONFIGURE_ARGS+=        --prefix=${PREFIX} --cc=${CC} --enable-docs
--disable-linux-user --disable-bsd-user --disable-linux-aio
--disable-darwin-user --disable-kvm --disable-xen --sparc_cpu=v9 \
       --extra-cflags=-DSMBD_COMMAND=\\\"${LOCALBASE}/sbin/smbd\\\"\
-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"${PREFIX}\\\"

.if defined(WITHOUT_SDL)
CONFIGURE_ARGS+=        --disable-sdl
.else
USE_SDL=        sdl
.endif

.if defined(WITHOUT_GNUTLS)
CONFIGURE_ARGS+=        --disable-vnc-tls
.else
LIB_DEPENDS+=   gnutls:${PORTSDIR}/security/gnutls
.endif

.if defined(WITHOUT_CURL)
CONFIGURE_ARGS+=        --disable-curl
.else
LIB_DEPENDS+=   curl:${PORTSDIR}/ftp/curl
.endif

.if defined(WITH_PCAP)
CONFIGURE_ARGS+=        --enable-pcap
.endif

.if defined(WITH_ADD_AUDIO)
CONFIGURE_ARGS+=        --audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus
.endif

.if defined(WITH_SAMBA)
RUN_DEPENDS+=   ${LOCALBASE}/sbin/smbd:${PORTSDIR}/net/samba34
.endif

.if defined(NOPORTDOCS)
MAKE_ARGS+=     NOPORTDOCS=${NOPORTDOCS}
.else
BUILD_DEPENDS+= texi2html:${PORTSDIR}/textproc/texi2html
.endif

.if ${ARCH} == "amd64"
MAKE_ARGS+=     ARCH=x86_64
.endif

.if ${ARCH} == "powerpc"
MAKE_ARGS+=     ARCH=ppc
.endif

.if ${ARCH} == "sparc64"
MAKE_ARGS+=     ARCH=sparc64
.endif


-.if ${OSVERSION} < 900033 && ${ARCH} == "amd64"
+.if ${OSVERSION} < 900033 && (${ARCH} == "amd64" || ${ARCH} == "sparc64")
 BUILD_DEPENDS+=        ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
 CONFIGURE_ENV+=        COMPILER_PATH=${LOCALBASE}/bin
 MAKE_ENV+=     COMPILER_PATH=${LOCALBASE}/bin
.endif

pre-patch:
       @for A in ${ONLY_FOR_ARCHS}; do \
               ${MKDIR} ${WRKSRC}/bsd/$$A; \
       done

post-patch:
-.if ${ARCH} == "powerpc"
+.if (${ARCH} == "powerpc" || ${ARCH} == "sparc64")
 .if ${OSVERSION} < 800030
       @cd ${WRKSRC} && ${PATCH} --quiet -R ${PATCH_STRIP} <
${FILESDIR}/patch-libmath_FreeBSD-version
       @cd ${WRKSRC} && ${PATCH} --quiet -R ${PATCH_STRIP} <
${FILESDIR}/patch-fbsd
.else
# ...else we only need to disable the libmath build. (since its
# x86-specific.)
       @cd ${WRKSRC} && ${PATCH} --quiet < ${FILESDIR}/revert-fbsd-libmath-patch
.endif
.endif
.endif

.if defined(WITH_PCAP)
       @cd ${WRKSRC} && ${PATCH} --quiet < ${FILESDIR}/pcap-patch
.endif
.if defined(WITHOUT_CDROM_DMA)
       @cd ${WRKSRC} && ${PATCH} --quiet < ${FILESDIR}/cdrom-dma-patch
.endif
       @${REINPLACE_CMD} -E \
               -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing|" \
               -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \
               ${WRKSRC}/Makefile.target
       @${REINPLACE_CMD} -E \
               -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing -I.|" \
               -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \
               ${WRKSRC}/Makefile
       @${REINPLACE_CMD} -E \
               -e "1s|^(#! )/usr/bin/perl|\1${PERL}|" \
               ${WRKSRC}/scripts/texi2pod.pl

.if ${OSVERSION} >= 800091
# XXX need to disable usb host code on head while it's not ported to the
# new usb stack yet
post-configure:
       @${REINPLACE_CMD} -E \
               -e "s|^(HOST_USB=)bsd|\1stub|" \
               ${WRKSRC}/config-host.mak
.endif

post-install:
       @${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${PREFIX}/etc
       @${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${PREFIX}/etc
       @if [ ! -f ${PREFIX}/etc/qemu-ifup ]; then \
           ${CP} -p ${PREFIX}/etc/qemu-ifup.sample ${PREFIX}/etc/qemu-ifup ; \
       fi
       @if [ ! -f ${PREFIX}/etc/qemu-ifdown ]; then \
           ${CP} -p ${PREFIX}/etc/qemu-ifdown.sample
${PREFIX}/etc/qemu-ifdown ; \
       fi
       @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>



"Makefile", line 104: Need an operator
"Makefile", line 105: Missing dependency operator
"Makefile", line 109: if-less endif
"Makefile", line 117: Need an operator
"Makefile", line 118: Missing dependency operator
"Makefile", line 119: Need an operator
"Makefile", line 122: if-less else
"Makefile", line 126: if-less endif
"Makefile", line 127: if-less endif
"Makefile", line 128: if-less endif
make: fatal errors encountered -- cannot continue



I did something wrong here.
- Show quoted text -
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Attachment Sun, Apr 24, 2011 at 7:14 AM
To: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
- Show quoted text -
That does look a bit broken yeah... :)

 What I sent you was a diff which you'd apply using patch(1); I'll
attach a new diff and this time the patched files too for you to test.
- Show quoted text -

3 attachments — Scan and download all attachments
		sparc64.patch
4K Scan and download
		Makefile
5K View Scan and download
		pkg-plist
3K View Scan and download
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Super Bisquit
<superbisquit@gmail.com> 	Sun, Apr 24, 2011 at 6:04 PM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
The application wouldn't completely start. I disabled sdl in this
build. Installing gtk-vnc3. Already have x11vnc but, as usual, I'm
lost.

Let me do some searching for vnc connections and then tell you more.
- Show quoted text -

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Sun, Apr 24, 2011 at 6:54 PM
To: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
On Sun, Apr 24, 2011 at 06:04:10PM -0400, Super Bisquit wrote:
> The application wouldn't completely start. I disabled sdl in this
> build. Installing gtk-vnc3. Already have x11vnc but, as usual, I'm
> lost.

The simplest vnc setup would be passing -vnc :0 to qemu, that should
then listen on port 5900 and you should be able to connect a vncviewer
to display <host ip>:0 without password.  And if you just want to
confirm qemu is working at all you could also take an i386 freebsd
install iso (or one of the new -current bsdinstaller ones, also i386)
and run something like:

       qemu -hda bsdinstall-i386-20110411/memstick -m 512 -curses

That image can be found here:  (bunzip2 first)

       http://people.freebsd.org/~nwhitehorn/bsdinstall-i386-20110411/

 HTH,
       Juergen
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Super Bisquit
<superbisquit@gmail.com> 	Attachment Mon, Apr 25, 2011 at 3:32 AM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
ssvncviewer with raw local, no output.
Qemu -ncurses, unresponsive .

Okay the terminal changes to what is in the screenshot- vga blank.
I also tried :
qemu -hda memstick -hdb test.img -vnc :0 -vga cirrus -curses -m512 -boot c

and

ssvncviwer -scale 800x600.

It's working but unresponsive.
I'm going to do a debug.

Debug done did. File attached.

On 4/24/11, Juergen Lock <nox@jelal.kn-bremen.de> wrote:
- Show quoted text -

3 attachments — Scan and download all attachments View all images
		screenshot-2011.04.25-04.10.58.png
38K View Scan and download
		qemu-debug-crash.txt
10K View Scan and download
		qemu-shot-2
107K Scan and download
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Mon, Apr 25, 2011 at 4:11 PM
To: Super Bisquit <superbisquit@gmail.com>
Cc: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
On Mon, Apr 25, 2011 at 03:32:37AM -0400, Super Bisquit wrote:
> ssvncviewer with raw local, no output.
> Qemu -ncurses, unresponsive .
>
> Okay the terminal changes to what is in the screenshot- vga blank.
> I also tried :
> qemu -hda memstick -hdb test.img -vnc :0 -vga cirrus -curses -m512 -boot c
>
> and
>
> ssvncviwer -scale 800x600.
>
> It's working but unresponsive.
> I'm going to do a debug.
>
> Debug done did. File attached.

I think vga blank mode means the guest has switched to a graphics
mode, i.e. out of vga textmode which is the only thing -curses can
handle.  Was this directly at start or did you see the qemu bios
boot messages and only later saw the vga blank mode?  If you didn't
see the qemu bios messages at all then something else is wrong,
but if you used e.g. a debian iso instead of a freebsd one then
it was likely just the linux bootloader that switched to a vga
graphics mode which -curses cannot display.

 HTH,
       Juergen
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Juergen Lock
<nox@jelal.kn-bremen.de> 	Mon, Apr 25, 2011 at 5:52 PM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Cc: Super Bisquit <superbisquit@gmail.com>
Reply | Reply to all | Forward | Print | Delete | Show original
On Mon, Apr 25, 2011 at 10:11:54PM +0200, Juergen Lock wrote:
> On Mon, Apr 25, 2011 at 03:32:37AM -0400, Super Bisquit wrote:
> > ssvncviewer with raw local, no output.
> > Qemu -ncurses, unresponsive .
> >
> > Okay the terminal changes to what is in the screenshot- vga blank.
> > I also tried :
> > qemu -hda memstick -hdb test.img -vnc :0 -vga cirrus -curses -m512 -boot c
> >
> > and
> >
> > ssvncviwer -scale 800x600.
> >
> > It's working but unresponsive.
> > I'm going to do a debug.
> >
> > Debug done did. File attached.

Oh and I only now noticed you used there -vnc _and_ -curses, that
I guess won't really work.

 HTH,
       Juergen
Reply | Reply to all | Forward | Print | Delete | Show original

Add star
Super Bisquit
<superbisquit@gmail.com> 	Mon, Apr 25, 2011 at 7:14 PM
To: Juergen Lock <nox@jelal.kn-bremen.de>
Reply | Reply to all | Forward | Print | Delete | Show original
First reply: It happens also with the FreeBSD memstick image.

The terminal from which I issue the qemu -hda memstick -hdc test.img
-usbdevice tablet -m 512 -boot c does the vga blank mode.
The boot only cd does not work. Same thing.

Same occurance with NetBSD iso.
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc64-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `qemu'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libutil.so.9...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.9
Reading symbols from /usr/local/lib/libcurl.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libcurl.so.6
Reading symbols from /lib/libncurses.so.8...(no debugging symbols found)...done.
Loaded symbols for /lib/libncurses.so.8
Reading symbols from /usr/local/lib/libSDL-1.2.so.11...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libSDL-1.2.so.11
Reading symbols from /usr/local/lib/libX11.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libX11.so.6
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libz.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/lib/libssl.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libssl.so.6
Reading symbols from /lib/libcrypto.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypto.so.6
Reading symbols from /usr/local/lib/libiconv.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /usr/local/lib/libggi.so.2...done.
Loaded symbols for /usr/local/lib/libggi.so.2
Reading symbols from /usr/local/lib/libXxf86vm.so.1...done.
Loaded symbols for /usr/local/lib/libXxf86vm.so.1
Reading symbols from /usr/local/lib/libgii.so.1...done.
Loaded symbols for /usr/local/lib/libgii.so.1
Reading symbols from /usr/local/lib/libXxf86dga.so.1...done.
Loaded symbols for /usr/local/lib/libXxf86dga.so.1
Reading symbols from /usr/local/lib/libXext.so.6...done.
Loaded symbols for /usr/local/lib/libXext.so.6
Reading symbols from /usr/local/lib/libgg.so.1...done.
Loaded symbols for /usr/local/lib/libgg.so.1
Reading symbols from /usr/local/lib/libaa.so.1...done.
Loaded symbols for /usr/local/lib/libaa.so.1
Reading symbols from /usr/local/lib/libxcb.so.2...done.
Loaded symbols for /usr/local/lib/libxcb.so.2
Reading symbols from /usr/local/lib/libXau.so.6...done.
Loaded symbols for /usr/local/lib/libXau.so.6
Reading symbols from /usr/local/lib/libXdmcp.so.6...done.
Loaded symbols for /usr/local/lib/libXdmcp.so.6
Reading symbols from /usr/local/lib/libpthread-stubs.so.0...done.
Loaded symbols for /usr/local/lib/libpthread-stubs.so.0
Reading symbols from /usr/lib/librpcsvc.so.5...done.
Loaded symbols for /usr/lib/librpcsvc.so.5
Reading symbols from /usr/lib/libusbhid.so.4...done.
Loaded symbols for /usr/lib/libusbhid.so.4
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x000000000018fcac in AES_cbc_encrypt ()
(gdb) thread apply all bt full

Thread 1 (process 101110):
#0  0x000000000018fcac in AES_cbc_encrypt ()
No symbol table info available.
#1  0x0000000000191efc in AES_cbc_encrypt ()
No symbol table info available.
#2  0x000000000019229c in AES_cbc_encrypt ()
No symbol table info available.
#3  0x0000000000187698 in AES_cbc_encrypt ()
No symbol table info available.
#4  0x00000000001877a0 in AES_cbc_encrypt ()
No symbol table info available.
#5  0x0000000000193080 in AES_cbc_encrypt ()
No symbol table info available.
#6  0x00000000001930e8 in AES_cbc_encrypt ()
No symbol table info available.
#7  0x00000000002362c0 in AES_cbc_encrypt ()
No symbol table info available.
#8  0x0000000000236f1c in AES_cbc_encrypt ()
No symbol table info available.
#9  0x00000000001057d8 in ?? ()
No symbol table info available.
(gdb) 

Thread 1 (process 101110):
#0  0x000000000018fcac in AES_cbc_encrypt ()
No symbol table info available.
#1  0x0000000000191efc in AES_cbc_encrypt ()
No symbol table info available.
#2  0x000000000019229c in AES_cbc_encrypt ()
No symbol table info available.
#3  0x0000000000187698 in AES_cbc_encrypt ()
No symbol table info available.
#4  0x00000000001877a0 in AES_cbc_encrypt ()
No symbol table info available.
#5  0x0000000000193080 in AES_cbc_encrypt ()
No symbol table info available.
#6  0x00000000001930e8 in AES_cbc_encrypt ()
No symbol table info available.
#7  0x00000000002362c0 in AES_cbc_encrypt ()
No symbol table info available.
#8  0x0000000000236f1c in AES_cbc_encrypt ()
No symbol table info available.
#9  0x00000000001057d8 in ?? ()
No symbol table info available.
(gdb) 

Thread 1 (process 101110):
#0  0x000000000018fcac in AES_cbc_encrypt ()
No symbol table info available.
#1  0x0000000000191efc in AES_cbc_encrypt ()
No symbol table info available.
#2  0x000000000019229c in AES_cbc_encrypt ()
No symbol table info available.
#3  0x0000000000187698 in AES_cbc_encrypt ()
No symbol table info available.
#4  0x00000000001877a0 in AES_cbc_encrypt ()
No symbol table info available.
#5  0x0000000000193080 in AES_cbc_encrypt ()
No symbol table info available.
#6  0x00000000001930e8 in AES_cbc_encrypt ()
No symbol table info available.
#7  0x00000000002362c0 in AES_cbc_encrypt ()
No symbol table info available.
#8  0x0000000000236f1c in AES_cbc_encrypt ()
No symbol table info available.
#9  0x00000000001057d8 in ?? ()
No symbol table info available.
(gdb) bt
#0  0x000000000018fcac in AES_cbc_encrypt ()
#1  0x0000000000191efc in AES_cbc_encrypt ()
#2  0x000000000019229c in AES_cbc_encrypt ()
#3  0x0000000000187698 in AES_cbc_encrypt ()
#4  0x00000000001877a0 in AES_cbc_encrypt ()
#5  0x0000000000193080 in AES_cbc_encrypt ()
#6  0x00000000001930e8 in AES_cbc_encrypt ()
#7  0x00000000002362c0 in AES_cbc_encrypt ()
#8  0x0000000000236f1c in AES_cbc_encrypt ()
#9  0x00000000001057d8 in ?? ()
(gdb) 
#0  0x000000000018fcac in AES_cbc_encrypt ()
#1  0x0000000000191efc in AES_cbc_encrypt ()
#2  0x000000000019229c in AES_cbc_encrypt ()
#3  0x0000000000187698 in AES_cbc_encrypt ()
#4  0x00000000001877a0 in AES_cbc_encrypt ()
#5  0x0000000000193080 in AES_cbc_encrypt ()
#6  0x00000000001930e8 in AES_cbc_encrypt ()
#7  0x00000000002362c0 in AES_cbc_encrypt ()
#8  0x0000000000236f1c in AES_cbc_encrypt ()
#9  0x00000000001057d8 in ?? ()
(gdb) 
#0  0x000000000018fcac in AES_cbc_encrypt ()
#1  0x0000000000191efc in AES_cbc_encrypt ()
#2  0x000000000019229c in AES_cbc_encrypt ()
#3  0x0000000000187698 in AES_cbc_encrypt ()
#4  0x00000000001877a0 in AES_cbc_encrypt ()
#5  0x0000000000193080 in AES_cbc_encrypt ()
#6  0x00000000001930e8 in AES_cbc_encrypt ()
#7  0x00000000002362c0 in AES_cbc_encrypt ()
#8  0x0000000000236f1c in AES_cbc_encrypt ()
#9  0x00000000001057d8 in ?? ()
(gdb) bt full
#0  0x000000000018fcac in AES_cbc_encrypt ()
No symbol table info available.
#1  0x0000000000191efc in AES_cbc_encrypt ()
No symbol table info available.
#2  0x000000000019229c in AES_cbc_encrypt ()
No symbol table info available.
#3  0x0000000000187698 in AES_cbc_encrypt ()
No symbol table info available.
#4  0x00000000001877a0 in AES_cbc_encrypt ()
No symbol table info available.
#5  0x0000000000193080 in AES_cbc_encrypt ()
No symbol table info available.
#6  0x00000000001930e8 in AES_cbc_encrypt ()
No symbol table info available.
#7  0x00000000002362c0 in AES_cbc_encrypt ()
No symbol table info available.
#8  0x0000000000236f1c in AES_cbc_encrypt ()
No symbol table info available.
#9  0x00000000001057d8 in ?? ()
No symbol table info available.
(gdb) 
#0  0x000000000018fcac in AES_cbc_encrypt ()
No symbol table info available.
#1  0x0000000000191efc in AES_cbc_encrypt ()
No symbol table info available.
#2  0x000000000019229c in AES_cbc_encrypt ()
No symbol table info available.
#3  0x0000000000187698 in AES_cbc_encrypt ()
No symbol table info available.
#4  0x00000000001877a0 in AES_cbc_encrypt ()
No symbol table info available.
#5  0x0000000000193080 in AES_cbc_encrypt ()
No symbol table info available.
#6  0x00000000001930e8 in AES_cbc_encrypt ()
No symbol table info available.
#7  0x00000000002362c0 in AES_cbc_encrypt ()
No symbol table info available.
#8  0x0000000000236f1c in AES_cbc_encrypt ()
No symbol table info available.
#9  0x00000000001057d8 in ?? ()
No symbol table info available.
(gdb) 
#0  0x000000000018fcac in AES_cbc_encrypt ()
No symbol table info available.
#1  0x0000000000191efc in AES_cbc_encrypt ()
No symbol table info available.
#2  0x000000000019229c in AES_cbc_encrypt ()
No symbol table info available.
#3  0x0000000000187698 in AES_cbc_encrypt ()
No symbol table info available.
#4  0x00000000001877a0 in AES_cbc_encrypt ()
No symbol table info available.
#5  0x0000000000193080 in AES_cbc_encrypt ()
No symbol table info available.
#6  0x00000000001930e8 in AES_cbc_encrypt ()
No symbol table info available.
#7  0x00000000002362c0 in AES_cbc_encrypt ()
No symbol table info available.
#8  0x0000000000236f1c in AES_cbc_encrypt ()
No symbol table info available.
#9  0x00000000001057d8 in ?? ()
No symbol table info available.
(gdb) l
	in cleanup.c
(gdb) quit

Patch

Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/emulators/qemu-devel/Makefile,v
retrieving revision 1.119
diff -u -p -r1.119 Makefile
--- Makefile	1 Apr 2011 19:30:20 -0000	1.119
+++ Makefile	24 Apr 2011 10:44:13 -0000
@@ -25,8 +25,8 @@  PATCH_STRIP=	-p1
 MAKE_ENV+=	BSD_MAKE="${MAKE}" LDFLAGS="${LDFLAGS}"
 MAN1=		qemu.1 qemu-img.1
 MAN8=		qemu-nbd.8
-ONLY_FOR_ARCHS=	amd64 i386 powerpc
-CONFLICTS=	qemu-[0-9]*
+ONLY_FOR_ARCHS=	amd64 i386 powerpc sparc64
+CONFLICTS_INSTALL=	qemu-[0-9]*
 MAKE_JOBS_SAFE=	yes
 
 OPTIONS=	SAMBA "samba dependency (for -smb)" Off \
@@ -36,20 +36,25 @@  OPTIONS=	SAMBA "samba dependency (for -s
 		PCAP "pcap dependency (networking with bpf)" On \
 		CDROM_DMA "IDE CDROM DMA" On \
 		ADD_AUDIO "Emulate more audio hardware (experimental!)" Off \
-		ALL_TARGETS "Also build non-x86 and user targets" On
+		ALL_TARGETS "Also build bsd-user targets (for testing)" Off
 
 .include <bsd.port.pre.mk>
 
 .if defined(WITHOUT_ALL_TARGETS)
-CONFIGURE_ARGS+=	--target-list=i386-softmmu,x86_64-softmmu
+CONFIGURE_ARGS+=	--disable-bsd-user
 PLIST_SUB+=	ALLTARGETS="@comment "
 .else
 PLIST_SUB+=	ALLTARGETS=""
+.if ${ARCH} == "sparc64"
+IGNORE=		bsd-user targets not tested on sparc64
+.endif
 .endif
 
 WITHOUT_CPU_CFLAGS=yes	#to avoid problems with register allocation
 CFLAGS:=	${CFLAGS:C/-fno-tree-vrp//}
 CONFIGURE_ARGS+=	--prefix=${PREFIX} --cc=${CC} --enable-docs \
+	--disable-linux-user --disable-linux-aio \
+	--disable-darwin-user --disable-kvm --disable-xen \
 	--extra-cflags=-DSMBD_COMMAND=\\\"${LOCALBASE}/sbin/smbd\\\"\ -I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"${PREFIX}\\\"
 
 .if defined(WITHOUT_SDL)
@@ -75,7 +80,7 @@  CONFIGURE_ARGS+=	--enable-pcap
 .endif
 
 .if defined(WITH_ADD_AUDIO)
-CONFIGURE_ARGS+=	--audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus
+CONFIGURE_ARGS+=	--audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus,hda
 .endif
 
 .if defined(WITH_SAMBA)
@@ -96,6 +101,10 @@  MAKE_ARGS+=	ARCH=x86_64
 MAKE_ARGS+=	ARCH=ppc
 .endif
 
+.if ${ARCH} == "sparc64"
+CONFIGURE_ARGS+= --sparc_cpu=v9
+.endif
+
 .if ${OSVERSION} < 900033 && ${ARCH} == "amd64"
 BUILD_DEPENDS+=	${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
 CONFIGURE_ENV+=	COMPILER_PATH=${LOCALBASE}/bin
@@ -108,7 +117,7 @@  pre-patch:
 	done
 
 post-patch:
-.if ${ARCH} == "powerpc"
+.if (${ARCH} == "powerpc" || ${ARCH} == "sparc64")
 .if ${OSVERSION} < 800030
 # These OSVERSION don't have all the needed long double fns in their
 # libc so just disable 80 bit floats completely.
Index: pkg-plist
===================================================================
RCS file: /home/pcvs/ports/emulators/qemu-devel/pkg-plist,v
retrieving revision 1.28
diff -u -p -r1.28 pkg-plist
--- pkg-plist	1 Apr 2011 19:30:20 -0000	1.28
+++ pkg-plist	24 Apr 2011 10:34:07 -0000
@@ -2,21 +2,21 @@  bin/qemu
 bin/qemu-img
 bin/qemu-io
 bin/qemu-nbd
-%%ALLTARGETS%%bin/qemu-system-arm
-%%ALLTARGETS%%bin/qemu-system-cris
-%%ALLTARGETS%%bin/qemu-system-m68k
-%%ALLTARGETS%%bin/qemu-system-microblaze
-%%ALLTARGETS%%bin/qemu-system-mips
-%%ALLTARGETS%%bin/qemu-system-mips64
-%%ALLTARGETS%%bin/qemu-system-mips64el
-%%ALLTARGETS%%bin/qemu-system-mipsel
-%%ALLTARGETS%%bin/qemu-system-ppc
-%%ALLTARGETS%%bin/qemu-system-ppc64
-%%ALLTARGETS%%bin/qemu-system-ppcemb
-%%ALLTARGETS%%bin/qemu-system-sh4
-%%ALLTARGETS%%bin/qemu-system-sh4eb
-%%ALLTARGETS%%bin/qemu-system-sparc
-%%ALLTARGETS%%bin/qemu-system-sparc64
+bin/qemu-system-arm
+bin/qemu-system-cris
+bin/qemu-system-m68k
+bin/qemu-system-microblaze
+bin/qemu-system-mips
+bin/qemu-system-mips64
+bin/qemu-system-mips64el
+bin/qemu-system-mipsel
+bin/qemu-system-ppc
+bin/qemu-system-ppc64
+bin/qemu-system-ppcemb
+bin/qemu-system-sh4
+bin/qemu-system-sh4eb
+bin/qemu-system-sparc
+bin/qemu-system-sparc64
 %%ALLTARGETS%%bin/qemu-i386
 %%ALLTARGETS%%bin/qemu-sparc
 %%ALLTARGETS%%bin/qemu-sparc64