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
This commit is contained in:
Greg Clayton
2011-09-24 00:52:29 +00:00
parent 6027c94d2f
commit cac9c5f971
33 changed files with 1171 additions and 157 deletions

View File

@@ -66,7 +66,7 @@ class SymbolAPITestCase(TestBase):
self.assertTrue(symbol_line1.GetType() == lldb.eSymbolTypeCode)
addr_line1 = symbol_line1.GetStartAddress()
# And a section type of code, too.
self.assertTrue(addr_line1.GetSectionType() == lldb.eSectionTypeCode)
self.assertTrue(addr_line1.GetSection().GetSectionType() == lldb.eSectionTypeCode)
# Continue the inferior, the breakpoint 2 should be hit.
process.Continue()
@@ -79,7 +79,7 @@ class SymbolAPITestCase(TestBase):
self.assertTrue(symbol_line2.GetType() == lldb.eSymbolTypeCode)
addr_line2 = symbol_line2.GetStartAddress()
# And a section type of code, too.
self.assertTrue(addr_line2.GetSectionType() == lldb.eSectionTypeCode)
self.assertTrue(addr_line2.GetSection().GetSectionType() == lldb.eSectionTypeCode)
# Now verify that both addresses point to the same module.
if self.TraceOn():