diff options
Diffstat (limited to 'meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch')
-rw-r--r-- | meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch b/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch new file mode 100644 index 0000000000..3e87794d20 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From 5827f6389a227157958d14a687fb29223cb3a03a Mon Sep 17 00:00:00 2001 | ||
2 | From: Mingli Yu <mingli.yu@windriver.com> | ||
3 | Date: Wed, 7 Apr 2021 07:48:42 +0000 | ||
4 | Subject: [PATCH] xshmfence_futex.h: Define SYS_futex if it does not exist | ||
5 | |||
6 | _NR_futex is not defines by newer architectures e.g. riscv32 as | ||
7 | they only have 64bit variant of time_t. Glibc defines SYS_futex | ||
8 | interface based on __NR_futex, since this is used in applications, | ||
9 | such applications start to fail to build for these newer architectures. | ||
10 | This patch defines a fallback to alias __NR_futex to __NR_futex_time64 | ||
11 | to make SYS_futex keep working. | ||
12 | |||
13 | Reference: https://git.openembedded.org/openembedded-core/commit/?id=7a218adf9990f5e18d0b6a33eb34091969f979c7 | ||
14 | |||
15 | Upstream-Status: Pending | ||
16 | |||
17 | Signed-off-by: Mingli Yu <mingli.yu@windriver.com> | ||
18 | --- | ||
19 | src/xshmfence_futex.h | 4 ++++ | ||
20 | 1 file changed, 4 insertions(+) | ||
21 | |||
22 | diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h | ||
23 | index 673ac0e..a71efa5 100644 | ||
24 | --- a/src/xshmfence_futex.h | ||
25 | +++ b/src/xshmfence_futex.h | ||
26 | @@ -53,6 +53,10 @@ static inline int futex_wait(int32_t *addr, int32_t value) { | ||
27 | #include <sys/time.h> | ||
28 | #include <sys/syscall.h> | ||
29 | |||
30 | +#if !defined(SYS_futex) && defined(SYS_futex_time64) | ||
31 | +#define SYS_futex SYS_futex_time64 | ||
32 | +#endif | ||
33 | + | ||
34 | static inline long sys_futex(void *addr1, int op, int val1, struct timespec *timeout, void *addr2, int val3) | ||
35 | { | ||
36 | return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); | ||
37 | -- | ||
38 | 2.29.2 | ||
39 | |||