On Wed, Mar 04, 2026, Alice Carlotti wrote:
> 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.
> #include "common/config/aarch64/cpuinfo.h"
>
> +/* Architecture features used in Function Multi Versioning, and also in some
> + SME support routines. */
> +struct {
> + unsigned long long features;
> + /* As features grows new fields could be added. */
> +} __aarch64_cpu_features __attribute__((visibility("hidden"), nocommon));
> +
> #if __has_include(<sys/auxv.h>)
> #include <sys/auxv.h>
>
> @@ -40,12 +47,6 @@ typedef struct __ifunc_arg_t {
> unsigned long _hwcap4;
> } __ifunc_arg_t;
>
> -/* Architecture features used in Function Multi Versioning. */
> -struct {
> - unsigned long long features;
> - /* As features grows new fields could be added. */
> -} __aarch64_cpu_features __attribute__((visibility("hidden"), nocommon));
> -
> #define _IFUNC_ARG_HWCAP (1ULL << 62)
> #define AT_HWCAP 16
> #define AT_HWCAP2 26
Thank you for the fix. It looks like the regression has been resolved.
LGTM for aarch64-w64-mingw32 target.
During the validation, a separate issue has been detected for x86_64-pc-cygwin
target and reported.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124371
Regards,
Evgeny