I wrote a module pass to generate a call graph. I want to generate call graph which would consist of all the functions like the functions in the user code as well as the functions in the libraries.
To be more specific, I am working with binutils 2.26 https://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.gz
I want to generate the call graph for 'objdump'. The code of the objdump would call some functions in the library 'libiberty' these called functions in the library can call more internal functions inside the library.
I want a call graph which will include all such functions.
One way to do is that I can emit llvm code for all the files in the library as well as the user code in separate .ll files. And then finally combine them using llvm-link. But this may fail if there are dependencies here and there. So can I do this systematically by making some changes in configure file or makefile without disturbing any dependencies.
Any help is highly appreciated.