gcc/libgcc/config/aarch64
Wilco Dijkstra 9421f02916 AArch64: Fix cpu features initialization [PR115342]
The CPU features initialization code uses CPUID registers (rather than
HWCAP).  The equality comparisons it uses are incorrect: for example FEAT_SVE
is not set if SVE2 is available.  Using HWCAPs for these is both simpler and
correct.  The initialization must also be done atomically to avoid multiple
threads causing corruption due to non-atomic RMW accesses to the global.

libgcc:
	PR target/115342
	* config/aarch64/cpuinfo.c (__init_cpu_features_constructor):
	Use HWCAP where possible.  Use atomic write for initialization.
	Fix FEAT_PREDRES comparison.
	(__init_cpu_features_resolver): Use atomic load for correct
	initialization.
	(__init_cpu_features): Likewise.
(cherry picked from commit d7cbcfe7c33645eaf95f175f19884d443817857b)
2024-06-21 17:15:45 +01:00
..
__aarch64_have_sme.c Update copyright years. 2024-01-03 12:19:35 +01:00
__arm_sme_state.S Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
__arm_tpidr2_restore.S Update copyright years. 2024-01-03 12:19:35 +01:00
__arm_tpidr2_save.S Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
__arm_za_disable.S Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
aarch64-asm.h Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
aarch64-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00
cpuinfo.c AArch64: Fix cpu features initialization [PR115342] 2024-06-21 17:15:45 +01:00
crtfastmath.c Update copyright years. 2024-01-03 12:19:35 +01:00
crti.S aarch64: libgcc: Cleanup ELF marking in asm 2024-02-01 09:10:23 +00:00
crtn.S aarch64: libgcc: Cleanup ELF marking in asm 2024-02-01 09:10:23 +00:00
freebsd-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00
gnu-unwind.h libgcc: Add basic support for aarch64-gnu (GNU/Hurd on AArch64) 2024-04-09 09:23:33 +02:00
heap-trampoline.c libgcc: Add basic support for aarch64-gnu (GNU/Hurd on AArch64) 2024-04-09 09:23:33 +02:00
libgcc-sme.ver Update copyright years. 2024-01-03 12:19:35 +01:00
libgcc-softfp.ver aarch64: Add support for _BitInt 2024-04-10 16:47:15 +01:00
linux-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00
lse-init.c Update copyright years. 2024-01-03 12:19:35 +01:00
lse.S aarch64: libgcc: Cleanup ELF marking in asm 2024-02-01 09:10:23 +00:00
sfp-exceptions.c Update copyright years. 2024-01-03 12:19:35 +01:00
sfp-machine.h Update copyright years. 2024-01-03 12:19:35 +01:00
sync-cache.c Update copyright years. 2024-01-03 12:19:35 +01:00
t-aarch64 Update copyright years. 2024-01-03 12:19:35 +01:00
t-heap-trampoline libgcc: Make heap trampoline support dynamic [PR113403]. 2024-01-30 09:32:48 +00:00
t-lse Update copyright years. 2024-01-03 12:19:35 +01:00
t-softfp aarch64: Add support for _BitInt 2024-04-10 16:47:15 +01:00
value-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00