| From dbe8b3ee45580defeefcac929b897c5437ffc50b Mon Sep 17 00:00:00 2001 |
| From: Scott Murray <scott.murray@konsulko.com> |
| Date: Fri, 13 Sep 2019 19:26:27 -0400 |
| Subject: [PATCH] Handle __cpu_mask usage |
| |
| Fixes errors: |
| |
| src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function) |
| src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function) |
| |
| __cpu_mask is an internal type of glibc's cpu_set implementation, not |
| part of the POSIX definition, which is problematic when building with |
| musl, which does not define a matching type. From inspection of musl's |
| sched.h, however, it is clear that the corresponding type would be |
| unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So, |
| add a typedef to cpu-set-util.h defining __cpu_mask appropriately. |
| |
| Upstream-Status: Inappropriate [musl specific] |
| |
| Signed-off-by: Scott Murray <scott.murray@konsulko.com> |
| |
| --- |
| src/shared/cpu-set-util.h | 2 ++ |
| src/test/test-sizeof.c | 2 +- |
| 2 files changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h |
| index 27812dfd5923..0ab40731ea93 100644 |
| --- a/src/shared/cpu-set-util.h |
| +++ b/src/shared/cpu-set-util.h |
| @@ -6,6 +6,8 @@ |
| #include "macro.h" |
| #include "missing_syscall.h" |
| |
| +typedef unsigned long __cpu_mask; |
| + |
| /* This wraps the libc interface with a variable to keep the allocated size. */ |
| typedef struct CPUSet { |
| cpu_set_t *set; |
| diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c |
| index c65062d2562c..8b6eefa9cdae 100644 |
| --- a/src/test/test-sizeof.c |
| +++ b/src/test/test-sizeof.c |
| @@ -1,6 +1,5 @@ |
| /* SPDX-License-Identifier: LGPL-2.1+ */ |
| |
| -#include <sched.h> |
| #include <stdio.h> |
| #include <string.h> |
| #include <sys/types.h> |
| @@ -10,6 +9,7 @@ |
| #include <float.h> |
| |
| #include "time-util.h" |
| +#include "cpu-set-util.h" |
| |
| /* Print information about various types. Useful when diagnosing |
| * gcc diagnostics on an unfamiliar architecture. */ |