How to extract function caller callee relation from an object file?
Orlando Arias
orlandoarias@gmail.com
Fri Mar 26 16:22:05 GMT 2021
Greetings,
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.
Cheers,
Orlando.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 195 bytes
Desc: OpenPGP digital signature
URL: <https://sourceware.org/pipermail/binutils/attachments/20210326/6b87d0b2/attachment-0001.sig>
More information about the Binutils
mailing list