https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120919

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Jakub Jelinek
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:98bc42f456d04d71fe9b2b55fa7c7ad415367bbc

commit r15-9898-g98bc42f456d04d71fe9b2b55fa7c7ad415367bbc
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Jul 1 19:37:39 2025 +0200

    testsuite: Fix up gcc.target/powerpc/builtin_altivec_tr_stxvr_runnable.c
test (test UB) [PR120919]

    In my reading of the test and the instructions emitted by the
    builtins, it invokes UB 4 times, each time overwriting one byte
    after some variable (sc, then ss, then si and then sll).
    If we are lucky, like at -O0 -mcpu=power10, there is just padding
    there or something that doesn't make the tests fail, if unlucky
    like with -O0 -mcpu=power10 -fstack-protector-strong,
    &sc + 1 == &expected_sc
    and so it overwrites the expected_sc variable.
    The test fails when testing with
    RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'"
    on power10.

    The following patch fixes that by using arrays of 2 elements, so that
    the overwriting of 1 byte happens to the part of the same variable.

    2025-07-01  Jakub Jelinek  <ja...@redhat.com>

            PR testsuite/120919
            * gcc.target/powerpc/builtin_altivec_tr_stxvr_runnable.c (main):
Change
            sc, ss, si and sll vars from scalars to arrays of 2 elements,
            initialize and test just the first one though.

    (cherry picked from commit f5282f7402939fdec910ef3743d38edac864eec8)

Reply via email to