summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python/interface
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-09-24 00:52:29 +0000
committerGreg Clayton <gclayton@apple.com>2011-09-24 00:52:29 +0000
commitcac9c5f971eb7fda865982dbb6180d77aa5a45bf (patch)
treeefac05a2f3ad55c656c0c2397c3407e358efc5b1 /lldb/scripts/Python/interface
parent6027c94d2f7f31917226e0eaa544d22cdf90a713 (diff)
downloadbcm5719-llvm-cac9c5f971eb7fda865982dbb6180d77aa5a45bf.tar.gz
bcm5719-llvm-cac9c5f971eb7fda865982dbb6180d77aa5a45bf.zip
Added to the public API to allow symbolication:
- New SBSection objects that are object file sections which can be accessed through the SBModule classes. You can get the number of sections, get a section at index, and find a section by name. - SBSections can contain subsections (first find "__TEXT" on darwin, then us the resulting SBSection to find "__text" sub section). - Set load addresses for a SBSection in the SBTarget interface - Set the load addresses of all SBSection in a SBModule in the SBTarget interface - Add a new module the an existing target in the SBTarget interface - Get a SBSection from a SBAddress object This should get us a lot closer to being able to symbolicate using LLDB through the public API. llvm-svn: 140437
Diffstat (limited to 'lldb/scripts/Python/interface')
-rw-r--r--lldb/scripts/Python/interface/SBAddress.i4
-rw-r--r--lldb/scripts/Python/interface/SBDebugger.i7
-rw-r--r--lldb/scripts/Python/interface/SBModule.i15
-rw-r--r--lldb/scripts/Python/interface/SBTarget.i25
4 files changed, 46 insertions, 5 deletions
diff --git a/lldb/scripts/Python/interface/SBAddress.i b/lldb/scripts/Python/interface/SBAddress.i
index f0e2253438c..88cf0c453a6 100644
--- a/lldb/scripts/Python/interface/SBAddress.i
+++ b/lldb/scripts/Python/interface/SBAddress.i
@@ -79,8 +79,8 @@ public:
bool
GetDescription (lldb::SBStream &description);
- SectionType
- GetSectionType ();
+ lldb::SBSection
+ GetSection ();
%feature("docstring", "
//------------------------------------------------------------------
diff --git a/lldb/scripts/Python/interface/SBDebugger.i b/lldb/scripts/Python/interface/SBDebugger.i
index 60f4864ee35..184109b5a5a 100644
--- a/lldb/scripts/Python/interface/SBDebugger.i
+++ b/lldb/scripts/Python/interface/SBDebugger.i
@@ -177,6 +177,13 @@ public:
FILE *err);
lldb::SBTarget
+ CreateTarget (const char *filename,
+ const char *target_triple,
+ const char *platform_name,
+ bool add_dependent_modules,
+ lldb::SBError& sb_error);
+
+ lldb::SBTarget
CreateTargetWithFileAndTargetTriple (const char *filename,
const char *target_triple);
diff --git a/lldb/scripts/Python/interface/SBModule.i b/lldb/scripts/Python/interface/SBModule.i
index 6f78dff68df..466fcfad796 100644
--- a/lldb/scripts/Python/interface/SBModule.i
+++ b/lldb/scripts/Python/interface/SBModule.i
@@ -89,9 +89,11 @@ public:
const char *
GetUUIDString () const;
- bool
- ResolveFileAddress (lldb::addr_t vm_addr,
- lldb::SBAddress& addr);
+ lldb::SBSection
+ FindSection (const char *sect_name);
+
+ lldb::SBAddress
+ ResolveFileAddress (lldb::addr_t vm_addr);
lldb::SBSymbolContext
ResolveSymbolContextForAddress (const lldb::SBAddress& addr,
@@ -106,6 +108,13 @@ public:
lldb::SBSymbol
GetSymbolAtIndex (size_t idx);
+ size_t
+ GetNumSections ();
+
+ lldb::SBSection
+ GetSectionAtIndex (size_t idx);
+
+
%feature("docstring", "
//------------------------------------------------------------------
/// Find functions by name.
diff --git a/lldb/scripts/Python/interface/SBTarget.i b/lldb/scripts/Python/interface/SBTarget.i
index aafc80bea39..acd894cb57a 100644
--- a/lldb/scripts/Python/interface/SBTarget.i
+++ b/lldb/scripts/Python/interface/SBTarget.i
@@ -277,18 +277,43 @@ public:
lldb::SBFileSpec
GetExecutable ();
+ bool
+ AddModule (lldb::SBModule &module);
+
+ lldb::SBModule
+ AddModule (const char *path,
+ const char *triple,
+ const char *uuid);
+
uint32_t
GetNumModules () const;
lldb::SBModule
GetModuleAtIndex (uint32_t idx);
+ bool
+ RemoveModule (lldb::SBModule module);
+
lldb::SBDebugger
GetDebugger() const;
lldb::SBModule
FindModule (const lldb::SBFileSpec &file_spec);
+ lldb::SBError
+ SetSectionLoadAddress (lldb::SBSection section,
+ lldb::addr_t section_base_addr);
+
+ lldb::SBError
+ ClearSectionLoadAddress (lldb::SBSection section);
+
+ lldb::SBError
+ SetModuleLoadAddress (lldb::SBModule module,
+ int64_t sections_offset);
+
+ lldb::SBError
+ ClearModuleLoadAddress (lldb::SBModule module);
+
%feature("docstring", "
//------------------------------------------------------------------
/// Find functions by name.
OpenPOWER on IntegriCloud