Re: [PATCH v2 13/16] selftests: vDSO: parse_vdso: Test __SIZEOF_LONG__ instead of ULONG_MAX
From: Vincenzo Frascino
Date: Fri Feb 28 2025 - 07:30:14 EST
On 26/02/2025 11:44, Thomas Weißschuh wrote:
> 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 no 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@xxxxxxxxxxxxx>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
> ---
> tools/testing/selftests/vDSO/parse_vdso.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/vDSO/parse_vdso.c b/tools/testing/selftests/vDSO/parse_vdso.c
> index 200c534cc70e2c2381fce3be5c0ebe4cb5675e84..902b8f9984a1f70049d46bcd4f199df24f507dcb 100644
> --- a/tools/testing/selftests/vDSO/parse_vdso.c
> +++ b/tools/testing/selftests/vDSO/parse_vdso.c
> @@ -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
>
--
Regards,
Vincenzo