@@ -363,3 +363,49 @@ mod loongarch64 {
363363
364364#[ cfg( target_arch = "loongarch64" ) ]
365365pub use loongarch64:: * ;
366+
367+ /// From libffi:src/mips/ffitarget.h
368+ /// See: <https://github.com/libffi/libffi/blob/4cb776bc8075332d2f3e59f51785d621fcda48f6/src/mips/ffitarget.h>
369+ mod mips {
370+ mod common {
371+ use crate :: ffi_abi;
372+ pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0 ;
373+ pub const ffi_abi_FFI_O32: ffi_abi = 1 ;
374+ pub const ffi_abi_FFI_N32: ffi_abi = 2 ;
375+ pub const ffi_abi_FFI_N64: ffi_abi = 3 ;
376+ pub const ffi_abi_FFI_O32_SOFT_FLOAT: ffi_abi = 4 ;
377+ pub const ffi_abi_FFI_N32_SOFT_FLOAT: ffi_abi = 5 ;
378+ pub const ffi_abi_FFI_N64_SOFT_FLOAT: ffi_abi = 6 ;
379+ pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 7 ;
380+
381+ pub const FFI_CLOSURES : u32 = 1 ;
382+ pub const FFI_GO_CLOSURES : u32 = 1 ;
383+ pub const FFI_NATIVE_RAW_ABI : u32 = 0 ;
384+ }
385+
386+ pub mod mips {
387+ use crate :: ffi_abi;
388+
389+ pub use super :: common:: * ;
390+
391+ pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_O32;
392+
393+ pub const FFI_TRAMPOLINE_SIZE : usize = 20 ;
394+ }
395+
396+ pub mod mips64 {
397+ use crate :: ffi_abi;
398+
399+ pub use super :: common:: * ;
400+
401+ pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_N64;
402+
403+ pub const FFI_TRAMPOLINE_SIZE : usize = 56 ;
404+ }
405+ }
406+
407+ #[ cfg( any( target_arch = "mips" , target_arch = "mips32r6" ) ) ]
408+ pub use mips:: mips:: * ;
409+
410+ #[ cfg( any( target_arch = "mips64" , target_arch = "mips64r6" ) ) ]
411+ pub use mips:: mips64:: * ;
0 commit comments