[RFC patch] libffi support for FreeBSD/PowerPC

Andreas Tobler toa@pop.agri.ch
Sat Jul 16 12:32:00 GMT 2005


Andreas Tobler wrote:
> Andreas Tobler wrote:
> 
>> Hi all,
>>
>> the attached patch brings libffi support for FreeBSD/PowerPC. In the 
>> core it is equal to the linux-ppc 32-bit port. But the thing which is 
>> different, is the FreeBSD/PowerPC port supports the final SYSV 4 ABI 
>> versus the draft one linux-ppc does. This means that small structures 
>> (smaller or equal 8 bytes) are passed in r3/r4 instead of memory as 
>> linux-ppc does.
>> I tested the patch on FreeBSD/PowerPC and linux-ppc 32-bit. No 
>> regressions. I do not have a 64-bit platform around. I'd appreciate if 
>> one could give it a short run. Although I do not expect any fall out.
>>
>> I'd like to point to test results, but unfortunately the 
>> FreeBSD/PowerPC  port does not yet support Altivec which prevents me 
>> from running a make -k check over the whole build. I need first to 
>> clean up/adjust the gcc testsuite to NOT test Altivec tests on 
>> FreeBSD/PowerPC. (Which is not that easy since we have tests which 
>> check Altivec directly.) GDB does it better ....
>>
>> A suitable CL will follow. I smoked my fbsd machine just before 
>> writing the CL, with Altivec tests .....
> 

Third try, more tunings.
Ok for main?

Andreas

> 2005-07-11  Andreas Tobler  <a.tobler@schweiz.ch>
> 
>     * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
>     * Makefile.in: Regenerate.
>     * configure.ac: Add POWERPC_FREEBSD rules.
>     * configure: Regenerate.
>     * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
>     (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
>     * src/powerpc/ffi.c: Add flags to handle small structure returns
>     in ffi_call_SYSV.
>     (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
>     Aka FFI_SYSV.
>     (ffi_closure_helper_SYSV): Likewise.
>     * src/powerpc/ppc_closure.S: Add return types for small structures.
>     * src/powerpc/sysv.S: Add bits to handle small structures for
>     final SYSV 4 ABI.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fbsd-libffi-20050716.diff
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20050716/b40822d8/attachment.ksh>


More information about the Java-patches mailing list