diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-01-27 13:27:13 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-30 11:50:11 +0000 |
commit | c58d9a98d40a7f3ed01ef4589f128917948e74d4 (patch) | |
tree | 66e9ee7b55e03e0449bdcc4d1b5e0368b8357080 | |
parent | 4b4ca19f6d030c509be79d7e62352957cd360610 (diff) | |
download | poky-c58d9a98d40a7f3ed01ef4589f128917948e74d4.tar.gz |
pulseaudio: Fix build with glibc 2.27
memfd_create is now available in glibc
(From OE-Core rev: 8f893588ff42db711763d0a8977b733df8389774)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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 | ||