[Just sending to the correct dev-commits-* list this time.] On Nov 23, 2025, at 12:29, Mark Millard <[email protected]> wrote:
Dimitry Andric <dim_at_FreeBSD.org> wrote on Date: Sun, 23 Nov 2025 18:40:10 UTC : > The branch main has been updated by dim: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3289bace53f31545976fec310b41fa784de75e64 > > commit 3289bace53f31545976fec310b41fa784de75e64 > Author: Dimitry Andric <[email protected]> > AuthorDate: 2025-11-23 15:52:46 +0000 > Commit: Dimitry Andric <[email protected]> > CommitDate: 2025-11-23 18:40:00 +0000 > > Reapply "Merge commit e24f90190c77 from llvm git (by Brad Smith):" > > [Driver] Enable outline atomics for FreeBSD/aarch64 (#156089) > > The compiler_rt helper functions have been built since 12.4, 13.1, 14 > and anything newer. > > This reverts commit bd27bd1f51d049538cc7a0053be9d99110a53ae1. > > Only some people (including the release manager, unfortunately) ran into > build issues with the previous iteration of this commit, because they > were bootstrapping the compiler, either via the WITHOUT_SYSTEM_COMPILER > src.conf(5) setting, or because the build system determined that their > base system compiler was out of date. > > The bootstrapped compiler would then enable outline atomics and compile > libgcc_s with these, but because libgcc_s is linked with -nodefaultlibs, > it could not find the helper routines in libcompiler_rt.a. > > In contrast, people who did not bootstrap the compiler never saw any > issues, because libgcc_s was built using their 'old' base system > compiler, and so libgcc_s would not contain any calls to those helper > routines. > > Fix this by ensuring that libgcc_s is linked against libcompiler_rt.a > explicitly, similar to some other binaries and libraries that are built > with -nodefaultlibs. > > Also, bump FREEBSD_CC_VERSION to ensure that everybody gets the updated > compiler with outline atomics enabled. (This should have been done in > the first iteration of this commit, because the error would have shown > up right away then.) . . . FYI, in sys/conf/kern.mk : .if ${MACHINE_CPUARCH} == "aarch64" . . . # TODO: support outline atomics CFLAGS += -mno-outline-atomics INLINE_LIMIT?= 8000 .endif It may be fine but it seems to be the only such use of -mno-outline-atomics the source tree: # grep -r '\-mno-outline-atomics\>' /usr/src/ /usr/src/sys/conf/kern.mk:CFLAGS += -mno-outline-atomics === Mark Millard marklmi at yahoo.com
