How to extract function caller callee relation from an object file?
Fri Mar 26 16:22:05 GMT 2021
On 3/26/21 12:13 PM, Nick Clifton via Binutils wrote:
>> Also, I don't quite understand " b: e8 00 00 00 00
>> callq 10
>> <print+0x10>". Why I don't see a call to `puts()`? Thanks.
> The compiler has probably replaced the call to puts() with a call to
> printf() instead.
Not quite. We are dealing with an object file here. At this point,
[link-time] addresses have not been resolved, so we are given a call
instruction with an `empty' predicate. When the linker runs, generating
the final executable, the proper address will be placed in there. This
is what we are seeing in both print() and print2() functions.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 195 bytes
Desc: OpenPGP digital signature
More information about the Binutils