Am 17.01.2008 um 18:11 schrieb Andreas Färber:
Hi,
Am 17.01.2008 um 16:29 schrieb Johannes Schindelin:
I found two extra #endifs, in target-mips/exec.h and target-ppc/
exec.h. I
updated my "gcc4" branch.
I tested sparc-softmmu, ppc-softmmu, ppc64-softmmu, i386-softmmu on
Linux/i386 from your gcc4 branch. It compiles okay on gcc (GCC)
4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2). Runtime
behavior was identical to CVS+gcc-3.4.
This starts to have the feeling of a Bug Week. ;) Cheers to everyone
else testing or fixing.
To complete my test report from OSX/ppc as requested:
It turns out that I can compile QEMU with gcc-3.3 on Leopard/ppc with
the always_inline fix applied: QEMU's recursive redefinition of inline/
always_inline seems to break Leopard's headers rather than gcc3 itself.
i386-darwin-user and ppc-darwin-user failed to compile (same from CVS):
gcc -Wall -O2 -g -fno-strict-aliasing -I. -I.. -I/Users/andreas/Q/
dscho/target-i386 -I/Users/andreas/Q/dscho -MMD -MP -DNEED_CPU_H -I/
Users/andreas/Q/dscho/darwin-user -I/Users/andreas/Q/dscho/darwin-user/
i386 -D__powerpc__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -
D_LARGEFILE_SOURCE -I/Users/andreas/Q/dscho/fpu -DHAS_AUDIO -
DHAS_AUDIO_CHOICE -I/Users/andreas/Q/dscho/slirp -mdynamic-no-pic -c
-o main.o /Users/andreas/Q/dscho/darwin-user/main.c
In file included from /Users/andreas/Q/dscho/darwin-user/qemu.h:9,
from /Users/andreas/Q/dscho/darwin-user/main.c:31:
../thunk.h: In function ‘thunk_type_size’:
../thunk.h:104: error: ‘TARGET_ABI_BITS’ undeclared (first use in this
function)
../thunk.h:104: error: (Each undeclared identifier is reported only once
../thunk.h:104: error: for each function it appears in.)
../thunk.h: In function ‘thunk_type_align’:
../thunk.h:141: error: ‘TARGET_ABI_BITS’ undeclared (first use in this
function)
In file included from /Users/andreas/Q/dscho/darwin-user/main.c:31:
/Users/andreas/Q/dscho/darwin-user/qemu.h: At top level:
/Users/andreas/Q/dscho/darwin-user/qemu.h:100: warning: ‘struct
sigaltstack’ declared inside parameter list
/Users/andreas/Q/dscho/darwin-user/qemu.h:100: warning: its scope is
only this definition or declaration, which is probably not what you want
make[1]: *** [main.o] Error 1
make: *** [subdir-i386-darwin-user] Error 2
ppc64-softmmu fails to compile (also from CVS):
gcc -Wall -O2 -g -fno-strict-aliasing -fno-reorder-blocks -fno-gcse
-fno-tree-ch -fno-optimize-sibling-calls -fno-crossjumping -fno-
align-labels -fno-align-jumps -fno-align-functions -mdynamic-no-
pic -I. -I.. -I/Users/andreas/Q/dscho/target-ppc -I/Users/andreas/Q/
dscho -MMD -MP -DNEED_CPU_H -D__powerpc__ -D_GNU_SOURCE -
D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/Users/andreas/Q/dscho/fpu
-DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/Users/andreas/Q/dscho/slirp -c -o
op.o /Users/andreas/Q/dscho/target-ppc/op.c
/Users/andreas/Q/dscho/target-ppc/op_mem.h: In function
‘op_vr_stvx_raw’:
/Users/andreas/Q/dscho/target-ppc/op_mem.h:934: error: unrecognizable
insn:
(insn:HI 16 18 17 0 ../cpu-all.h:561 (set (subreg:SI (reg:DI 122) 4)
(plus:SI (mem/s/j:SI (plus:SI (reg/f:SI 119 [ env.1205 ])
(const_int 4 [0x4])) [0 <variable>.t0+4 S4 A32])
(const_int 8 [0x8]))) -1 (insn_list:REG_DEP_TRUE 18 (nil))
(nil))
/Users/andreas/Q/dscho/target-ppc/op_mem.h:934: internal compiler
error: in extract_insn, at recog.c:2037
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[1]: *** [op.o] Error 1
make: *** [subdir-ppc64-softmmu] Error 2
sh4-softmmu and sh4eb-softmmu fail to compile (only from git):
gcc -Wall -O2 -g -fno-strict-aliasing -fno-reorder-blocks -fno-gcse
-fno-tree-ch -fno-optimize-sibling-calls -fno-crossjumping -fno-
align-labels -fno-align-jumps -fno-align-functions -mdynamic-no-
pic -I. -I.. -I/Users/andreas/Q/dscho/target-sh4 -I/Users/andreas/Q/
dscho -MMD -MP -DNEED_CPU_H -D__powerpc__ -D_GNU_SOURCE -
D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/Users/andreas/Q/dscho/fpu
-I/Users/andreas/Q/dscho/slirp -c -o op.o /Users/andreas/Q/dscho/
target-sh4/op.c
../dyngen-exec.h:236: warning: ‘__op_param3’ defined but not used
../dyngen -o op.h op.o
dyngen: blr expected at the end of op_cmp_str_T0_T1
make[1]: *** [op.h] Error 1
make: *** [subdir-sh4-softmmu] Error 2
cris-softmmu compiles from git but fails from CVS:
make -C cris-softmmu all
gcc-3.3 -Wall -O2 -g -fno-strict-aliasing -I. -I.. -I/Users/andreas/Q/
myqemu/target-cris -I/Users/andreas/Q/myqemu -MMD -MP -DNEED_CPU_H -
D__powerpc__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -
I/Users/andreas/Q/myqemu/fpu -I/Users/andreas/Q/myqemu/slirp -
mdynamic-no-pic -c -o vl.o /Users/andreas/Q/myqemu/vl.c
In file included from /Users/andreas/Q/myqemu/hw/hw.h:5,
from /Users/andreas/Q/myqemu/vl.c:24:
../qemu-common.h:62:17: cpu.h: No such file or directory
[...]
make[1]: *** [vl.o] Error 1
make: *** [subdir-cris-softmmu] Error 2
My usual suspects sparc-softmmu, ppc-softmmu, i386-softmmu run from
git as before.
powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)
Andreas