mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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