[llvm-dev] Targeting old glibc

Fāng-ruì Sòng via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 9 10:05:59 PST 2020


On Mon, Nov 9, 2020 at 10:04 AM Fāng-ruì Sòng <maskray at google.com> wrote:
>
> No. A shared object is needed if it is linked in (1)--no-as-needed
> mode or (2) after --gc-sections, a symbol referenced by a live input
> section  is defined by the shared object.

A shared object is needed if it is linked in (1) --no-as-needed mode
or (2) after --gc-sections, a symbol referenced by a live input
section  is defined by the shared object as non-STB_WEAK.

> You'll need to check whether a symbol is defined by libmvec.so.1
>
> On Mon, Nov 9, 2020 at 9:57 AM Alexandre Bique
> <bique.alexandre at gmail.com> wrote:
> >
> > On Mon, Nov 9, 2020 at 6:52 PM Fāng-ruì Sòng <maskray at google.com> wrote:
> > > Recent libm.a and libm.so are actually linker scripts
> > >
> > > % cat /usr/lib/x86_64-linux-gnu/libm.a
> > > /* GNU ld script
> > > */
> > > OUTPUT_FORMAT(elf64-x86-64)
> > > GROUP ( /usr/lib/x86_64-linux-gnu/libm-2.31.a
> > > /usr/lib/x86_64-linux-gnu/libmvec.a )
> > > % cat /usr/lib/x86_64-linux-gnu/libm.so
> > > /* GNU ld script
> > > */
> > > OUTPUT_FORMAT(elf64-x86-64)
> > > GROUP ( /lib/x86_64-linux-gnu/libm.so.6  AS_NEEDED (
> > > /lib/x86_64-linux-gnu/libmvec.so.1 ) )
> >
> > In this script the libmvec is mentioned as "AS_NEEDED", and it is not
> > needed in my case, yet lld pulls its dependency toward exp at GLIBC_2.29.
> >
> > Is it a bug in lld?
> >
> > Regards,
> > Alexandre
>
>
>
> --
> 宋方睿



-- 
宋方睿


More information about the llvm-dev mailing list