From: Juergen Keil <jk@tools.de>
To: Heiko.Nardmann@secunet.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real)
Date: Mon, 2 May 2005 20:35:19 +0200 (CEST) [thread overview]
Message-ID: <200505021835.j42IZJTg010971@imap3.tools.intra> (raw)
> 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")
next reply other threads:[~2005-05-02 18:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-02 18:35 Juergen Keil [this message]
2005-05-03 13:10 ` [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real) Nardmann, Heiko
-- strict thread matches above, loose matches on Subject: below --
2005-05-03 17:24 Juergen Keil
2005-04-28 14:24 Ben Taylor
2005-04-30 9:40 ` Alex Beregszaszi
2005-05-02 10:12 ` Nardmann, Heiko
2005-05-02 10:51 ` Nardmann, Heiko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200505021835.j42IZJTg010971@imap3.tools.intra \
--to=jk@tools.de \
--cc=Heiko.Nardmann@secunet.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).