diff options
| -rw-r--r-- | meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Check-if-memfd_create-is-already-defined.patch | 62 | ||||
| -rw-r--r-- | meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb | 3 |
2 files changed, 64 insertions, 1 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Check-if-memfd_create-is-already-defined.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Check-if-memfd_create-is-already-defined.patch new file mode 100644 index 0000000000..a02f7d505c --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Check-if-memfd_create-is-already-defined.patch | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | From 185b3c0cdd564901133e530ddd30853f65151622 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sat, 27 Jan 2018 13:14:03 -0800 | ||
| 4 | Subject: [PATCH] build-sys: Check if memfd_create is already defined | ||
| 5 | |||
| 6 | glibc 2.27+ has introduced this function | ||
| 7 | |||
| 8 | BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104815 | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | Upstream-Status: Submitted | ||
| 12 | |||
| 13 | configure.ac | 7 +++++++ | ||
| 14 | src/pulsecore/memfd-wrappers.h | 4 ++-- | ||
| 15 | 2 files changed, 9 insertions(+), 2 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/configure.ac b/configure.ac | ||
| 18 | index 77b5ff5..aa97944 100644 | ||
| 19 | --- a/configure.ac | ||
| 20 | +++ b/configure.ac | ||
| 21 | @@ -603,6 +603,10 @@ AS_IF([test "x$enable_memfd" != "xno"], | ||
| 22 | AC_CHECK_DECL(SYS_memfd_create, [HAVE_MEMFD=1], [HAVE_MEMFD=0], [#include <sys/syscall.h>]), | ||
| 23 | [HAVE_MEMFD=0]) | ||
| 24 | |||
| 25 | +AS_IF([test "x$enable_memfd" != "xno"], | ||
| 26 | + AC_CHECK_FUNC(memfd_create, [HAVE_MEMFD_CREATE=1], [HAVE_MEMFD_CREATE=0], [#include <sys/mman.h>]), | ||
| 27 | + [HAVE_MEMFD_CREATE=0]) | ||
| 28 | + | ||
| 29 | AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"], | ||
| 30 | [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory. | ||
| 31 | *** Use linux v3.17 or higher for such a feature.])]) | ||
| 32 | @@ -610,6 +614,9 @@ AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"], | ||
| 33 | AC_SUBST(HAVE_MEMFD) | ||
| 34 | AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1]) | ||
| 35 | AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.])) | ||
| 36 | +AC_SUBST(HAVE_MEMFD_CREATE) | ||
| 37 | +AM_CONDITIONAL([HAVE_MEMFD_CREATE], [test "x$HAVE_MEMFD_CREATE" = x1]) | ||
| 38 | +AS_IF([test "x$HAVE_MEMFD_CREATE" = "x1"], AC_DEFINE([HAVE_MEMFD_CREATE], 1, [Define to 1 if you have the `memfd_create` function.])) | ||
| 39 | |||
| 40 | #### X11 (optional) #### | ||
| 41 | |||
| 42 | diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h | ||
| 43 | index 3bed9b2..87ed758 100644 | ||
| 44 | --- a/src/pulsecore/memfd-wrappers.h | ||
| 45 | +++ b/src/pulsecore/memfd-wrappers.h | ||
| 46 | @@ -32,11 +32,11 @@ | ||
| 47 | * defined in the kernel header file <linux/fcntl.h>, that file as | ||
| 48 | * a whole conflicts with the original glibc header <fnctl.h>. | ||
| 49 | */ | ||
| 50 | - | ||
| 51 | +#ifndef HAVE_MEMFD_CREATE | ||
| 52 | static inline int memfd_create(const char *name, unsigned int flags) { | ||
| 53 | return syscall(SYS_memfd_create, name, flags); | ||
| 54 | } | ||
| 55 | - | ||
| 56 | +#endif | ||
| 57 | /* memfd_create(2) flags */ | ||
| 58 | |||
| 59 | #ifndef MFD_CLOEXEC | ||
| 60 | -- | ||
| 61 | 2.16.1 | ||
| 62 | |||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb index a50b5a08ae..94278eb34e 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb | |||
| @@ -4,7 +4,8 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ | |||
| 4 | file://0001-padsp-Make-it-compile-on-musl.patch \ | 4 | file://0001-padsp-Make-it-compile-on-musl.patch \ |
| 5 | file://0001-client-conf-Add-allow-autospawn-for-root.patch \ | 5 | file://0001-client-conf-Add-allow-autospawn-for-root.patch \ |
| 6 | file://volatiles.04_pulse \ | 6 | file://volatiles.04_pulse \ |
| 7 | " | 7 | file://0001-build-sys-Check-if-memfd_create-is-already-defined.patch \ |
| 8 | " | ||
| 8 | SRC_URI[md5sum] = "390de38231d5cdd6b43ada8939eb74f1" | 9 | SRC_URI[md5sum] = "390de38231d5cdd6b43ada8939eb74f1" |
| 9 | SRC_URI[sha256sum] = "f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e" | 10 | SRC_URI[sha256sum] = "f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e" |
| 10 | 11 | ||
