[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real)
From: |
Nardmann, Heiko |
Subject: |
Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real) |
Date: |
Tue, 3 May 2005 15:10:38 +0200 |
User-agent: |
KMail/1.7 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Okay, I now have applied all given patches to the source tree. But I still
have problems linking qemu. Here is the linker error message:
gcc -o qemu vl.o osdep.o block.o readline.o monitor.o pci.o console.o
block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o block-dmg.o
block-bochs.o block-vpc.o ide.o ne2000.o pckbd.o vga.o sb16.o dma.o audio.o
noaudio.o wavaudio.o sdlaudio.o fdc.o mc146818rtc.o serial.o i8259.o i8254.o
pc.o cirrus_vga.omixeng.o apic.o parallel.o gdbstub.o sdl.o slirp/cksum.o
slirp/if.o slirp/ip_icmp.o slirp/ip_input.o slirp/ip_output.o slirp/slirp.o
slirp/mbuf.o slirp/misc.o slirp/sbuf.o slirp/socket.o slirp/tcp_input.o
slirp/tcp_output.o slirp/tcp_subr.o slirp/tcp_timer.o slirp/udp.o
slirp/bootp.o slirp/debug.o slirp/tftp.olibqemu.a -lm -lz -lsocket -lnsl
- -lresolv -L/opt/sfw/lib -R/opt/sfw/lib -lSDL -lpthread -lposix4
Undefined first referenced
symbol in file
fesetround libqemu.a(softfloat-native.o)
lrintf libqemu.a(softfloat-native.o)
llrint libqemu.a(softfloat-native.o)
rintf libqemu.a(softfloat-native.o)
lrint libqemu.a(softfloat-native.o)
remainderf libqemu.a(softfloat-native.o)
sqrtf libqemu.a(softfloat-native.o)
llrintf libqemu.a(softfloat-native.o)
ld: fatal: Symbol referencing errors. No output written to qemu
collect2: ld returned 1 exit status
gmake[1]: *** [qemu] Error 1
Okay, fesetround can be resolved by adding '-L/opt/SUNWspro/lib -lm9x' but
what about the other symbols?
Another thing:
during compilation I get a lot of warnings about fabs which is declared
inside /opt/SUNWspro/prod/cc/include/sunmath.h:
/home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:171: warning: implicit
declaration of function `fabsf'
BTW: yes, I am using Solaris 9.
On Montag 02 Mai 2005 20:35, Juergen Keil wrote:
> > gcc-3.4.2 -Wall -O2 -g -fno-strict-aliasing -m32 -ffixed-g1 -ffixed-g2
> > - -ffixed-g3 -ffixed-g6 -fno-delayed-branch -ffixed-i0
> > -fno-reorder-blocks - -fno-optimize-sibling-calls -I.
> > -I/home/nardmann/qemu-0.7.0/target-i386 - -I/home/nardmann/qemu-0.7.0
> > -I/opt/SUNWspro/prod/include/cc -D_GNU_SOURCE - -D_FILE_OFFSET_BITS=64
> > -D_LARGEFILE_SOURCE -I/home/nardmann/qemu-0.7.0/fpu -
> > -I/home/nardmann/qemu-0.7.0/slirp -c -o
> > op.o /home/nardmann/qemu-0.7.0/target-i386/op.c
> > In file included from /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:7,
> > from /home/nardmann/qemu-0.7.0/fpu/softfloat.h:394,
> > from /home/nardmann/qemu-0.7.0/target-i386/cpu.h:41,
> > from /home/nardmann/qemu-0.7.0/target-i386/exec.h:143,
> > from /home/nardmann/qemu-0.7.0/target-i386/op.c:22:
> > /opt/SUNWspro/prod/include/cc/fenv.h:8: warning: ignoring #pragma ident
> > In file included from /home/nardmann/qemu-0.7.0/fpu/softfloat.h:394,
> > from /home/nardmann/qemu-0.7.0/target-i386/cpu.h:41,
> > from /home/nardmann/qemu-0.7.0/target-i386/exec.h:143,
> > from /home/nardmann/qemu-0.7.0/target-i386/op.c:22:
> > /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h: In function
> > `float32_abs': /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:164:
> > warning: implicit declaration of function `fabsf'
> > In file included from /home/nardmann/qemu-0.7.0/target-i386/op.c:724:
> > /home/nardmann/qemu-0.7.0/target-i386/ops_template.h: In function
> > `op_jb_subb':
> > /home/nardmann/qemu-0.7.0/target-i386/ops_template.h:278: warning:
> > implicit declaration of function `GOTO_LABEL_PARAM'
> > ../dyngen -o op.h op.o
> > dyngen: Found bogus save at the start of op_pavgw_xmm
> >
> >
> >
> > I found that GOTO_LABEL_PARAM ist not defined for sparc in dyngen-exec.h;
> > any reason for this?
>
> I've fixed the 'bogus save' issue (and another sparc problem with
> incorrect C syntax generated by dyngen) with this patch:
>
> Index: dyngen.c
> ===================================================================
> RCS file: /cvsroot/qemu/qemu/dyngen.c,v
> retrieving revision 1.40
> diff -u -B -r1.40 dyngen.c
> --- dyngen.c 27 Apr 2005 19:55:58 -0000 1.40
> +++ dyngen.c 2 May 2005 18:29:08 -0000
> @@ -1196,7 +1196,7 @@
> } else {
> #ifdef HOST_SPARC
> if (sym_name[0] == '.')
> - snprintf(name, sizeof(name),
> + snprintf(name, name_size,
> "(long)(&__dot_%s)",
> sym_name + 1);
> else
> @@ -1451,7 +1451,9 @@
> if ((start_insn & ~0x1fff) == 0x9de3a000) {
> p_start += 0x4;
> start_offset += 0x4;
> - if ((int)(start_insn | ~0x1fff) < -128)
> + // if ((int)(start_insn | ~0x1fff) < -128)
> + // Why -128? op_pavgb_xmm adjusts the stack by -0x110 == -272
> + if ((int)(start_insn | ~0x1fff) < -272)
> error("Found bogus save at the start of %s", name);
> if (end_insn1 != 0x81c7e008 || end_insn2 != 0x81e80000)
> error("ret; restore; not found at end of %s", name);
>
>
>
> The missing GOTO_LABEL_PARAM macro needs a patch like this:
>
> Index: dyngen-exec.h
> ===================================================================
> RCS file: /cvsroot/qemu/qemu/dyngen-exec.h,v
> retrieving revision 1.25
> diff -u -B -r1.25 dyngen-exec.h
> --- dyngen-exec.h 24 Apr 2005 18:01:56 -0000 1.25
> +++ dyngen-exec.h 2 May 2005 18:29:07 -0000
> @@ -230,6 +237,8 @@
> #ifdef __sparc__
> #define EXIT_TB() asm volatile ("jmpl %i0 + 8, %g0\n" \
> "nop")
> +#define GOTO_LABEL_PARAM(n) asm volatile ( \
> + "set " ASM_NAME(__op_gen_label) #n ", %g1; jmp %g1; nop")
> #endif
> #ifdef __arm__
> #define EXIT_TB() asm volatile ("b exec_loop")
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
- --
Heiko Nardmann (Dipl.-Ing. Technische Informatik)
secunet Security Networks AG - Sicherheit in Netzwerken (www.secunet.de),
Weidenauer Str. 223-225, D-57076 Siegen
Tel. : +49 271 48950-13, Fax : +49 271 48950-50
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
iD8DBQFCd3hXpm53PRScYygRAlJ2AKDOBYPKSzCtSsMFZRdFly6xOqG/qQCeKXV1
H7woQPoygPfc/m5buJyvBiM=
=E9ls
-----END PGP SIGNATURE-----
- Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Nardmann, Heiko, 2005/05/02
- Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Ben Taylor, 2005/05/02
- Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Juergen Keil, 2005/05/02
- Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real),
Nardmann, Heiko <=
- Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Juergen Keil, 2005/05/02
- Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Juergen Keil, 2005/05/03
- Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Ben Taylor, 2005/05/06
- Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Juergen Keil, 2005/05/06
- Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Ben Taylor, 2005/05/06
- Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Ben Taylor, 2005/05/06
- Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real), Alex Beregszaszi, 2005/05/07