File:  [cvs.NetBSD.org] / pkgsrc / devel / libffi / patches / patch-src_mips_ffi.c
Revision 1.3: download - view: text, annotated - select for diffs
Sun Feb 18 20:55:51 2024 UTC (13 months, 4 weeks ago) by adam
Branches: MAIN
CVS tags: pkgsrc-2025Q1-base, pkgsrc-2025Q1, pkgsrc-2024Q4-base, pkgsrc-2024Q4, pkgsrc-2024Q3-base, pkgsrc-2024Q3, pkgsrc-2024Q2-base, pkgsrc-2024Q2, pkgsrc-2024Q1-base, pkgsrc-2024Q1, HEAD
libffi: updated to 3.4.6

3.4.6 Feb-18-2024
Fix long double regression on mips64 and alpha.

3.4.5 Feb-15-2024
Add support for wasm32.
Add support for aarch64 branch target identification (bti).
Add support for ARCv3: ARC32 & ARC64.
Add support for HPPA64, and many HPPA fixes.
Add support for Haikuos on PowerPC.
Fixes for AIX, loongson, MIPS, power, sparc64, and x86 Darwin.

$NetBSD: patch-src_mips_ffi.c,v 1.3 2024/02/18 20:55:51 adam Exp $

Fixes to support the various NetBSD mips ports.

--- src/mips/ffi.c.orig	2024-02-15 12:54:35.000000000 +0000
+++ src/mips/ffi.c
@@ -532,6 +532,7 @@ static ffi_status ffi_prep_cif_machdep_i
               cif->flags += t->type << (arg_reg * FFI_FLAG_BITS);
 	    arg_reg++;
 	    break;
+#ifdef __mips64
           case FFI_TYPE_LONGDOUBLE:
             /* Align it.  */
             arg_reg = FFI_ALIGN(arg_reg, 2);
@@ -605,6 +606,7 @@ static ffi_status ffi_prep_cif_machdep_i
 		break;
 	      }
 	    break;
+#endif
 
 	  case FFI_TYPE_STRUCT:
             loc = arg_reg * FFI_SIZEOF_ARG;
@@ -666,6 +668,7 @@ static ffi_status ffi_prep_cif_machdep_i
 	  cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
 	break;
 
+#ifdef __mips64
       case FFI_TYPE_LONGDOUBLE:
 	/* Long double is returned as if it were a struct containing
 	   two doubles.  */
@@ -723,6 +726,7 @@ static ffi_status ffi_prep_cif_machdep_i
       case FFI_TYPE_SINT64:
 	cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 8);
 	break;
+#endif
       default:
 	cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
 	break;

CVSweb <webmaster@jp.NetBSD.org>