From 4eae5b39eee45ee9ec58634764a9d2376872d5c8 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Tue, 28 Nov 2017 23:16:58 -0800 Subject: [PATCH] anv: Check if memfd_create is already defined. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103909 Signed-off-by: Vinson Lee Reviewed-by: Eric Engestrom (cherry picked from commit 8c1e4b1afc8d396ccf99c725c59b29a9aa305557) [Emil Velikov: drop NA hunks] Signed-off-by: Emil Velikov Conflicts: configure.ac meson.build src/intel/vulkan/anv_allocator.c --- configure.ac | 1 + src/intel/vulkan/anv_allocator.c | 2 ++ src/intel/vulkan/anv_gem_stubs.c | 2 ++ 3 files changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac index 036dfb925bf..a02173f2442 100644 --- a/configure.ac +++ b/configure.ac @@ -793,6 +793,7 @@ AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"]) AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"]) AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"]) AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"]) +AC_CHECK_FUNC([memfd_create], [DEFINES="$DEFINES -DHAVE_MEMFD_CREATE"]) AC_MSG_CHECKING([whether strtod has locale support]) AC_LINK_IFELSE([AC_LANG_SOURCE([[ diff --git a/src/intel/vulkan/anv_allocator.c b/src/intel/vulkan/anv_allocator.c index 27eedb53aa7..4b246958b75 100644 --- a/src/intel/vulkan/anv_allocator.c +++ b/src/intel/vulkan/anv_allocator.c @@ -131,11 +131,13 @@ futex_wait(uint32_t *addr, int32_t value) return sys_futex(addr, FUTEX_WAIT, value, NULL, NULL, 0); } +#ifndef HAVE_MEMFD_CREATE static inline int memfd_create(const char *name, unsigned int flags) { return syscall(SYS_memfd_create, name, flags); } +#endif static inline uint32_t ilog2_round_up(uint32_t value) diff --git a/src/intel/vulkan/anv_gem_stubs.c b/src/intel/vulkan/anv_gem_stubs.c index 02527b5fcd8..26eb5c8a610 100644 --- a/src/intel/vulkan/anv_gem_stubs.c +++ b/src/intel/vulkan/anv_gem_stubs.c @@ -27,11 +27,13 @@ #include "anv_private.h" +#ifndef HAVE_MEMFD_CREATE static inline int memfd_create(const char *name, unsigned int flags) { return syscall(SYS_memfd_create, name, flags); } +#endif uint32_t anv_gem_create(struct anv_device *device, uint64_t size)