OpenSolaris

  subsites:   Code Reviews   Gates   Issues   Defects   Polls   Test   PKG   Planet   Mail
You are not signed in. Sign in or register.

List of Solaris gcc compilers which fail compiling QEMU

Updated December 21, 2007

Solaris gcc-3.4.3, x86, from S10U2

64-bit compiles work, 32-bit compiles on 32-bit hosts work, 32-bit compiles on 64-bit hosts do not work

Nevada is listed below

gcc -v

Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/specs
Configured with: /builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw 
  --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld
  --without-gnu-ld --enable-languages=c,c++ --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)

Error from compiling 32-bit QEMU on a Solaris 64-bit host

gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I.. 
  -I/export-1/bent/src/qemu/051807/qemu/target-i386
  -I/export-1/bent/src/qemu/051807/qemu -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
  -D_LARGEFILE_SOURCE -I/export-1/bent/src/qemu/051807/qemu/fpu -DHAS_AUDIO
  -DHAS_AUDIO_CHOICE -I/export-1/bent/src/qemu/051807/qemu/slirp    
  -c -o cpu-exec.o /export-1/bent/src/qemu/051807/qemu/cpu-exec.c
/export-1/bent/src/qemu/051807/qemu/cpu-exec.c: In function `cpu_x86_exec':
/export-1/bent/src/qemu/051807/qemu/cpu-exec.c:822: error: bp cannot be used in asm here
gmake[1]: *** [cpu-exec.o] Error 1
gmake[1]: Leaving directory `/export-1/bent/src/qemu/051807/qemu/i386-softmmu'
gmake: *** [subdir-i386-softmmu] Error 2
Analysis

None yet

Solaris gcc-3.4.3, x86, from Solaris/Nevada

32-bit compiles on 32-bit hosts work, 32-bit compiles on 64-bit hosts work, 64-bit compiles work, but fail on mips-softmmu

Updated December 21, 2007 - gcc-3.4.3 on Nevada for 64-bit will fail on mips-softmmu.
disable that target by removing any mips targets using the --target-list="" like:

./configure --target-list="i386-softmmu,x86_64-softmmu"

gcc -v

Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/specs 
Configured with: /builds2/sfwnv-gate/usr/src/cmd/gcc/gcc-3.4.3/configure 
  --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as 
  --with-ld=/usr/ccs/bin/ld --without-gnu-ld 
  --enable-languages=c,c++,f77,objc --enable-shared 
Thread model: posix 
gcc version 3.4.3 (csl-sol210-3_4-20050802) 

Error from compiling 64-bit QEMU mips-softmmu on a Solaris 64-bit host

gcc -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   -m64  -I. -I.. 
   -I/export/var/develop/qemu/test/qemu/target-mips 
   -I/export/var/develop/qemu/test/qemu -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE 
   -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 
   -I/export/var/develop/qemu/test/qemu/fpu  -DHAS_AUDIO 
   -I/export/var/develop/qemu/test/qemu/slirp -c -o op.o /export/var/develop/qemu/test/qemu/target-mips/op.c
/export/var/develop/qemu/test/qemu/target-mips/op.c: In function `op_goto_tb0':
/export/var/develop/qemu/test/qemu/target-mips/op.c:916: warning: cast to pointer from integer of different size
/export/var/develop/qemu/test/qemu/target-mips/op.c: In function `op_goto_tb1':
/export/var/develop/qemu/test/qemu/target-mips/op.c:922: warning: cast to pointer from integer of different size
/export/var/develop/qemu/test/qemu/target-mips/op_mem.c: In function `op_lwl_raw':
/export/var/develop/qemu/test/qemu/target-mips/op_mem.c:110: internal compiler error: Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
gmake[1]: *** [op.o] Error 1
gmake[1]: Leaving directory `/export/var/develop/qemu/test/qemu/mips-softmmu'
gmake: *** [subdir-mips-softmmu] Error 2 
Analysis

None yet

Blastwave gcc-3.4.5, x86

32-bit compiles work, 64-bit compiles do not work

gcc -v

Reading specs from /opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/specs
Configured with: ../sources/gcc-3.4.5/configure --prefix=/opt/csw/gcc3 --with-local-prefix=/opt/csw 
  --with-gnu-as  --with-as=/opt/csw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld 
  --enable-threads=posix --enable-shared --enable-multilib --enable-nls --with-included-gettext 
  --with-libiconv-prefix=/opt/csw --with-x  --enable-java-awt=xlib --enable-languages=all
Thread model: posix
gcc version 3.4.5

Error from compiling 64-bit QEMU on a Solaris 64-bit host

gcc -m64 -DQEMU_TOOL -Wall -O2 -g -fno-strict-aliasing -I. -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
  -g  -o qemu-img qemu-img.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c 
  block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c -lz  -lrt
qemu-img.c:1: sorry, unimplemented: 64-bit mode not compiled in
Analysis

Blastwave gcc-3.4.5 not configured to compile 64-bit

Sunfreeware gcc-3.4.6, x86, 32-bit only, 64-bit mode not enabled

gcc -v

Reading specs from /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld 
  --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6

Error from compiling 32-bit QEMU on an Solaris 64-bit host

Assembler: apic.c
        "/var/tmp//ccDghpdc.s", line 182 : Illegal mnemonic
        Near line: "    bsr %edx, %eax"
        "/var/tmp//ccDghpdc.s", line 182 : Syntax error
        Near line: "    bsr %edx, %eax"
        "/var/tmp//ccDghpdc.s", line 650 : Illegal mnemonic
        Near line: "    bsf %edx, %eax"
        "/var/tmp//ccDghpdc.s", line 650 : Syntax error
        Near line: "    bsf %edx, %eax"
gmake[1]: *** [apic.o] Error 1
gmake[1]: Leaving directory `/export-1/bent/src/qemu/051807/qemu/i386-softmmu'
gmake: *** [subdir-i386-softmmu] Error 2
Analysis

Most likely due to using Solaris' native as, as opposed to /usr/sfw/bin/gas, and not configured to compile 64-bit.