update code

This commit is contained in:
zhuchunyi 2019-11-06 19:38:19 +08:00
parent a2aa1fabca
commit b6f9a77f1d
8 changed files with 10 additions and 172 deletions

View File

@ -1,43 +0,0 @@
From 0f4e09d27dc175ce3e95d070b794351663c7220e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?=
<ole.andre.ravnas@tillitech.com>
Date: Sat, 26 Jul 2014 00:11:06 +0200
Subject: [PATCH 012/415] Fix non-variadic CIF initialization for Apple/ARM64
Turns out `aarch64_nfixedargs` wasn't initialized in the non-variadic
case, resulting in undefined behavior when allocating arguments.
---
src/aarch64/ffi.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/aarch64/ffi.c b/src/aarch64/ffi.c
index b807a2d..05f1a13 100644
--- a/src/aarch64/ffi.c
+++ b/src/aarch64/ffi.c
@@ -779,6 +779,8 @@ ffi_prep_cif_machdep (ffi_cif *cif)
}
}
+ cif->aarch64_nfixedargs = 0;
+
return FFI_OK;
}
@@ -789,9 +791,13 @@ ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif,
unsigned int nfixedargs,
unsigned int ntotalargs)
{
+ ffi_status status;
+
+ status = ffi_prep_cif_machdep (cif);
+
cif->aarch64_nfixedargs = nfixedargs;
- return ffi_prep_cif_machdep(cif);
+ return status;
}
#endif
--
2.7.4.huawei.3

View File

@ -1,27 +0,0 @@
From aebf2c3023b5ff056a708dc34169f7b549b2ec4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?=
<ole.andre.ravnas@tillitech.com>
Date: Fri, 25 Jul 2014 21:40:50 +0200
Subject: [PATCH 013/415] Fix alignment of FFI_TYPE_FLOAT for Apple's ARM64 ABI
---
src/aarch64/ffi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/aarch64/ffi.c b/src/aarch64/ffi.c
index b807a2d..10e95db 100644
--- a/src/aarch64/ffi.c
+++ b/src/aarch64/ffi.c
@@ -146,6 +146,9 @@ get_basic_type_alignment (unsigned short type)
switch (type)
{
case FFI_TYPE_FLOAT:
+#if defined (__APPLE__)
+ return sizeof (UINT32);
+#endif
case FFI_TYPE_DOUBLE:
return sizeof (UINT64);
#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
--
2.7.4.huawei.3

View File

@ -1,36 +0,0 @@
From aaf3101ba81af8f488502881648e3f687721671e Mon Sep 17 00:00:00 2001
From: Matthias Klose <doko@ubuntu.com>
Date: Sat, 20 Sep 2014 06:37:04 -0400
Subject: [PATCH 020/411] Fix -Werror=declaration-after-statement problem
---
src/arm/ffi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/arm/ffi.c b/src/arm/ffi.c
index 7cd9289..6691ab5 100644
--- a/src/arm/ffi.c
+++ b/src/arm/ffi.c
@@ -154,9 +154,6 @@ int ffi_prep_args_SYSV(char *stack, extended_cif *ecif, float *vfp_space)
int ffi_prep_args_VFP(char *stack, extended_cif *ecif, float *vfp_space)
{
- // make sure we are using FFI_VFP
- FFI_ASSERT(ecif->cif->abi == FFI_VFP);
-
register unsigned int i, vi = 0;
register void **p_argv;
register char *argp, *regp, *eo_regp;
@@ -165,6 +162,9 @@ int ffi_prep_args_VFP(char *stack, extended_cif *ecif, float *vfp_space)
char done_with_regs = 0;
char is_vfp_type;
+ // make sure we are using FFI_VFP
+ FFI_ASSERT(ecif->cif->abi == FFI_VFP);
+
/* the first 4 words on the stack are used for values passed in core
* registers. */
regp = stack;
--
1.8.3.1

View File

@ -1,26 +0,0 @@
From 18b74ce54afab45fcf2a7d4eb86bb2ce9db8cec8 Mon Sep 17 00:00:00 2001
From: Richard Henderson <rth@redhat.com>
Date: Tue, 21 Oct 2014 13:00:34 -0400
Subject: [PATCH 052/415] aarch64: Fix non-apple compilation
---
src/aarch64/ffi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/aarch64/ffi.c b/src/aarch64/ffi.c
index 5369ea4..cdb7816 100644
--- a/src/aarch64/ffi.c
+++ b/src/aarch64/ffi.c
@@ -782,7 +782,9 @@ ffi_prep_cif_machdep (ffi_cif *cif)
}
}
+#if defined (__APPLE__)
cif->aarch64_nfixedargs = 0;
+#endif
return FFI_OK;
}
--
2.7.4.huawei.3

