<div dir="auto">Hello,<div dir="auto">Very interesting and all of them: nix bcdb and gl. Dang, nix should be standard for avoiding dependency hell. Hope, Sean, your workflow and tools will help Ahmad.</div><div dir="auto"><br></div><div dir="auto">Best regards,</div><div dir="auto">Pawel Kunio</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">niedz., 25.04.2021, 04:29 użytkownik Sean Bartell via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> napisał:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div><div>Hi Ahmad,<br></div><div><br></div><div>llvm-link, as Jakub suggested, is the best option if it works. If it doesn't work, maybe because the binaries call dlopen or depend on the way dynamic linking works, you might be able to use a research tool I developed last year that helps analyze/optimize dynamically linked code as if it were statically linked. More info here: <a href="https://github.com/yotann/bcdb/tree/master/docs/guided-linking" target="_blank" rel="noreferrer">https://github.com/yotann/bcdb/tree/master/docs/guided-linking</a><br></div><div><br></div><div>Sean<br></div><div><br></div><div>On Sat, Apr 24, 2021, at 05:04, Ahmad Nouralizadeh Khorrami via llvm-dev wrote:<br></div><blockquote type="cite" id="m_86891951321722934qt"><div>Thank you both for the answers, I will try! <br></div><div><div>Regards.<br></div><div><br></div><div>On Saturday, 24 April 2021, pawel k. <<a href="mailto:pawel.kunio@gmail.com" target="_blank" rel="noreferrer">pawel.kunio@gmail.com</a>> wrote:<br></div><div><br></div><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-color:rgb(204,204,204);border-left-style:solid;border-left-width:1px;padding-left:1ex"><div dir="auto"><div>True that. Compile everything to bitcode and analyze it ipo. Link libs way you want them in last stage. <br></div><div dir="auto"><br></div><div dir="auto">Br,<br></div><div dir="auto">Pk<br></div></div><div><br></div><div><div dir="ltr">sob., 24.04.2021, 04:01 użytkownik Jakub (Kuba) Kuderski <<a href="mailto:kubakuderski@gmail.com" target="_blank" rel="noreferrer">kubakuderski@gmail.com</a>> napisał:<br></div><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-color:rgb(204,204,204);border-left-style:solid;border-left-width:1px;padding-left:1ex"><div dir="ltr"><div>>  I have to analyze both binaries (i.e., main and gtk.so) in a single pass. How is it possible? <br></div><div><div><br></div><div>You can compile each with gllvm, extract bitcode, and link those bitcode files together with llvm-link.<br></div><div><br></div></div></div><div><br></div><div><div dir="ltr">On Fri, Apr 23, 2021 at 8:52 PM Ahmad Nouralizadeh Khorrami via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer noreferrer" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-color:rgb(204,204,204);border-left-style:solid;border-left-width:1px;padding-left:1ex"><div>Hi Pawel, <br></div><div><div>Yes.<br></div><div><br></div><div>On Saturday, 24 April 2021, pawel k. <<a href="mailto:pawel.kunio@gmail.com" rel="noreferrer noreferrer" target="_blank">pawel.kunio@gmail.com</a>> wrote:<br></div><div><br></div><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-color:rgb(204,204,204);border-left-style:solid;border-left-width:1px;padding-left:1ex"><div dir="auto"><div>Hello, <br></div><div dir="auto">Do You have sources for all the libraries that will be distributed as dlls?<br></div><div dir="auto"><br></div><div dir="auto">Best regards,<br></div><div dir="auto">Pawel Kunio<br></div></div><div><br></div><div><div dir="ltr">pt., 23.04.2021, 22:02 użytkownik Ahmad Nouralizadeh Khorrami via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer noreferrer" target="_blank">llvm-dev@lists.llvm.org</a>> napisał:<br></div><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-color:rgb(204,204,204);border-left-style:solid;border-left-width:1px;padding-left:1ex"><div dir="ltr"><div>Hi, <br></div><div>Typical whole program IR level analyses are done by means of module passes. The modules should be linked before the analysis process.<br></div><div>In some rare cases, the analysis needs to be performed across the whole user level code. In other words, suppose that the bitcode files for the program and all shared libraries are available. Also, suppose that the libraries can not be linked, statically.
 Is it possible to run an analysis (e.g., taint analysis or constant propagation) on the whole user level software stack (at the IR level)? If not, is there any better approach?<br></div><div>Regards.<br></div></div><div>_______________________________________________<br></div><div>LLVM Developers mailing list<br></div><div><a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer noreferrer noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br></div><div><a href="https://urldefense.com/v3/__https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev__;!!DZ3fjg!u4VQPAnIiZn7aZ7cCB30yAsuwi4iG2eMe2cGZ5zGFYuMB1KV04QbMyHyE3rITRoX7Bs$" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br></div></blockquote></div></blockquote></div><div>_______________________________________________<br></div><div>LLVM Developers mailing list<br></div><div><a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br></div><div><a href="https://urldefense.com/v3/__https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev__;!!DZ3fjg!u4VQPAnIiZn7aZ7cCB30yAsuwi4iG2eMe2cGZ5zGFYuMB1KV04QbMyHyE3rITRoX7Bs$" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br></div></blockquote></div><div><br></div><div><br></div><div>-- <br></div><div><br></div><div dir="ltr"><div>Jakub Kuderski<br></div></div></blockquote></div></blockquote></div><div><br></div><div><b>Attachments:</b><br></div><ul><li>ATT00001.txt<br></li></ul></blockquote><div><br></div></div>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>