On Sun, Mar 24, 2024 at 11:54 AM Yuri Kanivetsky via Gcc
<gcc@gcc.gnu.org> wrote:
>
> > That's a linker option, and the linker is not part of GCC. Any change in 
> > linker behaviour is not because of a change in GCC.
>
> Have you noticed what gcc does?
Upstream GCC does (still) not default to adding `--as-needed` to the
command line (except around libgcc). Some distros add patches which
add `--as-needed` by default though. It looks like alpine is one of
those distros. Maybe you should ask them instead of asking us. It
looks like they made the change between their 3.4 and 3.5 release.

Thanks,
Andrew Pinski

>
> 3.4: /usr/libexec/gcc/x86_64-alpine-linux-musl/5.3.0/collect2 ... -lintl
> 3.5: /usr/libexec/gcc/x86_64-alpine-linux-musl/6.2.1/collect2 ...
> --as-needed ... -lintl
>
> collect2 is supposedly part of GCC. And what passes --as-needed is
> supposedly gcc.
>
> I was told on IRC that generally --as-needed is not the default. For
> the linker I guess. Although I wasn't able to confirm it. The option
> is supposedly defined here:
>
> https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=ld/lexsup.c;h=dad3b6059edfe1fe31f46c454fdc90d55b0aed5b;hb=ec6f962151998434f9cc743386f2a49a1ce1a0f6#l295
>
> But I don't see the default value, and where it's used.
>
> And also it looks like gcc started to pass --as-needed to the linker
> since 5.x/6.x.
>
> Am I missing something?
>
> > The GNU linker can be configured to default to --as-needed or not, and 
> > different distros use different defaults.
>
> Can you tell me briefly how it's configured? Is there a config?
>
> Regards,
> Yuri

Reply via email to