On Wed, 2010-07-14 at 13:16 -0700, Jason Cwik wrote: 
> 
> Caolán McNamara wrote:
> > 
> > 
> > 
> > The hard part is the uno bridge itself. I haven't a clue about the AIX
> > ABI to know if, assuming you use gcc, if you'd be able to directly use
> > the gcc3_linux_powerpc64 bridge or if a custom one is needed. 
> > 
> > 
> 
> I'm going to start with the basic assumption that gcc uses the same ppc
> calling convention on AIX as Linux (maybe wrong, but...).  One question: on
> Linux, is the gcc4 ABI the same as gcc3?  I was going to use gcc 4.4.4 for
> the port (I've noticed that gcc4.2.0 that IBM provides crashes on some of
> the C++ code and 4.5.0 is flat out not supported by ooo32M12).

The calling conventions should be the same for gcc 3.X.Y through to
current gcc 4.5.0, they don't typically change. And that's basically all
that matters for the bridges, so any gcc really should be fine in terms
of the uno bridges themselves. For the general compiler support needed
to build the complete OOo, the gcc 4.5 series requires a trivial fix
which is available as
http://hg.services.openoffice.org/cws/sb126/rev/e7381920688b 

> also, is there a ppc32 bridge for linux or just ppc64?  I started out with
> IBM's gcc (ppc32) and would have to start over to move to ppc64...

Yes, they are both in there. See bridges/source/cpp_uno/ where there is
both gcc3_linux_powerpc (32bit) and gcc3_linux_powerpc64 (64bit) and
gcc3_macosx_powerpc (32bit)

In this context don't let "gcc3" faze you, gcc3 is any gcc >= 3, gcc
4.X.Y is fine.

Quickly digging around I see ...

http://publib.boulder.ibm.com/infocenter/aix/v6r1/topic/com.ibm.aix.aixassem/doc/alangref/alangref.pdf

See "Register Usage and Conventions" on page 65

and some notes on calling conventions etc. at
http://wall.riscom.net/books/proc/ppc/cwg/a_abi.html 
and http://www.ibm.com/developerworks/library/l-ppc/

the upshot seems to be that "ppc32 Linux and NetBSD implementations use
the SVR4 (System V R4) ABI, but ppc64 Linux follows AIX and uses the
PowerOpen ABI" with suggestions that darwin adheres to the 32bit AIX
abi, so maybe after all the AIX-abi-derived darwin "gcc3_macosx_powerpc"
bridge might actually be closer to what you need than the linux ones.

If I was you I'd see if you would get away with tweaking the
bridges/source/cpp_uno/gcc3_macosx_powerpc/makefile.mk to accept your
platform in there as well, and even if that doesn't work its likely a
good basis for what you need.

Another resource that might help is libffi and search for AIX specific
stuff in it

C.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to