Re: git: 3289bace53f3 - main - Reapply "Merge commit e24f90190c77 from llvm git (by Brad Smith):" [right dev-commit-* list this time]
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 23 Nov 2025 22:01:42 UTC
[Just sending to the correct dev-commits-* list this time.]
On Nov 23, 2025, at 12:29, Mark Millard <marklmi@yahoo.com> 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 <dim@FreeBSD.org>
> AuthorDate: 2025-11-23 15:52:46 +0000
> Commit: Dimitry Andric <dim@FreeBSD.org>
> 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