Re: git: 51e8e8b0f369 - main - Merge commit e24f90190c77 from llvm git (by Brad Smith):
Date: Sat, 01 Nov 2025 19:48:26 UTC
Dimitry Andric <dim_at_FreeBSD.org> wrote on
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:
> >>>>
> >>>> . . .
> >>>
> >>> 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.
When I look at the official CI log file I see, for example:
--- outline_atomic_cas4_2.o ---
cc -target aarch64-unknown-freebsd16.0 . . . -fpic -fvisibility=hidden -DVISIBILITY_HIDDEN . . . -c outline_atomic_cas4_2.S -o outline_atomic_cas4_2.o
Would that tend to imply that the later:
ld: error: non-exported symbol '__aarch64_cas4_acq' in '/usr/obj/usr/src/arm64.aarch64/tmp/usr/lib/libgcc.a(outline_atomic_cas4_2.o)' is referenced by DSO '/usr/obj/usr/src/arm64.aarch64/tmp/usr/lib/libgcc_s.so'
would be expected?
===
Mark Millard
marklmi at yahoo.com