[lld] r327645 - Add a comment about ELF spec and the symbol table's sh_info.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 15 19:25:12 PDT 2018


This is a bug filed against Swift. https://bugs.swift.org/browse/SR-7189


On Thu, Mar 15, 2018 at 4:48 PM Rafael Avila de Espindola <
rafael.espindola at gmail.com> wrote:

> That is interesting. Swift uses LLVM, no? How is it producing a broken .so?
>
> Is there a bug report on Swift?
>
> Cheers,
> Rafael
>
> Rui Ueyama <ruiu at google.com> writes:
>
> > And Swift. I actually got a report from a Swift developer about that
> > warning message, and he wondered if it is a bug in lld rather than
> Swift. I
> > was hoping that this comment make it clear that that's not a bug in lld.
> >
> >
> > On Thu, Mar 15, 2018 at 2:48 PM Rafael Avila de Espindola <
> > rafael.espindola at gmail.com> wrote:
> >
> >> Maybe add a note of where these violations were found? The commit
> >> message says libwidevinecdm.so.
> >>
> >> Cheers,
> >> Rafael
> >>
> >> Rui Ueyama via llvm-commits <llvm-commits at lists.llvm.org> writes:
> >>
> >> > Author: ruiu
> >> > Date: Thu Mar 15 10:10:50 2018
> >> > New Revision: 327645
> >> >
> >> > URL: http://llvm.org/viewvc/llvm-project?rev=327645&view=rev
> >> > Log:
> >> > Add a comment about ELF spec and the symbol table's sh_info.
> >> >
> >> > Modified:
> >> >     lld/trunk/ELF/InputFiles.cpp
> >> >
> >> > Modified: lld/trunk/ELF/InputFiles.cpp
> >> > URL:
> >>
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=327645&r1=327644&r2=327645&view=diff
> >> >
> >>
> ==============================================================================
> >> > --- lld/trunk/ELF/InputFiles.cpp (original)
> >> > +++ lld/trunk/ELF/InputFiles.cpp Thu Mar 15 10:10:50 2018
> >> > @@ -866,6 +866,10 @@ template <class ELFT> void SharedFile<EL
> >> >        continue;
> >> >      }
> >> >
> >> > +    // ELF spec requires that all local symbols precede weak or
> global
> >> > +    // symbols in each symbol table, and the index of first non-local
> >> symbol
> >> > +    // is stored to sh_info. If a local symbol appears after some
> >> non-local
> >> > +    // symbol, that's a violation of the spec.
> >> >      if (Sym.getBinding() == STB_LOCAL) {
> >> >        warn("found local symbol '" + Name +
> >> >             "' in global part of symbol table in file " +
> >> toString(this));
> >> >
> >> >
> >> > _______________________________________________
> >> > llvm-commits mailing list
> >> > llvm-commits at lists.llvm.org
> >> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> >>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180316/97bc1e61/attachment.html>


More information about the llvm-commits mailing list