]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests: vDSO: parse_vdso: Test __SIZEOF_LONG__ instead of ULONG_MAX
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Wed, 26 Feb 2025 11:44:52 +0000 (12:44 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 3 Mar 2025 19:00:13 +0000 (20:00 +0100)
According to limits.h(2) ULONG_MAX is only guaranteed to expand to an
expression, not a symbolic constant which can be evaluated by the
preprocessor.

Specifically the definition of ULONG_MAX from nolibc can not be evaluated
by the preprocessor. To provide compatibility with nolibc, check with
__SIZEOF_LONG__ instead, with is provided directly by the preprocessor
and therefore always a symbolic constant.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/all/20250226-parse_vdso-nolibc-v2-13-28e14e031ed8@linutronix.de
tools/testing/selftests/vDSO/parse_vdso.c

index 200c534cc70e2c2381fce3be5c0ebe4cb5675e84..902b8f9984a1f70049d46bcd4f199df24f507dcb 100644 (file)
@@ -26,7 +26,7 @@
 
 /* And here's the code. */
 #ifndef ELF_BITS
-# if ULONG_MAX > 0xffffffffUL
+# if __SIZEOF_LONG__ >= 8
 #  define ELF_BITS 64
 # else
 #  define ELF_BITS 32