Re: git: 51e8e8b0f369 - main - Merge commit e24f90190c77 from llvm git (by Brad Smith):
Date: Sat, 08 Nov 2025 03:51:08 UTC
Dimitry Andric <dim_at_FreeBSD.org> wrote on
Date: Thu, 06 Nov 2025 15:56:54 UTC :
> On 5 Nov 2025, at 08:56, Herbert J. Skuhra <herbert@gojira.at> wrote:
> >
> > On Fri, 31 Oct 2025 14:48:06 +0100, Jose Luis Duran 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
> >>>
> >>>
. . .
> >>>
> >>> 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.
> >>>
> >>>
. . .
> >> 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/
> >
> > I am now getting this error on stable/15 (aarch64) after this change was
> > reverted in f6a81b18a467.
> >
> > I have already tried:
> >
> > % rm -rf /usr/obj/usr
> > % rm -rf ~/.cache/ccache
> > % make SRCCONF=/dev/null __MAKE_CONF=/dev/null buildworld
> >
> > I am now trying to rebuild world with llvm19 from ports.
>
> I have repeatedly tried to reproduce this problem, but I have been unsuccessful.
I tried to set up a simple context to experiment with but ended up
blocked for what I intended. Nothing blocked making a .o for
which:
6: 0000000000000000 4 FUNC GLOBAL HIDDEN 2 shared_static_routine
Nothing blocked making a .a for which:
6: 0000000000000000 4 FUNC GLOBAL HIDDEN 2 shared_static_routine
But every one of my attempts to form a .so with such a GLOBAL HIDDEN status
based on the .a instead ended up with the likes of:
30: 0000000000010538 4 FUNC LOCAL HIDDEN 12 shared_static_routine
So I did not get to the stage of a program that uses a .so with GLOBAL HIDDEN
status involved.
I tried commands that used each of: /usr/bin/ld , /usr/bin/ld.lld ,
/usr/local/bin/ld.bfd , and /usr/local/bin/aarch64-unknown-freebsd16.0-ld .
I did similarly on amd64.
All of them converted the GLOBAL to be a LOCAL in the .so .
The context used is main 16.
It looks like the toolchain is deliberately avoiding generating the
GLOBAL HIDDEN combination in the .so .
> If anybody has a system where this reliably occurs, and can give me access to it (no privileged user needed, as long as git is installed), that would be nice.
===
Mark Millard
marklmi at yahoo.com