qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] QEMU TCG code does not build with OpenBSD PowerPC


From: M. Warner Losh
Subject: Re: [Qemu-devel] QEMU TCG code does not build with OpenBSD PowerPC
Date: Sun, 10 May 2009 19:46:23 -0600 (MDT)

In message: <address@hidden>
            malc <address@hidden> writes:
: On Sat, 9 May 2009, Brad wrote:
: 
: > On Sat, Apr 11, 2009 at 10:58:06AM +0400, malc wrote:
: > > On Fri, 10 Apr 2009, Brad wrote:
: > > 
: > > > Trying to build on an OpenBSD PowerPC machine dies pretty quickly
: > > > in the TCG PowerPC code..
: > > > 
: > > >    CC    i386-softmmu/exec.o
: > > >  In file included from 
/usr/obj/ports/qemu-0.10.2/qemu-0.10.2/tcg/tcg.h:24,
: > > >                   from /usr/obj/ports/qemu-0.10.2/qemu-0.10.2/exec.c:39:
: > > >  /usr/obj/ports/qemu-0.10.2/qemu-0.10.2/tcg/ppc/tcg-target.h:76:2: 
#error 
: > > > Unsupported system
: > > >  gmake[1]: *** [exec.o] Error 1
: > > > 
: > > > Any help with this?
: > > 
: > > You need to know which ABI OpenBSD/PPC uses. A shot in the dark would be
: > > to try something like:
: > 
: > After speaking to the PowerPC maintainer to double check, we're
: > using the standard SVR4 ABI so this should be good..
: > 
: > Also as far as I know this should also apply to FreeBSD and NetBSD
: > when running on PowerPC, but I'll leave it at this for now.
: 
: Good.

I'm pretty sure that FreeBSD uses the SysV ABI, and not the newer
EABI.  I thought Linux was using the latter...

Warner

: > --- tcg/ppc/tcg-target.c.orig       Fri May  8 02:39:52 2009
: > +++ tcg/ppc/tcg-target.c    Fri May  8 02:41:24 2009
: > @@ -109,7 +109,7 @@ static const int tcg_target_reg_alloc_order[] = {
: >      TCG_REG_R11,
: >  #endif
: >      TCG_REG_R12,
: > -#ifndef __linux__
: > +#if !defined(__linux__) && !defined(__OpenBSD__)
: >      TCG_REG_R13,
: >  #endif
: >      TCG_REG_R0,
: > @@ -1535,7 +1535,7 @@ void tcg_target_init(TCGContext *s)
: >  #ifndef __APPLE__
: >      tcg_regset_set_reg(s->reserved_regs, TCG_REG_R2);
: >  #endif
: > -#ifdef __linux__
: > +#if defined(__linux__) || defined(__OpenBSD__)
: >      tcg_regset_set_reg(s->reserved_regs, TCG_REG_R13);
: >  #endif
: >  
: > --- tcg/ppc/tcg-target.h.orig       Mon Apr  6 22:04:47 2009
: > +++ tcg/ppc/tcg-target.h    Sun Apr 26 20:15:41 2009
: > @@ -69,7 +69,7 @@ enum {
: >  #define TCG_TARGET_CALL_STACK_OFFSET 24
: >  #elif defined _AIX
: >  #define TCG_TARGET_CALL_STACK_OFFSET 52
: > -#elif defined __linux__
: > +#elif defined __linux__ || defined __OpenBSD__
: >  #define TCG_TARGET_CALL_ALIGN_ARGS 1
: >  #define TCG_TARGET_CALL_STACK_OFFSET 8
: >  #else
: 
: You tested this and it works?
: 
: -- 
: mailto:address@hidden
: 
: 
: 




reply via email to

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