[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] compiling on PPC does work

From: C.W. Betts
Subject: Re: [Qemu-devel] compiling on PPC does work
Date: Mon, 26 May 2008 13:17:56 -0600

On May 26, 2008, at 11:37 AM, malc wrote:

On Sun, 25 May 2008, C.W. Betts wrote:

Due to the fact that there is now a PowerPC tcg host, I tried to make the i386 and sparc guests. I am building it on an Intel Mac, but I doubt that's the problem (although it took me awhile to figure out how to make PPC apps on i386 comps without using a -- build configure argument). However, I got the following error when trying to compile the apic.c file on i386:

Few notes:

a. Some new optimizations commited shortly before/after ppc tcg uncovered a bug. The bug was fixed but the patch is not yet been commited to SVN.
Other than running the application under Rosetta, I have no way of checking to see if it works.

b. MacOS X is not supported.
   (I think it has a slightly different ABI plus changes to dyngen and
    elsewhere are needed to work with Mach O relocations. The latter
    is essential for working with those targets that still use dyngen)
I'm using targets that don't use dyngen. Dyngen does compile for PPC OS X (not i386, but I don't care)

gcc -I. -I.. -I/Users/username/makestuff/qemu-svn/target-i386 -I/ Users/username/makestuff/qemu-svn -MMD -MP -DNEED_CPU_H - D__powerpc__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 - D_LARGEFILE_SOURCE -I/Users/username/makestuff/qemu-svn/tcg -I/ Users/username/makestuff/qemu-svn/tcg/ppc -I/Users/username/ makestuff/qemu-svn/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/Users/ username/makestuff/qemu-svn/slirp -Wall -O2 -g -fno-strict-aliasing -mdynamic-no-pic -m32 -arch ppc -c -o apic.o /Users/username/ makestuff/qemu-svn/hw/apic.c /var/folders/zN/zNzLfd+VH20MiY73gvxNNk+++TI/-Tmp-//cc4FQRDT.s: 151:Invalid mnemonic 'bsr' /var/folders/zN/zNzLfd+VH20MiY73gvxNNk+++TI/-Tmp-//cc4FQRDT.s: 1458:Invalid mnemonic 'bsf'
make[1]: *** [apic.o] Error 1
make: *** [subdir-i386-softmmu] Error 2

Excerpt from apic.c

#if defined(HOST_I386)
   __asm__ __volatile__ ("bsr %1, %0\n" : "+r" (ret) : "rm" (value));
   return ret;

Apparently HOST_I386 is defined somewhere hence this optimization.
Found out what was the problem. HOST_I386 was defined in config- host.h. After changing it to HOST_PPC, everything built fine

The sparc platform compiled and linked without a problem, as well as the rest of the files.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]