* [PATCH] selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check
@ 2026-06-18 19:37 Hisam Mehboob
2026-07-02 22:19 ` [tip: locking/futex] " tip-bot2 for Hisam Mehboob
0 siblings, 1 reply; 2+ messages in thread
From: Hisam Mehboob @ 2026-06-18 19:37 UTC (permalink / raw)
To: Mathieu Desnoyers, Peter Zijlstra, Shuah Khan
Cc: Paul E . McKenney, Boqun Feng, linux-kernel, linux-kselftest,
Hisam Mehboob
Building the rseq selftests against musl libc fails because musl's
<features.h> does not provide the glibc-specific __GNUC_PREREQ macro:
error: missing binary operator before token '('
Replace __GNUC_PREREQ(11, 1) with an equivalent check using __GNUC__
and __GNUC_MINOR__ directly. This pattern is portable across all C
library implementations and is already used elsewhere in the tools/
tree (e.g., tools/include/linux/string.h).
This also allows removing the #include <features.h>, which was only
needed for __GNUC_PREREQ.
Fixes: 886ddfba933f ("selftests/rseq: Introduce thread pointer getters")
Signed-off-by: Hisam Mehboob <hisamshar@gmail.com>
---
tools/testing/selftests/rseq/rseq-x86-thread-pointer.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h b/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h
index d3133587d996..5a29d6bec51f 100644
--- a/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h
+++ b/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h
@@ -8,13 +8,11 @@
#ifndef _RSEQ_X86_THREAD_POINTER
#define _RSEQ_X86_THREAD_POINTER
-#include <features.h>
-
#ifdef __cplusplus
extern "C" {
#endif
-#if __GNUC_PREREQ (11, 1)
+#if __GNUC__ > 11 || (__GNUC__ == 11 && __GNUC_MINOR__ >= 1)
static inline void *rseq_thread_pointer(void)
{
return __builtin_thread_pointer();
--
2.51.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* [tip: locking/futex] selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check
2026-06-18 19:37 [PATCH] selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check Hisam Mehboob
@ 2026-07-02 22:19 ` tip-bot2 for Hisam Mehboob
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot2 for Hisam Mehboob @ 2026-07-02 22:19 UTC (permalink / raw)
To: linux-tip-commits; +Cc: Hisam Mehboob, Thomas Gleixner, x86, linux-kernel
The following commit has been merged into the locking/futex branch of tip:
Commit-ID: d7b2769f8dba3e5f40d2a8a11988812d51160b17
Gitweb: https://git.kernel.org/tip/d7b2769f8dba3e5f40d2a8a11988812d51160b17
Author: Hisam Mehboob <hisamshar@gmail.com>
AuthorDate: Fri, 19 Jun 2026 00:37:25 +05:00
Committer: Thomas Gleixner <tglx@kernel.org>
CommitterDate: Fri, 03 Jul 2026 00:15:01 +02:00
selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check
Building the rseq selftests against musl libc fails because musl's
<features.h> does not provide the glibc-specific __GNUC_PREREQ macro:
error: missing binary operator before token '('
Replace __GNUC_PREREQ(11, 1) with an equivalent check using __GNUC__
and __GNUC_MINOR__ directly. This pattern is portable across all C
library implementations and is already used elsewhere in the tools/
tree (e.g., tools/include/linux/string.h).
This also allows removing the #include <features.h>, which was only
needed for __GNUC_PREREQ.
Fixes: 886ddfba933f ("selftests/rseq: Introduce thread pointer getters")
Signed-off-by: Hisam Mehboob <hisamshar@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260618193724.589113-2-hisamshar@gmail.com
---
tools/testing/selftests/rseq/rseq-x86-thread-pointer.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h b/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h
index d313358..5a29d6b 100644
--- a/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h
+++ b/tools/testing/selftests/rseq/rseq-x86-thread-pointer.h
@@ -8,13 +8,11 @@
#ifndef _RSEQ_X86_THREAD_POINTER
#define _RSEQ_X86_THREAD_POINTER
-#include <features.h>
-
#ifdef __cplusplus
extern "C" {
#endif
-#if __GNUC_PREREQ (11, 1)
+#if __GNUC__ > 11 || (__GNUC__ == 11 && __GNUC_MINOR__ >= 1)
static inline void *rseq_thread_pointer(void)
{
return __builtin_thread_pointer();
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-02 22:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-18 19:37 [PATCH] selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check Hisam Mehboob
2026-07-02 22:19 ` [tip: locking/futex] " tip-bot2 for Hisam Mehboob
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox