Ticket #1093 (closed defect: fixed)
Qemu build breaks in gentoo
| Reported by: | sudharsh@… | Owned by: | balrogg@… |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | qemu-neo1973 | Version: | current svn head |
| Severity: | minor | Keywords: | |
| Cc: | buglog@… | Blocked By: | |
| Blocking: | Estimated Completion (week): | ||
| HasPatchForReview: | PatchReviewResult: | ||
| Reproducible: |
Description
Hi, I am not able to build qemu successfully on my gentoo box with gcc 3.4.6.
Heres the build error
make[2]: Entering directory
`/home/sudharsh/Projects/openmoko/build/qemu/arm-softmmu'
gcc-3.4.6 -Wall -O2 -g -fno-strict-aliasing -fno-reorder-blocks -fno-gcse
-fno-optimize-sibling-calls -fno-crossjumping -fno-align-labels
-fno-align-jumps -fno-align-functions -mpreferred-stack-boundary=2
-fomit-frame-pointer -I. -I..
-I/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/target-arm
-I/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973 -MMD -MP
-DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-I/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/fpu
-DHAS_AUDIO
-I/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/gnokiigsm -I/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/slirp
-c -o op.o
/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/target-arm/op.c
/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/target-arm/op_neon.h:
In function `op_neon_shl_u64':
/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/target-arm/op_neon.h:412:
error: unable to find a register to spill in class `GENERAL_REGS'
/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/target-arm/op_neon.h:412:
error: this is the insn:
(insn:HI 26 25 27 1
/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/target-arm/op_neon.h:405
(parallel [
(set (reg/v:DI 60 [ val ])
(lshiftrt:DI (reg/v:DI 60 [ val ])
(subreg:QI (reg:SI 64 [ shift ]) 0)))
(clobber (scratch:SI))
(clobber (reg:CC 17 flags))
]) 309 {lshrdi3_1} (insn_list 25 (nil))
(expr_list:REG_DEAD (reg:SI 64 [ shift ])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_UNUSED (scratch:SI)
(nil)))))
/home/sudharsh/Projects/openmoko/openmoko/trunk/src/host/qemu-neo1973/target-arm/op_neon.h:412:
confused by earlier errors, bailing out
make[2]: * [op.o] Error 1
make[2]: Leaving directory `/home/sudharsh/Projects/openmoko/build/qemu/arm-softmmu'
make[1]: * [subdir-arm-softmmu] Error 2
make[1]: Leaving directory `/home/sudharsh/Projects/openmoko/build/qemu'
make: * [build-qemu] Error 2
Change History
comment:2 Changed 5 years ago by sudharsh@…
Yup, am on a 32 bit machine, AMD Athlon 2000+ XP to be exact
comment:3 Changed 5 years ago by balrogg@…
It is confirmed by upstream: gentoo's 3.4.6 doesn't build qemu on 32-bit x86. A
gcc developer (Paul Brook) said gentoo's gcc "is broken" and nothing can be done
outside gentoo.
I myself use gcc-3.3.6 which for some reason was the default when I installed
gentoo.

Hmm, I'm not having this error although I'm on gentoo as well. It may have
something to do with 32-bit register set, are you on a 32-bit system? I can
only test on 64-bit but I would expect someone in upstream tests things on
32-bit (as this bug would be an upstream bug)