forked from OSchip/llvm-project
Fix a check that was attempting to see if an object file was in memory.
Checking if an object file is in memory should use the ObjectFile::IsInMemory(), not test ObjectFile::BaseAddress(). ObjectFile::BaseAddress() is designed to be overridden by all classes and is for mach-o, ELF and COFF plug-ins. They find the header base adddress and return that as a section offset address. The default implementation of ObjectFile::BaseAddress() does try and make an Address() from the ObjectFile::m_memory_addr, but I switched it to a correct function call. Differential Revision: https://reviews.llvm.org/D86122
This commit is contained in:
parent
0b98a59fed
commit
08748d15b8
|
@ -1628,7 +1628,7 @@ void ObjectFileMachO::ProcessSegmentCommand(const load_command &load_cmd_,
|
|||
} else if (unified_section_sp) {
|
||||
if (is_dsym && unified_section_sp->GetFileAddress() != load_cmd.vmaddr) {
|
||||
// Check to see if the module was read from memory?
|
||||
if (module_sp->GetObjectFile()->GetBaseAddress().IsValid()) {
|
||||
if (module_sp->GetObjectFile()->IsInMemory()) {
|
||||
// We have a module that is in memory and needs to have its file
|
||||
// address adjusted. We need to do this because when we load a file
|
||||
// from memory, its addresses will be slid already, yet the addresses
|
||||
|
|
Loading…
Reference in New Issue