This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[rfa:ppc] Fix PPC/NBSD struct return; Was: userdef.exp regression for ppc?


Hi,

Will you please clarify the final decision you made regarding this issue?

The OpenOffice.org project has very special bridge code that allows calls 
from C++ to UNO and back with exceptions and things properly handled. The 
basic idea is alot like the libffi interface used in gcj java interpreter 
code in gcc.  Just a bit more elaborate due to structure alignment issues 
and etc.

 It seems the NetBSD OpenOffice.org guys have been using the x86 Linux 
bridge for NetBSD x86 and the ppc Linux bridge code for NetBSD ppc.

So based on what I have read this code may have to be modified for NetBSD 
ppc.

To prevent confusion, please specifiy whether or not you are (or will be) 
using small structure returns in registers for any of 

gcc 2.95.X
gcc 3.0.X
gcc 3.1 

for NetBSD ppc.


BTW: PPC Linux has *never* followed the SYS V abi on this issue (never 
returned structures 8 bytes or smaller in registers).  I believe PPC Linux 
maintainers at GCC were aware of this deviation but did not want to break 
backwards compatibility until some future time when it seemed more 
appropriate  (Geoff Keating would remember).   PPC Linux also deviates 
from the abi by storing floating single values on the outgoing parameter 
stack aligned to 4 instead of storing them always as double values aligned 
to 8 as the abi states it should.

Is there any value in keeping NetBSD PPC in sync with PPC Linux for these 
issues?  Does you decision here impact NetBSD's ppc ability to run PPC 
Linux binaries like the Blackdown JDK, etc under Linux emulation?

Either way I would appreciate knowing your plans so that I can fix the 
bridge code in NetBSD for ppc (for both gcc 3.X and gcc 2.95.X).

Thanks,

Kevin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]