[LLVMdev] indirect calls tracking and control flow graph

John Criswell criswell at illinois.edu
Fri May 2 07:53:13 PDT 2014


On 5/2/14, 9:49 AM, Petsas Athanasios wrote:
>
>
>
> On Mon, Apr 28, 2014 at 10:30 PM, John Criswell <criswell at illinois.edu 
> <mailto:criswell at illinois.edu>> wrote:
>
>     Dear Petsas,
>
>     For analyzing indirect function calls, your best bet is probably
>     to use the CallGraph analysis pass that is part of DSA.  DSA is
>     included in the poolalloc code; you can get directions on
>     downloading poolalloc from the SVA web page:
>     http://sva.cs.illinois.edu/docs/Install.html.
>
>     The release_32 branch works with LLVM 3.2.  I think mainline
>     poolalloc was recently updated to work with LLVM 3.4.
>
>
> Do you know where I can find mainline poolalloc so as I can compile it 
> with
> LLVM 3.4 ?

svn co http://llvm.org/svn/llvm-project/poolalloc/trunk poolalloc

Regards,

John Criswell

>
>
>     Regards,
>
>     John Criswell
>
>
>
>     On 4/28/14 8:10 AM, Petsas Athanasios wrote:
>>     Dear all,
>>
>>     I would like to keep track of all the indirect calls that may
>>     caused from function
>>     pointers inside a program. I need this in order to be able to
>>     construct the control
>>     flow graph of all the indirect calls, that is which function is
>>     legal to call another
>>     function.
>>
>>     Is there a module that implements this functionality in llvm? If
>>     not, is there a way to
>>     do it? Maybe through implementing a pass. I am new to llvm. Could
>>     you suggest me
>>     a way to start doing this? Perhaps the llvm intermediate code can
>>     help me on this.
>>     Do you know where this code is being produced? or what files or
>>     passes do I have
>>     to modify for this?
>>
>>     Until now I have used this command to produce and study the llvm
>>     bitcode for a test
>>     program:
>>     clang -S -emit-llvm fpointers.c -c -o fpointers.bc.text
>>
>>     Thank you,
>>
>>     -- 
>>     Thanasis Petsas
>>     Distributed Computing Systems (DCS)
>>     Institute of Computer Science (ICS/FORTH)
>>     Heraklion, Crete
>>     Greece (GR)
>>
>>     http://www.thanasispetsas.com/
>>
>>
>>     _______________________________________________
>>     LLVM Developers mailing list
>>     LLVMdev at cs.uiuc.edu  <mailto:LLVMdev at cs.uiuc.edu>          http://llvm.cs.uiuc.edu
>>     http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
> -- 
> Thanasis Petsas
> Distributed Computing Systems (DCS)
> Institute of Computer Science (ICS/FORTH)
> Heraklion, Crete
> Greece (GR)
>
> http://www.thanasispetsas.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140502/86805a88/attachment.html>


More information about the llvm-dev mailing list