@@ -363,3 +363,49 @@ mod loongarch64 {
363
363
364
364
#[ cfg( target_arch = "loongarch64" ) ]
365
365
pub 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