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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alice Carlotti <[email protected]>:

https://gcc.gnu.org/g:e3d2277d519ae75cf91980151abefc76cd25d6ce

commit r16-7916-ge3d2277d519ae75cf91980151abefc76cd25d6ce
Author: Alice Carlotti <[email protected]>
Date:   Wed Mar 4 14:58:21 2026 +0000

    aarch64 libgcc: Fix mingw build [PR124333]

    Make __aarch64_cpu_features unconditionally available.  This permits the
    unconditional use of this global inside __arm_get_current_vg, which was
    introduced in r16-7637-g41b4a73f370116.

    For now this global is only initialised when <sys/auxv.h> is available,
    but we can extend this in future to support other ways of initialising
    the bits used for SME support, and use this remove __aarch64_have_sme.
    This approach was recently adopted by LLVM.

    This patch does introduce an inconsistency with __aarch64_have_sme when
    <sys/auxv.h> is unavailable.  However, this doesn't introduce any
    regressions, because one of the following conditions will hold:

    1. SVE is enabled at compile time whenever we use a streaming or
    streaming compatible function.  In this case the compiler won't need to
    use __arm_get_current_vg, so it doesn't matter if it gives the wrong
    answer.

    2. There is a use of a streaming or streaming compatible function when
    we don't know whether SVE is enabled.  In order to get correct DWARF
    unwind information, we then have to be able to test for SVE availability
    at runtime.  This isn't possible until a working __arm_get_current_vg
    implementation is available, so the configuration has never (yet) been
    supported.

    libgcc/ChangeLog:

            PR target/124333
            * config/aarch64/cpuinfo.c: Define __aarch64_cpu_features
            unconditionally.

Reply via email to