GCC modified for the FreeChainXenon project
Find a file
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
.github Minor formatting fix for newly-added file from previous commit 2023-11-01 19:28:56 -04:00
c++tools Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
config Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
contrib Daily bump. 2024-05-09 11:03:31 +00:00
fixincludes Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
gcc Build: Set gcc_cv_as_mips_explicit_relocs if gcc_cv_as_mips_explicit_relocs_pcrel 2024-06-21 21:55:12 +08:00
gnattools Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
gotools Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
include Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
INSTALL
libada Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libatomic Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libbacktrace Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libcc1 Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libcody Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libcpp Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libdecnumber Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libffi Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libgcc AArch64: Fix cpu features initialization [PR115342] 2024-06-21 17:15:45 +01:00
libgfortran Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libgm2 Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libgo libgo: bump libgo version for GCC 14 release 2024-02-05 11:28:30 -08:00
libgomp Daily bump. 2024-05-09 11:03:31 +00:00
libgrust Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libiberty Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libitm Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libobjc Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libphobos Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libquadmath Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libsanitizer Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libssp Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
libstdc++-v3 libstdc++: Fix test on x86_64 and non-simd targets 2024-06-21 18:07:30 +02:00
libvtv Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
lto-plugin Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
maintainer-scripts Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
zlib Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
.dir-locals.el
.gitattributes
.gitignore *: add modern gettext 2023-11-14 00:47:11 +01:00
ABOUT-NLS
ar-lib
ChangeLog Update ChangeLog and version files for release 2024-05-07 06:52:35 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in LoongArch: Reimplement multilib build option handling. 2023-09-15 10:42:12 +08:00
config.guess
config.rpath
config.sub config.sub: change mode to 755. 2021-12-21 09:10:57 +01:00
configure build: Use of cargo not yet supported here in Canadian cross configurations 2024-04-16 09:43:47 +02:00
configure.ac build: Use of cargo not yet supported here in Canadian cross configurations 2024-04-16 09:43:47 +02:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 Build: fix error in fixinclude configure 2023-11-22 11:54:33 +01:00
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS: Update my email address 2024-04-04 16:39:52 +02:00
Makefile.def gccrs: Fix missing build dependency 2024-01-16 16:23:02 +01:00
Makefile.in Fix up postboot dependencies [PR106472] 2024-04-02 13:40:27 +02:00
Makefile.tpl Fix up postboot dependencies [PR106472] 2024-04-02 13:40:27 +02:00
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
SECURITY.txt SECURITY.txt: Drop "exploitable" in reference to hardening issues 2024-01-09 10:49:01 -05:00
symlink-tree
test-driver
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.