[Lldb-commits] [PATCH] D55356: Add a method to get the "base" file address of an object file
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Tue Dec 11 10:42:07 PST 2018
On 11/12/2018 19:17, Jim Ingham wrote:
> It the section isn't in the target's SectionLoadList, then GetLoadAddress should return LLDB_INVALID_ADDRESS. I.e. this bit from Section::GetLoadBaseAddress:
> load_base_addr = target->GetSectionLoadList().GetSectionLoadAddress(
> const_cast<Section *>(this)->shared_from_this());
> should return LLDB_INVALID_ADDRESS because the section isn't in the load list.
> Are we putting sections in the target's section load list before we've actually seen them loaded. I'm pretty sure we shouldn't do that.
The issue here is that the Address object in question is not backed by
any section. It has a null section, and just an offset member.
In this case Address::GetLoadAddress just decides to return that address
as a load address, which I imagine is correct in some situations, but in
this case our intention was for this address to represent a file address
(which would still need to be adjusted to account for where the module
ended up being loaded).
More information about the lldb-commits