On Tue, Mar 05, 2024 at 06:03:41PM +0000, Richard Sandiford wrote:
> This patch makes the expansion of IFN_ASAN_MARK let through
> poly-int-sized objects. The expansion itself was already generic
> enough, but the tests for the fast path were too strict.
>
> Bootstrapped & regression tested on aarch64-linux-gnu. Is this OK
> for trunk now, or should it wait for GCC 15? I'm not sure that it's
> technically a regression, in the sense that we previously accepted the
> testcase, but rejecting with an ICE is arguably worse than "sorry, can't
> do that". And as noted in the PR, this bug is breaking numpy builds.
>
> Richard
>
>
> gcc/
> PR sanitizer/97696
> * asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int.
>
> gcc/testsuite/
> PR sanitizer/97696
> * gcc.target/aarch64/sve/pr97696.c: New test.
Ok for trunk now.
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/pr97696.c
> @@ -0,0 +1,28 @@
> +/* { dg-options "-fsanitize=address -fsanitize-address-use-after-scope" } */
Though I'd say this test should require sanitize_address affective target.
E.g. libsanitizer (sure, not actually used by the test) is only supported
on aarch64*-*-linux*, not e.g. on darwin nor freebsd nor fuchsia etc.
Jakub