diff options
author | Greg Clayton <gclayton@apple.com> | 2014-02-07 22:54:47 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2014-02-07 22:54:47 +0000 |
commit | 751caf65c26cf20b805e73ef650d688cfe7f7bc6 (patch) | |
tree | cfe358359bb94866b91dd339f4549370621215d6 /lldb/source/Core | |
parent | c7fb225cdc4662535340acb5ee0749a5c6d3c7d3 (diff) | |
download | bcm5719-llvm-751caf65c26cf20b805e73ef650d688cfe7f7bc6.tar.gz bcm5719-llvm-751caf65c26cf20b805e73ef650d688cfe7f7bc6.zip |
Modified ObjectFile::SetLoadAddress() to now be:
ObjectFile::SetLoadAddress (Target &target,
lldb::addr_t value,
bool value_is_offset);
Now "value" is a slide if "value_is_offset" is true, and "value" is an image base address otherwise. All previous usage of this API was using slides.
Updated the ObjectFileELF and ObjectFileMachO SetLoadAddress methods to do the right thing.
Also updated the ObjectFileMachO::SetLoadAddress() function to not load __LINKEDIT when it isn't needed and to only load sections that belong to the executable object file.
llvm-svn: 201003
Diffstat (limited to 'lldb/source/Core')
-rw-r--r-- | lldb/source/Core/DynamicLoader.cpp | 3 | ||||
-rw-r--r-- | lldb/source/Core/Module.cpp | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lldb/source/Core/DynamicLoader.cpp b/lldb/source/Core/DynamicLoader.cpp index 0f53da8b97f..1f545b727a1 100644 --- a/lldb/source/Core/DynamicLoader.cpp +++ b/lldb/source/Core/DynamicLoader.cpp @@ -128,7 +128,8 @@ void DynamicLoader::UpdateLoadedSectionsCommon(ModuleSP module, addr_t base_addr) { bool changed; - module->SetLoadAddress(m_process->GetTarget(), base_addr, changed); + const bool base_addr_is_offset = true; + module->SetLoadAddress(m_process->GetTarget(), base_addr, base_addr_is_offset, changed); } void diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp index ab4bcbbb0d0..d5758c09b1e 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -1500,12 +1500,12 @@ Module::SetArchitecture (const ArchSpec &new_arch) } bool -Module::SetLoadAddress (Target &target, lldb::addr_t offset, bool &changed) +Module::SetLoadAddress (Target &target, lldb::addr_t value, bool value_is_offset, bool &changed) { ObjectFile *object_file = GetObjectFile(); if (object_file) { - changed = object_file->SetLoadAddress(target, offset); + changed = object_file->SetLoadAddress(target, value, value_is_offset); return true; } else |