[PATCH] Sync MIPS support from libffi master repository

Jeff Law law@redhat.com
Thu Aug 8 20:56:00 GMT 2019


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  <aurelien@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



More information about the Gcc-patches mailing list