[llvm-dev] Intermodule Program Analysis

Ahmad Nouralizadeh Khorrami via llvm-dev llvm-dev at lists.llvm.org
Sun Apr 25 13:19:12 PDT 2021


Hi Sean,
The paper looks very interesting!
Thank you all!

On Sun, 25 Apr 2021 at 08:42, pawel k. via llvm-dev <llvm-dev at lists.llvm.org>
wrote:

> Hello,
> 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.
>
> Best regards,
> Pawel Kunio
>
> niedz., 25.04.2021, 04:29 użytkownik Sean Bartell via llvm-dev <
> llvm-dev at lists.llvm.org> napisał:
>
>> Hi Ahmad,
>>
>> 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:
>> https://github.com/yotann/bcdb/tree/master/docs/guided-linking
>>
>> Sean
>>
>> On Sat, Apr 24, 2021, at 05:04, Ahmad Nouralizadeh Khorrami via llvm-dev
>> wrote:
>>
>> Thank you both for the answers, I will try!
>> Regards.
>>
>> On Saturday, 24 April 2021, pawel k. <pawel.kunio at gmail.com> wrote:
>>
>> True that. Compile everything to bitcode and analyze it ipo. Link libs
>> way you want them in last stage.
>>
>> Br,
>> Pk
>>
>> sob., 24.04.2021, 04:01 użytkownik Jakub (Kuba) Kuderski <
>> kubakuderski at gmail.com> napisał:
>>
>> >  I have to analyze both binaries (i.e., main and gtk.so) in a single
>> pass. How is it possible?
>>
>> You can compile each with gllvm, extract bitcode, and link those bitcode
>> files together with llvm-link.
>>
>>
>> On Fri, Apr 23, 2021 at 8:52 PM Ahmad Nouralizadeh Khorrami via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>> Hi Pawel,
>> Yes.
>>
>> On Saturday, 24 April 2021, pawel k. <pawel.kunio at gmail.com> wrote:
>>
>> Hello,
>> Do You have sources for all the libraries that will be distributed as
>> dlls?
>>
>> Best regards,
>> Pawel Kunio
>>
>> pt., 23.04.2021, 22:02 użytkownik Ahmad Nouralizadeh Khorrami via
>> llvm-dev <llvm-dev at lists.llvm.org> napisał:
>>
>> Hi,
>> Typical whole program IR level analyses are done by means of module
>> passes. The modules should be linked before the analysis process.
>> 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?
>> Regards.
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> <https://urldefense.com/v3/__https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev__;!!DZ3fjg!u4VQPAnIiZn7aZ7cCB30yAsuwi4iG2eMe2cGZ5zGFYuMB1KV04QbMyHyE3rITRoX7Bs$>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> <https://urldefense.com/v3/__https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev__;!!DZ3fjg!u4VQPAnIiZn7aZ7cCB30yAsuwi4iG2eMe2cGZ5zGFYuMB1KV04QbMyHyE3rITRoX7Bs$>
>>
>>
>>
>> --
>>
>> Jakub Kuderski
>>
>>
>> *Attachments:*
>>
>>    - ATT00001.txt
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210426/731f0587/attachment.html>


More information about the llvm-dev mailing list