From 3f1eafaa04f1c04ae5c7aae3e452eb75c507584d Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Tue, 6 May 2025 09:13:34 +0200 Subject: [PATCH] [OpenMP] Provide __NR_sched_[gs]etaffinity on Linux/sparc64 (#138525) `libomp` doesn't currently build on Linux/sparc64 due to lack of `__NR_sched_setaffinity` and `__NR_sched_getaffinity` definitions. This patch provides those. Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`, `amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`. --- openmp/runtime/src/kmp_affinity.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/openmp/runtime/src/kmp_affinity.h b/openmp/runtime/src/kmp_affinity.h index 9ab2c0cc70d8..dc3191caae63 100644 --- a/openmp/runtime/src/kmp_affinity.h +++ b/openmp/runtime/src/kmp_affinity.h @@ -311,6 +311,17 @@ public: #elif __NR_sched_getaffinity != 240 #error Wrong code for getaffinity system call. #endif /* __NR_sched_getaffinity */ +#elif KMP_ARCH_SPARC +#ifndef __NR_sched_setaffinity +#define __NR_sched_setaffinity 261 +#elif __NR_sched_setaffinity != 261 +#error Wrong code for setaffinity system call. +#endif /* __NR_sched_setaffinity */ +#ifndef __NR_sched_getaffinity +#define __NR_sched_getaffinity 260 +#elif __NR_sched_getaffinity != 260 +#error Wrong code for getaffinity system call. +#endif /* __NR_sched_getaffinity */ #else #error Unknown or unsupported architecture #endif /* KMP_ARCH_* */