[LLVMdev] ELFObjectFile changes, llvm-objdump showing 'wrong' values?
Will Dietz
willdtz at gmail.com
Sun Jan 22 21:32:23 PST 2012
Hi all,
I'm using the MC framework for a project, and while updating to latest
trunk (r148672) encountered the following issue:
It seems that SymbolRef::getAddress and SymbolRef::getFileOffset have
been changed to add the symbol's offset to the offset of the
containing section?
This has the following implications:
To get the /actual/ fileoffset, I now need to do:
Symbol.getFileOffset() - ContainingSection.getFileOffset()
And to get the address relative to the section, I do:
Symbol.getFileOffset() - 2*ContainingSection.getFileOffset()
I suspect this isn't the desired functionality (what use is the
original value?)?
You can also see the impact of this on the tool llvm-objdump (as well
as llvm-nm), as shown below:
Normal objdump: http://pastebin.com/Fsv3Vvye
vs llvm-objdump: http://pastebin.com/MRryQe4D
I believe r148653 caused this, but haven't verified directly. This
didn't happen as of r148100.
Am I missing something (my code borrows a good deal from llvm-objdump
and llvm-nm, so if they are doing something wrong with respect to
these new changes, so am I), or is this something that should be
fixed?
Thanks for your time!
~Will
More information about the llvm-dev
mailing list