diff --git a/8cc8f446f5aac13e107161dffbc15d1ee1a58878.patch b/8cc8f446f5aac13e107161dffbc15d1ee1a58878.patch new file mode 100644 index 0000000000000000000000000000000000000000..80944d32ce3853d75575b254c33ce84d9a7e7d6b --- /dev/null +++ b/8cc8f446f5aac13e107161dffbc15d1ee1a58878.patch @@ -0,0 +1,15 @@ +diff --git a/src/x86/sysv.S b/src/x86/sysv.S +index 6d564833..d8ab4b02 100644 +--- a/src/x86/sysv.S ++++ b/src/x86/sysv.S +@@ -56,8 +56,8 @@ + + /* Handle win32 fastcall name mangling. */ + #ifdef X86_WIN32 +-# define ffi_call_i386 @ffi_call_i386@8 +-# define ffi_closure_inner @ffi_closure_inner@8 ++# define ffi_call_i386 "@ffi_call_i386@8" ++# define ffi_closure_inner "@ffi_closure_inner@8" + #else + # define ffi_call_i386 C(ffi_call_i386) + # define ffi_closure_inner C(ffi_closure_inner) diff --git a/d817d0daa312c58548d7a081aa876027ca103766.patch b/d817d0daa312c58548d7a081aa876027ca103766.patch new file mode 100644 index 0000000000000000000000000000000000000000..0c8690d5b529d20c33f09e582728d60915939308 --- /dev/null +++ b/d817d0daa312c58548d7a081aa876027ca103766.patch @@ -0,0 +1,46 @@ +diff --git a/src/x86/win64.S b/src/x86/win64.S +index 57c0e656..8315e8b7 100644 +--- a/src/x86/win64.S ++++ b/src/x86/win64.S +@@ -30,7 +30,7 @@ + #if defined(__clang__) || defined(__APPLE__) || (defined (__sun__) && defined(__svr4__)) + # define E(BASE, X) .balign 8 + #else +-# define E(BASE, X) .balign 8; .org BASE + X * 8 ++# define E(BASE, X) .balign 8; .org BASE + (X) * 8 + #endif + + .text +@@ -108,7 +108,8 @@ E(0b, FFI_TYPE_FLOAT) + E(0b, FFI_TYPE_DOUBLE) + movsd %xmm0, (%r8) + epilogue +-E(0b, FFI_TYPE_LONGDOUBLE) ++// FFI_TYPE_LONGDOUBLE may be FFI_TYPE_DOUBLE but we need a different value here. ++E(0b, FFI_TYPE_DOUBLE + 1) + call PLT(C(abort)) + E(0b, FFI_TYPE_UINT8) + movzbl %al, %eax +diff --git a/src/x86/win64_intel.S b/src/x86/win64_intel.S +index 7df78b30..970a4f99 100644 +--- a/src/x86/win64_intel.S ++++ b/src/x86/win64_intel.S +@@ -29,7 +29,7 @@ + #if defined(__clang__) || defined(__APPLE__) || (defined (__sun__) && defined(__svr4__)) + # define E(BASE, X) ALIGN 8 + #else +-# define E(BASE, X) ALIGN 8; ORG BASE + X * 8 ++# define E(BASE, X) ALIGN 8; ORG BASE + (X) * 8 + #endif + + .CODE +@@ -107,7 +107,8 @@ E(0b, FFI_TYPE_FLOAT) + E(0b, FFI_TYPE_DOUBLE) + movsd qword ptr[r8], xmm0; movsd %xmm0, (%r8) + epilogue +-E(0b, FFI_TYPE_LONGDOUBLE) ++// FFI_TYPE_LONGDOUBLE may be FFI_TYPE_DOUBLE but we need a different value here. ++E(0b, FFI_TYPE_DOUBLE + 1) + call PLT(C(abort)) + E(0b, FFI_TYPE_UINT8) + movzx eax, al ;movzbl %al, %eax diff --git a/libffi.spec b/libffi.spec index cdb35df6fdf7f437260ac982c06f76b9d59e2b23..37524abd8576976812c260c52918cf68145df0b9 100644 --- a/libffi.spec +++ b/libffi.spec @@ -1,10 +1,12 @@ Name: libffi Version: 3.3 -Release: 9 +Release: 10 Summary: A Portable Foreign Function Interface Library License: MIT URL: http://sourceware.org/libffi Source0: ftp://sourceware.org/pub/libffi/%{name}-%{version}.tar.gz +Patch6000: d817d0daa312c58548d7a081aa876027ca103766.patch +Patch6001: 8cc8f446f5aac13e107161dffbc15d1ee1a58878.patch BuildRequires: gcc gdb @@ -91,6 +93,9 @@ fi %{_infodir}/libffi.info.gz %changelog +* 20201110203007631098 patch-tracking 3.3-10 +- append patch file of upstream repository from to <8cc8f446f5aac13e107161dffbc15d1ee1a58878> + * Thu Jul 23 2020 Zhipeng Xie - 3.3-9 - Type:bugfix - ID:NA @@ -152,4 +157,4 @@ fi - DESC:update to 3.2.1 * Mon Sep 09 2019 openEuler Buildteam - 3.1-19 -- Package init +- Package init \ No newline at end of file