pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/libffi



Module Name:    pkgsrc
Committed By:   rin
Date:           Sat Mar 21 16:08:35 UTC 2020

Modified Files:
        pkgsrc/devel/libffi: distinfo
Added Files:
        pkgsrc/devel/libffi/patches: patch-src_powerpc_ffi.c
            patch-src_powerpc_ffi__powerpc.h

Log Message:
Fix build for ILP32 powerpc, which doesn't have 128-bit-length data types.


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 pkgsrc/devel/libffi/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi.c \
    pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi__powerpc.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/libffi/distinfo
diff -u pkgsrc/devel/libffi/distinfo:1.51 pkgsrc/devel/libffi/distinfo:1.52
--- pkgsrc/devel/libffi/distinfo:1.51   Mon Mar 16 09:35:47 2020
+++ pkgsrc/devel/libffi/distinfo        Sat Mar 21 16:08:34 2020
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.51 2020/03/16 09:35:47 rin Exp $
+$NetBSD: distinfo,v 1.52 2020/03/21 16:08:34 rin Exp $
 
 SHA1 (libffi-3.3.tar.gz) = 8df6cb570c8d6596a67d1c0773bf00650154f7aa
 RMD160 (libffi-3.3.tar.gz) = 2cd43b66d792f1bad76df2e19a8411beacfcb8e0
@@ -12,4 +12,6 @@ SHA1 (patch-src_m68k_ffi.c) = 5179cfd150
 SHA1 (patch-src_m88k_elfbsd.S) = 6572c7fa39c00096cb4a80bb88993ff1b4aaa8cc
 SHA1 (patch-src_mips_ffi.c) = 7353f68f73917af6bff0b90393ac3404ea54fb99
 SHA1 (patch-src_mips_ffitarget.h) = 7fe62634803ccb5a168e76d597409c9af809c448
+SHA1 (patch-src_powerpc_ffi.c) = b68a93d0f8552efaa8c50256da3af3bde5de7059
+SHA1 (patch-src_powerpc_ffi__powerpc.h) = 573b6f0f496ed7b8b6bc0df197515020519ae024
 SHA1 (patch-testsuite_libffi.call_float2.c) = 2a42a428b0cc55065968c7f0748026da12b70b9d

Added files:

Index: pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi.c
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi.c:1.1
--- /dev/null   Sat Mar 21 16:08:35 2020
+++ pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi.c Sat Mar 21 16:08:34 2020
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_powerpc_ffi.c,v 1.1 2020/03/21 16:08:34 rin Exp $
+
+Workaround for ILP32 powerpc, which doesn't have 128-bit-length data types.
+
+--- src/powerpc/ffi.c.orig     2019-11-18 20:35:19.000000000 +0900
++++ src/powerpc/ffi.c  2020-03-22 00:26:32.702408263 +0900
+@@ -87,7 +87,11 @@ ffi_call_int (ffi_cif *cif,
+      For ELFv2 ABI, use a bounce buffer for homogeneous structs too,
+      for similar reasons. This bounce buffer must be aligned to 16
+      bytes for use with homogeneous structs of vectors (float128).  */
++#ifdef POWERPC64
+   float128 smst_buffer[8];
++#else
++  __int64_t smst_buffer[16];
++#endif
+   extended_cif ecif;
+ 
+   ecif.cif = cif;
Index: pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi__powerpc.h
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi__powerpc.h:1.1
--- /dev/null   Sat Mar 21 16:08:35 2020
+++ pkgsrc/devel/libffi/patches/patch-src_powerpc_ffi__powerpc.h        Sat Mar 21 16:08:34 2020
@@ -0,0 +1,34 @@
+$NetBSD: patch-src_powerpc_ffi__powerpc.h,v 1.1 2020/03/21 16:08:34 rin Exp $
+
+Workaround for ILP32 powerpc, which doesn't have 128-bit-length data types.
+
+--- src/powerpc/ffi_powerpc.h.orig     2019-11-18 20:35:19.000000000 +0900
++++ src/powerpc/ffi_powerpc.h  2020-03-22 00:31:24.149783131 +0900
+@@ -57,6 +57,7 @@ typedef union
+   double d;
+ } ffi_dblfl;
+ 
++#ifdef POWERPC64
+ #if defined(__FLOAT128_TYPE__)
+ typedef _Float128 float128;
+ #elif defined(__FLOAT128__)
+@@ -64,6 +65,7 @@ typedef __float128 float128;
+ #else
+ typedef __int128 float128;
+ #endif
++#endif /* POWERPC64 */
+ 
+ void FFI_HIDDEN ffi_closure_SYSV (void);
+ void FFI_HIDDEN ffi_go_closure_sysv (void);
+@@ -97,9 +99,11 @@ ffi_status FFI_HIDDEN ffi_prep_closure_l
+                                                   void (*) (ffi_cif *, void *,
+                                                             void **, void *),
+                                                   void *, void *);
++#ifdef POWERPC64
+ int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_cif *,
+                                          void (*) (ffi_cif *, void *,
+                                                    void **, void *),
+                                          void *, void *,
+                                          unsigned long *, ffi_dblfl *,
+                                          float128 *);
++#endif



Home | Main Index | Thread Index | Old Index