<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">In general, I believe that if you hit a missing symbol it means that you are building your client against a version of the LLVM header with the EnableABIBreakingChecks (respectively DisableABIBreakingChecks) and then try to link against a binary LLVM that was built with DisableABIBreakingChecks (or respectively EnableABIBreakingChecks).</div><div dir="ltr"><br></div><div>If this is not the case, it'd be interesting to get more detailed information about what you're doing exactly. Reproduction steps would be ideal :)</div><div dir="ltr"><br></div><div dir="ltr">-- </div><div>Mehdi</div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 17, 2020 at 3:20 PM David Blaikie via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On Thu, Sep 17, 2020 at 2:16 PM Andy via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Why sometimes is OK and not need link file llvm/lib/Support/ABIBreak.cpp and sometimes is error with linked this file (required EnableABIBreakingChecks or DisableABIBreakingChecks) In abi-breaking.h is:<br>
><br>
> namespace llvm {<br>
> #if LLVM_ENABLE_ABI_BREAKING_CHECKS<br>
> extern int EnableABIBreakingChecks;<br>
> LLVM_HIDDEN_VISIBILITY<br>
> __attribute__((weak)) int *VerifyEnableABIBreakingChecks =<br>
>     &EnableABIBreakingChecks;<br>
> #else<br>
> extern int DisableABIBreakingChecks;<br>
> LLVM_HIDDEN_VISIBILITY<br>
> __attribute__((weak)) int *VerifyDisableABIBreakingChecks =<br>
>     &DisableABIBreakingChecks;<br>
> #endif<br>
> }<br>
><br>
> Always is extern EnableABIBreakingChecks or DisableABIBreakingChecks, but if is OK, no need link ABIBreak.cpp.<br>
<br>
That's the purpose - you should not mix ABI breaking checks with<br>
non-ABI breaking checks, they are invalid to combine.<br>
<br>
><br>
><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>