diff options
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/ProcessLinux.cpp | 13 | ||||
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/ProcessLinux.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp index 5e9a19db616..6e9c0fb311b 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 16c2bec4e52..3e23a7ad37e 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 //------------------------------------------------------------------ |

