> 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.

I believe I've found the change:

https://git.alpinelinux.org/aports/commit/?id=5b7befa1b989315a57f4fb49b8381ce06ded96c9

As we saw above on 3.4 (gcc-5.3.0) it adds libintl, on 3.5 (gcc-6.2.1)
it doesn't.

This commit changes pkgver from 5.3.0 to 6.1.0 and seems to make gcc
add --as-needed, can you confirm?

> 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