View File

@ -1,31 +0,0 @@
From 978c9540154d320525488db1b7049277122f736d Mon Sep 17 00:00:00 2001
From: Samuli Suominen <ssuominen@gentoo.org>
Date: Sat, 31 May 2014 08:53:10 -0400
Subject: [PATCH] Add missing GNU stack markings in win32.S
---
src/x86/win32.S | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/x86/win32.S b/src/x86/win32.S
index daf0e79..e42baf2 100644
--- a/src/x86/win32.S
+++ b/src/x86/win32.S
@@ -1,5 +1,6 @@
/* -----------------------------------------------------------------------
- win32.S - Copyright (c) 1996, 1998, 2001, 2002, 2009 Red Hat, Inc.
+ win32.S - Copyright (c) 2014 Anthony Green
+ Copyright (c) 1996, 1998, 2001, 2002, 2009 Red Hat, Inc.
Copyright (c) 2001 John Beniton
Copyright (c) 2002 Ranjit Mathew
Copyright (c) 2009 Daniel Witte
@@ -1304,3 +1305,6 @@ L_ffi_closure_SYSV_inner$stub:
#endif /* !_MSC_VER */
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--
1.9.3

Binary file not shown.

BIN
libffi-3.2.1.tar.gz Normal file

Binary file not shown.

View File

@ -1,8 +1,8 @@
%global target_arch %{ix86} x86_64
Name: libffi
Version: 3.1
Release: 19
Version: 3.2.1
Release: 1
Summary: A Portable Foreign Function Interface Library
License: MIT
URL: http://sourceware.org/libffi
@ -11,14 +11,9 @@ Source0: ftp://sourceware.org/pub/libffi/%{name}-%{version}.tar.gz
Source1: ffi-multilib.h
Source2: ffitarget-multilib.h
Patch0: libffi-3.1-fix-include-path.patch
Patch1: libffi-3.1-fix-exec-stack.patch
Patch2: libffi-aarch64-rhbz1174037.patch
Patch3: libffi-3.1-aarch64-fix-exec-stack.patch
Patch1: libffi-aarch64-rhbz1174037.patch
Patch2: libffi-3.1-aarch64-fix-exec-stack.patch
Patch6000:0012-Fix-non-variadic-CIF-initialization-for-Apple-ARM64.patch
Patch6001:0013-Fix-alignment-of-FFI_TYPE_FLOAT-for-Apple-s-ARM64-AB.patch
Patch6002:0020-Fix-Werror-declaration-after-statement-problem.patch
Patch6003:0052-aarch64-Fix-non-apple-compilation.patch
Patch6004:0053-aarch64-Improve-is_hfa.patch
Patch6005:0054-aarch64-Always-distinguish-LONGDOUBLE.patch
Patch6006:0055-aarch64-Simplify-AARCH64_STACK_ALIGN.patch
@ -130,5 +125,11 @@ fi
%{_infodir}/libffi.info.gz
%changelog
* Fri Oct 11 2019 hanzhijun<hanzhijun1@huawei.com> - 3.2.1-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to 3.2.1
* Mon Sep 09 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.1-19
- Package init