summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Wilson <wilsons@start.ca>2011-01-15 00:10:37 +0000
committerStephen Wilson <wilsons@start.ca>2011-01-15 00:10:37 +0000
commitc4391cb11e559319fa882460d2971f060cb62298 (patch)
treee0649abe4baa3764f1a75be9acf18562193157e1
parent7f3b57ca35f2c48999b7a087c7bcb95641c1b6e4 (diff)
downloadbcm5719-llvm-c4391cb11e559319fa882460d2971f060cb62298.tar.gz
bcm5719-llvm-c4391cb11e559319fa882460d2971f060cb62298.zip
Implement ProcessLinux::GetImageInfoAddress().
llvm-svn: 123499
-rw-r--r--lldb/source/Plugins/Process/Linux/ProcessLinux.cpp13
-rw-r--r--lldb/source/Plugins/Process/Linux/ProcessLinux.h3
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
//------------------------------------------------------------------
OpenPOWER on IntegriCloud