summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch')
-rw-r--r--meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch b/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
new file mode 100644
index 0000000000..0f75e8c12d
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
@@ -0,0 +1,54 @@
1Handle __cpu_mask usage
2
3Fixes errors:
4
5src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function)
6src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function)
7
8__cpu_mask is an internal type of glibc's cpu_set implementation, not
9part of the POSIX definition, which is problematic when building with
10musl, which does not define a matching type. From inspection of musl's
11sched.h, however, it is clear that the corresponding type would be
12unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So,
13add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
14
15Upstream-Status: Inappropriate [musl specific]
16
17Signed-off-by: Scott Murray <scott.murray@konsulko.com>
18---
19 src/shared/cpu-set-util.h | 2 ++
20 src/test/test-sizeof.c | 2 +-
21 2 files changed, 3 insertions(+), 1 deletion(-)
22
23diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
24index 27812dfd59..f698f9df83 100644
25--- a/src/shared/cpu-set-util.h
26+++ b/src/shared/cpu-set-util.h
27@@ -6,6 +6,8 @@
28 #include "macro.h"
29 #include "missing_syscall.h"
30
31+typedef unsigned long __cpu_mask;
32+
33 /* This wraps the libc interface with a variable to keep the allocated size. */
34 typedef struct CPUSet {
35 cpu_set_t *set;
36diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
37index a710db5370..d1601ad929 100644
38--- a/src/test/test-sizeof.c
39+++ b/src/test/test-sizeof.c
40@@ -1,6 +1,5 @@
41 /* SPDX-License-Identifier: LGPL-2.1+ */
42
43-#include <sched.h>
44 #include <stdio.h>
45 #include <string.h>
46
47@@ -8,6 +7,7 @@
48 #include <float.h>
49
50 #include "time-util.h"
51+#include "cpu-set-util.h"
52
53 /* Print information about various types. Useful when diagnosing
54 * gcc diagnostics on an unfamiliar architecture. */