* Noah Meyerhans: > On Sat, Apr 11, 2020 at 08:44:29AM +0200, Florian Weimer wrote: >> > Gcc provides two ways to enable support for these instructions at build >> > time. The simplest, and least disruptive, is to enable -moutline-atomics >> > globally in the arm64 glibc build. >> >> Shouldn't GCC do this by default, at least for -mtune=generic? > > Maybe. Would you rather pursue that avenue first?
My hope is that GCC upstream defaults reflect current practices for the architecture. It doesn't make sense if every distribution ends up patching in same GCC defaults which are not upstream. Sure, there might be bare-metal targets which do not want this, but is this really the primary audience nowadays? > At least if I'm reading the code right (which I may very well not be > doing, being generally unfamiliar with gcc internals), -mtune=generic > enables the equivalent of ARMv8 support: > > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/common/config/aarch64/aarch64-common.c;h=0bddcc8c3e9282a957c5479b4df7f68058093bab;hb=HEAD#l176 > > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/aarch64/aarch64-cores.def;h=ea9b98b4b0ad2a578755561bba5b6d5c56115994;hb=HEAD > > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/aarch64/aarch64.h;h=8f08bad3562c4cbe8acdf5891e84f89d23ea6784;hb=HEAD#l226 Hmm. I don't see anything that sets TARGET_OUTLINE_ATOMICS by default.