<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 27, 2020 at 10:39 AM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">This appears to be a pretty standard llvm/clang build for a host system.<div><br></div><div>There are two parts to consider:</div><div>* Using the host tools over RTEMS</div><div>* Using cross-compiler tools over RTEMS</div><div><br></div><div>For analyzer I don't think the cross-target is a problem but I'm not really sure. That should be understood before pushing further. My understanding though is that most of the analyzers run on the LLVM IR, so the backend is irrelevant.</div></div></blockquote><div><br></div><div>I think the RISC-V and SPARC  have BSPs that can be built with clang. clang/llvm has a package in the RSB. I would recommend building llvm using the RSB and then building the supported BSPs.</div><div><br></div><div>That is a more solid base to use for analysis. Building RTEMS with the native compiler is hopeless (tilting at windmills).</div><div><br></div><div>Also gcc 10 has improved analysis (<a href="https://developers.redhat.com/blog/2020/03/26/static-analysis-in-gcc-10/">https://developers.redhat.com/blog/2020/03/26/static-analysis-in-gcc-10/</a>). I would like to see support for using either for static analysis.</div><div><br></div><div>Supporting >1 open source/free tool for static analysis before fixing anything is important (to me). This is already built by the rtems6 RSB toolchain. When that builds anyway -- it tracks the tools head. :)</div><div><br></div><div>Your project should include any additions to the RSB (if needed) and documenting use of the analyzers. If there is a technique to annotate source to avoid false positives or deliberate violations, your project should document that also</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>Gedare</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 27, 2020 at 12:16 AM suyash singh <<a href="mailto:suyashsingh234@gmail.com" target="_blank">suyashsingh234@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I have run clang. I faced multiple issues on the way due to incomplete documentation for clang and llvm. So I wrote all the steps to build them here<div><br></div><div><a href="https://github.com/suyashsingh234/rtems-notes/blob/master/README.md" target="_blank">https://github.com/suyashsingh234/rtems-notes/blob/master/README.md</a><br></div><div><br></div><div><div><img src="cid:ii_k89sdwvq0" alt="image.png" width="507" height="484"><br></div></div><div><div><img src="cid:ii_k89sfddw1" alt="image.png" width="507" height="230"><br></div></div><div><br></div><div>Next I will run scan-build and scan-view on a test file. </div><div><br></div><div><a href="https://docs.google.com/document/d/1OerM8Iix7PbDUCyb_J_KEzcMgLbvdqxd4FnK_BqI7XI/edit" target="_blank">https://docs.google.com/document/d/1OerM8Iix7PbDUCyb_J_KEzcMgLbvdqxd4FnK_BqI7XI/edit</a><br></div></div>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div></div>