diff --git a/5c63b463b87d3c06102a4a7f05f395929d9ea79b.patch b/5c63b463b87d3c06102a4a7f05f395929d9ea79b.patch new file mode 100644 index 0000000000000000000000000000000000000000..4573c18c44da13f39d0ac345fc5e759db326536c --- /dev/null +++ b/5c63b463b87d3c06102a4a7f05f395929d9ea79b.patch @@ -0,0 +1,56 @@ +diff --git a/configure.ac b/configure.ac +index 790274ea..093b87d4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -63,6 +63,9 @@ EOF + + AM_MAINTAINER_MODE + ++AC_CHECK_HEADERS(sys/memfd.h) ++AC_CHECK_FUNCS([memfd_create]) ++ + AC_CHECK_HEADERS(sys/mman.h) + AC_CHECK_FUNCS([mmap mkostemp]) + AC_FUNC_MMAP_BLACKLIST +diff --git a/src/closures.c b/src/closures.c +index 4fe6158d..dfc2f68b 100644 +--- a/src/closures.c ++++ b/src/closures.c +@@ -45,6 +45,9 @@ + + #include + #include ++#ifdef HAVE_SYS_MEMFD_H ++#include ++#endif + + static const size_t overhead = + (sizeof(max_align_t) > sizeof(void *) + sizeof(size_t)) ? +@@ -544,6 +547,17 @@ static int execfd = -1; + /* The amount of space already allocated from the temporary file. */ + static size_t execsize = 0; + ++#ifdef HAVE_MEMFD_CREATE ++/* Open a temporary file name, and immediately unlink it. */ ++static int ++open_temp_exec_file_memfd (const char *name) ++{ ++ int fd; ++ fd = memfd_create (name, MFD_CLOEXEC); ++ return fd; ++} ++#endif ++ + /* Open a temporary file name, and immediately unlink it. */ + static int + open_temp_exec_file_name (char *name, int flags) +@@ -671,6 +685,9 @@ static struct + const char *arg; + int repeat; + } open_temp_exec_file_opts[] = { ++#ifdef HAVE_MEMFD_CREATE ++ { open_temp_exec_file_memfd, "libffi", 0 }, ++#endif + { open_temp_exec_file_env, "TMPDIR", 0 }, + { open_temp_exec_file_dir, "/tmp", 0 }, + { open_temp_exec_file_dir, "/var/tmp", 0 }, diff --git a/libffi.spec b/libffi.spec index cdb35df6fdf7f437260ac982c06f76b9d59e2b23..0b0f1945147edf5379215b5f72a0d4871be18d38 100644 --- a/libffi.spec +++ b/libffi.spec @@ -1,10 +1,11 @@ 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: 5c63b463b87d3c06102a4a7f05f395929d9ea79b.patch BuildRequires: gcc gdb @@ -91,6 +92,9 @@ fi %{_infodir}/libffi.info.gz %changelog +* 20201203055849746513 patch-tracking 3.3-10 +- append patch file of upstream repository from <5c63b463b87d3c06102a4a7f05f395929d9ea79b> to <5c63b463b87d3c06102a4a7f05f395929d9ea79b> + * Thu Jul 23 2020 Zhipeng Xie - 3.3-9 - Type:bugfix - ID:NA @@ -152,4 +156,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