From: Ronald <look@reply.to>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: MacOSX CVS build broken
Date: Fri, 21 Jan 2005 23:38:42 +0100 [thread overview]
Message-ID: <pan.2005.01.21.22.38.42.149661@reply.to> (raw)
In-Reply-To: 1f1698a605011520285bc01970@mail.gmail.com
Le Sat, 15 Jan 2005 23:28:31 -0500, Tim Douglas a écrit :
> On Fri, 14 Jan 2005 21:44:01 -0800, John Tangney <johnt@jdtangney.com>
> wrote:
>> I am still getting the same thing a week later after a fresh cvs update.
>> Any hints?
>
> As am I. Check out this interesting log:
>
> gcc -Wall -O2 -g -fno-strict-aliasing -D__powerpc__ -fno-reorder-blocks
> -fno-optimize-sibling-calls -mdynamic-no-pic -I.
> -I/Users/timdoug/Desktop/qemu/target-i386 -I/Users/timdoug/Desktop/qemu
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -I/Users/timdoug/Desktop/qemu/slirp -c -o op.o
> /Users/timdoug/Desktop/qemu/target-i386/op.c In file included from
> /Users/timdoug/Desktop/qemu/target-i386/exec.h:21,
> from /Users/timdoug/Desktop/qemu/target-i386/op.c:22:
> /Users/timdoug/Desktop/qemu/dyngen-exec.h:38: warning: redefinition of
> `int8_t' /usr/include/ppc/types.h:69: warning: `int8_t' previously
> declared here /Users/timdoug/Desktop/qemu/dyngen-exec.h:39: warning:
> redefinition of `int16_t' /usr/include/ppc/types.h:71: warning: `int16_t'
> previously declared here /Users/timdoug/Desktop/qemu/dyngen-exec.h:40:
> warning: redefinition of `int32_t' /usr/include/ppc/types.h:73: warning:
> `int32_t' previously declared here
> /Users/timdoug/Desktop/qemu/dyngen-exec.h:44: warning: redefinition of
> `int64_t' /usr/include/ppc/types.h:75: warning: `int64_t' previously
> declared here ../dyngen -o op.h op.o
> dyngen: blr expected at the end of op_pmaddwd_mmx make[1]: *** [op.h]
> Error 1
> make: *** [all] Error 1
[...]
> The first invocation of gcc here makes op.o at 536k. dyngen then fails,
> but still makes op.h.
> The second run of dyngen fails too, but again it
> outputs opc.h. And then translate-all.c fails to build because something
> is broken in dyngen_code which is in op.h. So something must indeed be
> wrong with dyngen or op.c or something else. Here, though, qemu's internal
> workings bypass my knowledge, so I've sent this to qemu-devel too to see
> what they can figure out.
>
If I objdump -D op.o, the asm code for op_pmaddwd_mmx is like this
0000d984 <op_pmaddwd_mmx>:
d984: 3d 20 00 00 lis r9,0
d988: 3d 60 00 00 lis r11,0
d98c: 39 29 00 00 addi r9,r9,0
d990: 39 6b 00 00 addi r11,r11,0
d994: 7d 1b 4a 14 add r8,r27,r9
d998: 7c 9b 5a 14 add r4,r27,r11
d99c: 38 a0 00 00 li r5,0
d9a0: 38 e0 00 04 li r7,4
d9a4: 38 c0 00 06 li r6,6
d9a8: 7d 26 22 ae lhax r9,r6,r4
d9ac: 38 a5 00 01 addi r5,r5,1
d9b0: 7d 46 42 ae lhax r10,r6,r8
d9b4: 2c 05 00 01 cmpwi r5,1
d9b8: 7c 07 22 ae lhax r0,r7,r4
d9bc: 38 c6 ff fc addi r6,r6,-4
d9c0: 7d 67 42 ae lhax r11,r7,r8
d9c4: 7d 29 51 d6 mullw r9,r9,r10
d9c8: 7c 00 59 d6 mullw r0,r0,r11
d9cc: 7d 29 02 14 add r9,r9,r0
d9d0: 7d 27 41 2e stwx r9,r7,r8
d9d4: 38 e7 ff fc addi r7,r7,-4
d9d8: 4d 81 00 20 bgtlr
d9dc: 4b ff ff cc b d9a8 <op_pmaddwd_mmx+0x24>
this really don't end with blr, but if I have understood correctly
what I have found about bgtlr, it should do what blr do with some
condition on r0.
May be dyngen should verify on 4bffffcc too and not only 4e800020.
--- dyngen.c 2005-01-21 23:33:10.576942764 +0100
+++ dyngen.c.new 2005-01-21 23:34:38.326370710 +0100
@@ -1342,7 +1342,10 @@
if (p == p_start)
error("empty code for %s", name);
if (get32((uint32_t *)p) != 0x4e800020)
- error("blr expected at the end of %s", name);
+ {
+ if (get32((uint32_t *)p) != 0x4bffffcc)
+ error("blr or b expected at the end of %s", name);
+ }
copy_size = p - p_start;
}
#elif defined(HOST_S390)
Not sure if all that is correct.
> Cheers,
> -Tim
next prev parent reply other threads:[~2005-01-21 23:01 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <BE0DEDA1.15F79%johnt@jdtangney.com>
2005-01-16 4:28 ` [Qemu-devel] Re: MacOSX CVS build broken Tim Douglas
2005-01-16 6:08 ` Phil Krylov
2005-01-21 22:38 ` Ronald [this message]
2005-01-21 23:08 ` Paul Brook
2005-01-21 23:09 ` Johannes Schindelin
2005-01-21 23:14 ` Daniel Egger
2005-01-23 21:11 ` Fabrice Bellard
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=pan.2005.01.21.22.38.42.149661@reply.to \
--to=look@reply.to \
--cc=daimon55@free.fr \
--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).