diff --git a/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp index 5e9a19db6160..6e9c0fb311bf 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp @@ -149,6 +149,19 @@ ProcessLinux::DoResume() return Error(); } +addr_t +ProcessLinux::GetImageInfoAddress() +{ + Target *target = &GetTarget(); + ObjectFile *obj_file = target->GetExecutableModule()->GetObjectFile(); + Address addr = obj_file->GetImageInfoAddress(); + + if (addr.IsValid()) + return addr.GetLoadAddress(target); + else + return LLDB_INVALID_ADDRESS; +} + Error ProcessLinux::DoHalt(bool &caused_stop) { diff --git a/lldb/source/Plugins/Process/Linux/ProcessLinux.h b/lldb/source/Plugins/Process/Linux/ProcessLinux.h index 16c2bec4e522..3e23a7ad37ee 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessLinux.h +++ b/lldb/source/Plugins/Process/Linux/ProcessLinux.h @@ -128,6 +128,9 @@ public: virtual lldb::ByteOrder GetByteOrder() const; + virtual lldb::addr_t + GetImageInfoAddress(); + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------