What kind? It crashes whenever script has PROVIDE or PROVIDE_HIDDEN within section description unless you check for null pointer.<br><br>четверг, 25 августа 2016 г. пользователь Rafael Espíndola  написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">testcase?<br>
<br>
On 15 August 2016 at 05:19, Eugene Leviant via llvm-commits<br>
<<a href="javascript:;" onclick="_e(event, 'cvml', 'llvm-commits@lists.llvm.org')">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Author: evgeny777<br>
> Date: Mon Aug 15 04:19:51 2016<br>
> New Revision: 278663<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=278663&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=278663&view=rev</a><br>
> Log:<br>
> [ELF] Linkerscript: fix bug in assignOffsets (check Sym for non-null)<br>
><br>
> Modified:<br>
>     lld/trunk/ELF/LinkerScript.cpp<br>
><br>
> Modified: lld/trunk/ELF/LinkerScript.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/LinkerScript.cpp?rev=278663&r1=278662&r2=278663&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/lld/trunk/ELF/<wbr>LinkerScript.cpp?rev=278663&<wbr>r1=278662&r2=278663&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- lld/trunk/ELF/LinkerScript.cpp (original)<br>
> +++ lld/trunk/ELF/LinkerScript.cpp Mon Aug 15 04:19:51 2016<br>
> @@ -319,8 +319,10 @@ template <class ELFT> void assignOffsets<br>
>        uintX_t Value = L->Cmd->Expression(Sec->getVA(<wbr>) + Off) - Sec->getVA();<br>
>        if (L->Cmd->Name == ".") {<br>
>          Off = Value;<br>
> -      } else {<br>
> -        auto *Sym = cast<DefinedSynthetic<ELFT>>(<wbr>L->Cmd->Sym);<br>
> +      } else if (auto *Sym =<br>
> +                     cast_or_null<DefinedSynthetic<<wbr>ELFT>>(L->Cmd->Sym)) {<br>
> +        // shouldDefine could have returned false, so we need to check Sym,<br>
> +        // for non-null value.<br>
>          Sym->Section = OutSec;<br>
>          Sym->Value = Value;<br>
>        }<br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> llvm-commits mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'llvm-commits@lists.llvm.org')">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote>