<div dir="ltr">This is a bug filed against Swift. <a href="https://bugs.swift.org/browse/SR-7189">https://bugs.swift.org/browse/SR-7189</a></div><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Mar 15, 2018 at 4:48 PM Rafael Avila de Espindola <<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">That is interesting. Swift uses LLVM, no? How is it producing a broken .so?<br>
<br>
Is there a bug report on Swift?<br>
<br>
Cheers,<br>
Rafael<br>
<br>
Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>> writes:<br>
<br>
> And Swift. I actually got a report from a Swift developer about that<br>
> warning message, and he wondered if it is a bug in lld rather than Swift. I<br>
> was hoping that this comment make it clear that that's not a bug in lld.<br>
><br>
><br>
> On Thu, Mar 15, 2018 at 2:48 PM Rafael Avila de Espindola <<br>
> <a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>> wrote:<br>
><br>
>> Maybe add a note of where these violations were found? The commit<br>
>> message says libwidevinecdm.so.<br>
>><br>
>> Cheers,<br>
>> Rafael<br>
>><br>
>> Rui Ueyama via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> writes:<br>
>><br>
>> > Author: ruiu<br>
>> > Date: Thu Mar 15 10:10:50 2018<br>
>> > New Revision: 327645<br>
>> ><br>
>> > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=327645&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=327645&view=rev</a><br>
>> > Log:<br>
>> > Add a comment about ELF spec and the symbol table's sh_info.<br>
>> ><br>
>> > Modified:<br>
>> >     lld/trunk/ELF/InputFiles.cpp<br>
>> ><br>
>> > Modified: lld/trunk/ELF/InputFiles.cpp<br>
>> > URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=327645&r1=327644&r2=327645&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=327645&r1=327644&r2=327645&view=diff</a><br>
>> ><br>
>> ==============================================================================<br>
>> > --- lld/trunk/ELF/InputFiles.cpp (original)<br>
>> > +++ lld/trunk/ELF/InputFiles.cpp Thu Mar 15 10:10:50 2018<br>
>> > @@ -866,6 +866,10 @@ template <class ELFT> void SharedFile<EL<br>
>> >        continue;<br>
>> >      }<br>
>> ><br>
>> > +    // ELF spec requires that all local symbols precede weak or global<br>
>> > +    // symbols in each symbol table, and the index of first non-local<br>
>> symbol<br>
>> > +    // is stored to sh_info. If a local symbol appears after some<br>
>> non-local<br>
>> > +    // symbol, that's a violation of the spec.<br>
>> >      if (Sym.getBinding() == STB_LOCAL) {<br>
>> >        warn("found local symbol '" + Name +<br>
>> >             "' in global part of symbol table in file " +<br>
>> toString(this));<br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > llvm-commits mailing list<br>
>> > <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
>> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
>><br>
</blockquote></div>