On 8/5/19 2:33 PM, Aurelien Jarno wrote:
> This updates the libffi MIPS support up to commit 746dbe3a6a79, with the
> exception of commit bd72848c7af9 which prefixes the ALIGN macro with
> FFI_ for all ports.
> 
> These patches, with the exception of the softfloat one, have been used
> on the Debian GCC packages for quite some time.
> 
> libffi/Changelog:
> 
> 2019-08-05  Aurelien Jarno  <aurel...@aurel32.net>
> 
>       Import from upstream
>       * src/mips/ffi.c (ffi_call_O32, ffi_call_N32,
>       ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Adjust
>       interface.
>       (ffi_call_int): Renamed from ffi_call.
>       (ffi_call, ffi_call_go, ffi_prep_go_closure): New functions.
>       (ffi_prep_closure_loc): Define jr instruction for R6.
>       * src/mips/ffitarget.h (FFI_GO_CLOSURES): Define.
>       (FFI_TRAMPOLINE_SIZE): Define to 56 for N64.
>       Test for __linux__ instead of linux.
>       * src/mips/n32.S (ffi_go_closure_N32): New function.
>       (ffi_call_N32): Adjust code for softfloat.
>       (.set mips4): Guard with !defined(__mips_isa_rev) ||
>       (__mips_isa_rev<6).
>       * src/mips/o32.S (ffi_go_closure_O32): New function.
>       (ffi_call_O32): Adjust code for softfloat.
What's the motivation here?

Would we just be better off moving all of libffi forward rather than
just MIPS bits?

Do we even still need a bundled libffi in GCC anymore?


Jeff

Reply via email to