Paul Muntean via llvm-dev
2017-Jan-17 16:22 UTC
[llvm-dev] Map all returns of virtual functions to their corresponding return addresses
Hi guys, basically I want to do caller/callee mapping by adding runtime checks which checks for the allowed ranges before each C/C++ return is executed. I have a forward mapping of all virtual object dispatches to the allowed virtual table entries for a given class hierarchy. This data is collected during LLVM LTO. Now I want to do the same for all the virtual function returns. Since the forward mapping is telling me which functions should be accessible I need to determine in order to precisely map backward the following information. 1. From where in Clang/LLVM to get the return addresses for each return contained in a virtual function. Is it possible to be obtained this information during compile time? 2. How to determine in which function a certain return is contained. Next how to determine to which class that function belongs to? Thanks in advance, Paul