Re: git: 51e8e8b0f369 - main - Merge commit e24f90190c77 from llvm git (by Brad Smith):
Date: Sat, 01 Nov 2025 18:40:54 UTC
On 31 Oct 2025, at 17:20, Jose Luis Duran <jlduran@FreeBSD.org> wrote:
>
> On Fri, Oct 31, 2025 at 12:48 PM Dimitry Andric <dim@freebsd.org> wrote:
>>
>> On 31 Oct 2025, at 14:48, Jose Luis Duran <jlduran@FreeBSD.org> wrote:
>>>
>>> On Wed, Oct 29, 2025 at 3:50 PM Dimitry Andric <dim@freebsd.org> wrote:
>>>>
>>>> The branch main has been updated by dim:
>>>>
>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=51e8e8b0f36933814b1be08913857727876aece5
>>>>
>>>> commit 51e8e8b0f36933814b1be08913857727876aece5
>>>> Author: Dimitry Andric <dim@FreeBSD.org>
>>>> AuthorDate: 2025-10-29 18:49:54 +0000
>>>> Commit: Dimitry Andric <dim@FreeBSD.org>
>>>> CommitDate: 2025-10-29 18:49:54 +0000
>>>>
>>>> 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.
>>>>
>>>> MFC after: 3 days
>>>> ---
>>>> contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h
>>>> index 7ab63905ed4f..7d090ba682b3 100644
>>>> --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h
>>>> +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h
>>>> @@ -78,6 +78,11 @@ public:
>>>> void AddHIPIncludeArgs(const llvm::opt::ArgList &DriverArgs,
>>>> llvm::opt::ArgStringList &CC1Args) const override;
>>>>
>>>> + bool IsAArch64OutlineAtomicsDefault(
>>>> + const llvm::opt::ArgList &Args) const override {
>>>> + return true;
>>>> + }
>>>> +
>>>> UnwindTableLevel
>>>> getDefaultUnwindTableLevel(const llvm::opt::ArgList &Args) const override;
>>>> bool isPIEDefault(const llvm::opt::ArgList &Args) const override;
>>>
>>> I'm sure you're probably aware by now, but aarch64 builds are failing
>>> after this commit:
>>>
>>> https://ci.freebsd.org/job/FreeBSD-main-aarch64-build/33100/
>>
>> It's weird, but I cannot reproduce it. For me, both world and kernel build fine.
>>
>> Does anybody have any particular settings that can be used to reproduce this on a fresh 16-CURRENT or 15-STABLE box?
>
> I can reproduce it on an aarch64 VM (using a mac studio), vanilla settings:
>
> make cleanuniverse <--- very important!
> make -j $(nproc) buildworld ... as usual
Unfortunately it still does not reproduce for me. I have tried this on two different systems. The current hypothesis is that it is due to a race in the build system.
At the point where the error occurs, libgcc.a (an alias of libcompiler_rt.a) should already have been built, with the __aarch64_* symbols in it. In the logs from ci.freebsd.org <http://ci.freebsd.org/> you can see that libcompiler_rt.a has already been built, and installed into ${WORLDTMP}. So it's still a mystery why this error even occurs.
-Dimitry