Hi Jakub,

> On Wed, Feb 18, 2026 at 04:22:12PM +0100, Rainer Orth wrote:
>> Hi Jonathan,
>> 
>> >> Jakub explained to me that -flink-atomic is only enabled if the linker
>> >> supports --as-needed, which the docs completely fail to explain. Just
>> >> saying "on targets that support it" is inadequate.
>> >>
>> >> The option is on for targets which support libatomic *and* which
>> >> support the --as-needed linker flag. So GNU ld,, gold, lld, mold, ...
>> >> but *not* Solaris ld for example.
>> >
>> > Actually it looks like Solaris ld supports the option too ... but not
>> > all linkers do, and that affects when -flink-libatomic is on by
>> > default.
>> 
>> indeed: Solaris ld gained many options for compatiblity with GNU ld in
>> the last couple of years.  If it were only for --as-needed, the native
>> -z ignore should work, too.
>
> Does it also support linker scripts where one can do -z ignore only for
> selected library and not for the rest of the command line?
> The GNU ld --push-state --as-needed ... --pop-state are very useful (but in
> the end we went with libatomic_asneeded.so linker script with
> INPUT ( AS_NEEDED ( -latomic ) )
> because libtool doesn't handle the former well (nor the Solaris
> -z ignore -latomic -z record, especially because the latter is much harder
> to parse because the state isn't changed and restored but changed
> twice for everything remaining on the command line, so libtool can't figure
> out what belongs to what.

I don't think so: the Solaris linker mapfiles are completely different
from GNU ld ones:

https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/linkers-libraries/mapfiles-link-editor.html

However, -z discard-unused=files should be able to achieve the same
effect, only globally and not restricted to a single dependency:

https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/linkers-libraries/removing-unused-material.html

I wonder why it's desirable to restrict --as-needed to a single library
in this case.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to