Hello community,

here is the log from the commit of package libffi for openSUSE:Factory checked 
in at 2019-09-30 15:47:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libffi (Old)
 and      /work/SRC/openSUSE:Factory/.libffi.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libffi"

Mon Sep 30 15:47:45 2019 rev:7 rq:731707 version:3.2.1.git505

Changes:
--------
--- /work/SRC/openSUSE:Factory/libffi/libffi.changes    2018-03-20 
21:50:34.526821023 +0100
+++ /work/SRC/openSUSE:Factory/.libffi.new.2352/libffi.changes  2019-09-30 
15:47:48.223068185 +0200
@@ -1,0 +2,14 @@
+Wed Sep 18 09:39:07 UTC 2019 - Andreas Schwab <[email protected]>
+
+- Update to commit c2a6859
+- gccbug.patch: Update check for gccbug target flag
+- stdcall.patch: Fix FFI_STDCALL ABI
+- libffi-riscv.patch: Removed
+- libffi-include-location.patch: Removed
+
+-------------------------------------------------------------------
+Tue Oct 16 09:52:39 UTC 2018 - [email protected]
+
+- Add libffi-devel-32bit package.
+
+-------------------------------------------------------------------

Old:
----
  libffi-3.2.1.git259.tar.xz
  libffi-include-location.patch
  libffi-riscv.patch

New:
----
  gccbug.patch
  libffi-3.2.1.git505.tar.xz
  stdcall.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libffi.spec ++++++
--- /var/tmp/diff_new_pack.gIfhIm/_old  2019-09-30 15:47:48.807066630 +0200
+++ /var/tmp/diff_new_pack.gIfhIm/_new  2019-09-30 15:47:48.807066630 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libffi
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,14 +12,14 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %define libffi_sover 7
 
 Name:           libffi
-Version:        3.2.1.git259
+Version:        3.2.1.git505
 Release:        0
 Summary:        Foreign Function Interface Library
 License:        MIT
@@ -27,8 +27,8 @@
 Url:            https://github.com/libffi/
 Source:         %name-%version.tar.xz
 Source99:       baselibs.conf
-Patch:          libffi-include-location.patch
-Patch2:         libffi-riscv.patch
+Patch1:         gccbug.patch
+Patch2:         stdcall.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  autoconf
 BuildRequires:  automake
@@ -80,7 +80,7 @@
 
 %prep
 %setup -q
-%patch -p1
+%patch1 -p1
 %patch2 -p1
 
 %build

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.gIfhIm/_old  2019-09-30 15:47:48.843066534 +0200
+++ /var/tmp/diff_new_pack.gIfhIm/_new  2019-09-30 15:47:48.843066534 +0200
@@ -1 +1,3 @@
 libffi7
+libffi-devel
+  requires "libffi7-<targettype> = <version>"

++++++ gccbug.patch ++++++
Index: libffi-3.2.1.git505/testsuite/lib/libffi.exp
===================================================================
--- libffi-3.2.1.git505.orig/testsuite/lib/libffi.exp
+++ libffi-3.2.1.git505/testsuite/lib/libffi.exp
@@ -526,12 +526,8 @@ proc run-many-tests { testcases extra_fl
                set has_gccbug false;
                if { [string match $compiler_vendor "gnu"] \
                         && [string match "*MSABI*" $abi] \
-                        && ( ( [string match "*DGTEST=57 *" $common] \
-                                   && [string match "*call.c*" $testname] ) \
-                                 || ( [string match "*DGTEST=54 *" $common] \
-                                          && [string match "*callback*" 
$testname] ) \
-                                 || [string match "*DGTEST=55 *" $common] \
-                                 || [string match "*DGTEST=56 *" $common] ) } 
then {
+                        && [string match {*DGTEST=5[456] *} $common] \
+                        && [string match "*callback*" $testname] } then {
                    set has_gccbug true;
                }
                 verbose "Testing $testname, $options" 1
++++++ libffi-3.2.1.git259.tar.xz -> libffi-3.2.1.git505.tar.xz ++++++
++++ 22577 lines of diff (skipped)

++++++ stdcall.patch ++++++
Index: libffi-3.2.1.git505/src/x86/ffi.c
===================================================================
--- libffi-3.2.1.git505.orig/src/x86/ffi.c
+++ libffi-3.2.1.git505/src/x86/ffi.c
@@ -51,6 +51,13 @@
 # define __declspec(x)  __attribute__((x))
 #endif
 
+#if defined(_MSC_VER) && defined(_M_IX86)
+/* Stack is not 16-byte aligned on Windows.  */
+#define STACK_ALIGN(bytes) (bytes)
+#else
+#define STACK_ALIGN(bytes) FFI_ALIGN (bytes, 16)
+#endif
+
 /* Perform machine dependent cif processing.  */
 ffi_status FFI_HIDDEN
 ffi_prep_cif_machdep(ffi_cif *cif)
@@ -177,12 +184,7 @@ ffi_prep_cif_machdep(ffi_cif *cif)
       bytes = FFI_ALIGN (bytes, t->alignment);
       bytes += FFI_ALIGN (t->size, FFI_SIZEOF_ARG);
     }
-#if defined(_MSC_VER) && defined(_M_IX86)
-  // stack is not 16-bit aligned on Windows
   cif->bytes = bytes;
-#else
-  cif->bytes = FFI_ALIGN (bytes, 16);
-#endif
 
   return FFI_OK;
 }
@@ -290,7 +292,7 @@ ffi_call_int (ffi_cif *cif, void (*fn)(v
        }
     }
 
-  bytes = cif->bytes;
+  bytes = STACK_ALIGN (cif->bytes);
   stack = alloca(bytes + sizeof(*frame) + rsize);
   argp = (dir < 0 ? stack + bytes : stack);
   frame = (struct call_frame *)(stack + bytes);
@@ -434,7 +436,7 @@ ffi_closure_inner (struct closure_frame
   rvalue = frame->rettemp;
   pabi = &abi_params[cabi];
   dir = pabi->dir;
-  argp = (dir < 0 ? stack + cif->bytes : stack);
+  argp = (dir < 0 ? stack + STACK_ALIGN (cif->bytes) : stack);
 
   switch (flags)
     {
@@ -698,7 +700,7 @@ ffi_raw_call(ffi_cif *cif, void (*fn)(vo
        }
     }
 
-  bytes = cif->bytes;
+  bytes = STACK_ALIGN (cif->bytes);
   argp = stack =
       (void *)((uintptr_t)alloca(bytes + sizeof(*frame) + rsize + 15) & ~16);
   frame = (struct call_frame *)(stack + bytes);

Reply via email to