1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- From 8871f78c559f37169c0cfaf20b0af1dbec0399af 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 3c63a58826..4c2d4347fc 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 602772227e..7f1ed19d77 100644
- --- a/src/test/test-sizeof.c
- +++ b/src/test/test-sizeof.c
- @@ -1,6 +1,5 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
-
- -#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. */
|