[PATCH 02/15] debug: Increase tst-fortify checks for compiler without __va_arg_pack support
Siddhesh Poyarekar
siddhesh@gotplt.org
Thu Dec 21 20:02:04 GMT 2023
On 2023-12-21 13:59, Adhemerval Zanella wrote:
> The fortify wrappers for varargs functions already add fallbacks to
> builtins calls if __va_arg_pack is not supported.
... and in fact helps test the #else part with a different compiler,
like clang. BTW, I'm not sure if you've seen this, but Serge Guelton
used to maintain a _FORTIFY_SOURCE testsuite to do comparative testing
between clang and gcc:
https://github.com/serge-sans-paille/fortify-test-suite
It would be nice to subsume all of that, if there's additional coverage
there.
LGTM.
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
>
> Checked on aarch64, armhf, x86_64, and i686.
> ---
> debug/tst-fortify.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/debug/tst-fortify.c b/debug/tst-fortify.c
> index 20e926751a..5cd9d22feb 100644
> --- a/debug/tst-fortify.c
> +++ b/debug/tst-fortify.c
> @@ -130,7 +130,7 @@ static int num2 = 987654;
> chk_fail_ok = 0; \
> FAIL (); \
> }
> -#if __USE_FORTIFY_LEVEL >= 2 && (!defined __cplusplus || defined __va_arg_pack)
> +#if __USE_FORTIFY_LEVEL >= 2
> # define CHK_FAIL2_START CHK_FAIL_START
> # define CHK_FAIL2_END CHK_FAIL_END
> #else
> @@ -419,7 +419,6 @@ do_test (void)
> stpncpy (buf + 6, "cd", l0 + 5);
> CHK_FAIL_END
>
> -# if !defined __cplusplus || defined __va_arg_pack
> CHK_FAIL_START
> sprintf (buf + 8, "%d", num1);
> CHK_FAIL_END
> @@ -439,7 +438,6 @@ do_test (void)
> CHK_FAIL_START
> swprintf (wbuf + 8, l0 + 3, L"%d", num1);
> CHK_FAIL_END
> -# endif
>
> memcpy (buf, str1 + 2, 9);
> CHK_FAIL_START
> @@ -550,7 +548,6 @@ do_test (void)
> FAIL ();
> }
>
> -# if !defined __cplusplus || defined __va_arg_pack
> CHK_FAIL_START
> sprintf (a.buf1 + (O + 7), "%d", num1);
> CHK_FAIL_END
> @@ -562,7 +559,6 @@ do_test (void)
> CHK_FAIL_START
> snprintf (a.buf1 + (O + 7), l0 + 3, "%d", num2);
> CHK_FAIL_END
> -# endif
>
> memcpy (a.buf1, str1 + (3 - O), 8 + O);
> CHK_FAIL_START
More information about the Libc-alpha
mailing list