From 37eafb5a80635f375ff4f28d0df802ab66639afe Mon Sep 17 00:00:00 2001 From: Cy Schubert Date: Sat, 27 Nov 2021 17:52:24 -0800 Subject: lang/mono: Fix build on current with _WITH_CPU_SET_T mono-proclib.c:776:3: error: unknown type name 'cpu_set_t'; did you mean 'cpuset_t'? cpu_set_t set; ^~~~~~~~~ cpuset_t /usr/include/sys/_cpuset.h:50:24: note: 'cpuset_t' declared here typedef struct _cpuset cpuset_t; ^ mono-proclib.c:777:7: error: implicit declaration of function 'sched_getaffinity' is invalid in C99 [-Werror,-Wimplicit-function-declaration] if (sched_getaffinity (mono_process_current_pid (), sizeof (set), &set) == 0) ^ mono-proclib.c:778:11: error: implicit declaration of function 'CPU_COUNT' is invalid in C99 [-Werror,-Wimplicit-function-declaration] return CPU_COUNT (&set); ^ 3 errors generated. (cherry picked from commit 83c19a7238e9f5f46a9186e3ce58d03585691e5d) --- lang/mono/files/patch-mono_mini_driver.c | 21 +++++++++++++++++++++ lang/mono/files/patch-mono_utils_mono-proclib.c | 10 ++++++++++ 2 files changed, 31 insertions(+) create mode 100644 lang/mono/files/patch-mono_mini_driver.c create mode 100644 lang/mono/files/patch-mono_utils_mono-proclib.c diff --git a/lang/mono/files/patch-mono_mini_driver.c b/lang/mono/files/patch-mono_mini_driver.c new file mode 100644 index 000000000000..b3601c0d082f --- /dev/null +++ b/lang/mono/files/patch-mono_mini_driver.c @@ -0,0 +1,21 @@ +--- mono/mini/driver.c.orig 2018-08-24 08:17:13.000000000 -0700 ++++ mono/mini/driver.c 2021-11-27 20:03:33.006998000 -0800 +@@ -16,6 +16,8 @@ + #include + #endif + #if HAVE_SCHED_SETAFFINITY ++#include ++#define _WITH_CPU_SET_T + #include + #endif + #ifdef HAVE_UNISTD_H +@@ -1652,6 +1654,9 @@ + #if HAVE_SCHED_SETAFFINITY + if (!use_smp) { + unsigned long proc_mask = 1; ++#if defined(__FreeBSD_version) && __FreeBSD_version >= 1400042 ++#undef GLIBC_BEFORE_2_3_4_SCHED_SETAFFINITY ++#endif + #ifdef GLIBC_BEFORE_2_3_4_SCHED_SETAFFINITY + sched_setaffinity (getpid(), (gpointer)&proc_mask); + #else diff --git a/lang/mono/files/patch-mono_utils_mono-proclib.c b/lang/mono/files/patch-mono_utils_mono-proclib.c new file mode 100644 index 000000000000..94221193c985 --- /dev/null +++ b/lang/mono/files/patch-mono_utils_mono-proclib.c @@ -0,0 +1,10 @@ +--- mono/utils/mono-proclib.c.orig 2018-08-24 08:17:13.000000000 -0700 ++++ mono/utils/mono-proclib.c 2021-11-27 14:55:20.354869000 -0800 +@@ -17,6 +17,7 @@ + #include + #endif + #ifdef HAVE_SCHED_GETAFFINITY ++#define _WITH_CPU_SET_T + #include + #endif + -- cgit v1.2.3