Turning my comment into a response.
You can see the output of the assembly and the process using the script. Assuming gcc on linux, you pass the -S
flag to gcc
and process the result like this:
perl -ne '/^([^. \t#].*):/ and $f=$1;/call\s+([^*]\S*)/ and print "$f -> $1\n";' *.S
This will give you a string for each static call containing the calling and called functions. You can add a little template around this file and pass the result to dot
or whatever you do with it.
You can omit part of the βdo not have to start with a starβ regular expression to get some indication of indirect calls. You still cannot tell what functions will be called at that moment, but at least you will find out that there is something else to know.
source share