On Nov 7, 2025, at 19:51, Mark Millard <[email protected]> wrote:

> 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 <[email protected]> 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 <[email protected]> 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.


Turns out that my intended test was based on a partial
misinterpretation of the original error messages. I'll
need to set up a somewhat different test later.


===
Mark Millard
marklmi at yahoo.com


Reply via email to