From e4f9ef547fa342102db15188544daa18e71e9c66 Mon Sep 17 00:00:00 2001 From: Scott Murray 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 --- 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 4403c0aa52..e7e4ae112d 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 #include #include #include @@ -10,6 +9,7 @@ #include #include "time-util.h" +#include "cpu-set-util.h" /* Print information about various types. Useful when diagnosing * gcc diagnostics on an unfamiliar architecture. */