On 31 Oct 2025, at 17:20, Jose Luis Duran <[email protected]> wrote:
> 
> On Fri, Oct 31, 2025 at 12:48 PM Dimitry Andric <[email protected]> wrote:
>> 
>> On 31 Oct 2025, at 14:48, Jose Luis Duran <[email protected]> wrote:
>>> 
>>> On Wed, Oct 29, 2025 at 3:50 PM Dimitry Andric <[email protected]> wrote:
>>>> 
>>>> The branch main has been updated by dim:
>>>> 
>>>> URL: 
>>>> https://cgit.FreeBSD.org/src/commit/?id=51e8e8b0f36933814b1be08913857727876aece5
>>>> 
>>>> commit 51e8e8b0f36933814b1be08913857727876aece5
>>>> Author:     Dimitry Andric <[email protected]>
>>>> AuthorDate: 2025-10-29 18:49:54 +0000
>>>> Commit:     Dimitry Andric <[email protected]>
>>>> 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


Reply via email to