summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/test/lldbutil.py13
-rw-r--r--lldb/test/python_api/module_section/TestModuleAndSection.py8
2 files changed, 16 insertions, 5 deletions
diff --git a/lldb/test/lldbutil.py b/lldb/test/lldbutil.py
index 2143b93469b..a9896fa3954 100644
--- a/lldb/test/lldbutil.py
+++ b/lldb/test/lldbutil.py
@@ -53,10 +53,17 @@ def in_range(symbol, section):
symEA = symbol.GetEndAddress().GetFileAddress()
secSA = section.GetFileAddress()
secEA = secSA + section.GetByteSize()
- if (secSA <= symSA and symEA < secEA):
- return True
+
+ if symEA != lldb.LLDB_INVALID_ADDRESS:
+ if secSA <= symSA and symEA <= secEA:
+ return True
+ else:
+ return False
else:
- return False
+ if secSA <= symSA and symSA < secEA:
+ return True
+ else:
+ return False
def symbol_iter(module, section):
"""Given a module and its contained section, returns an iterator on the
diff --git a/lldb/test/python_api/module_section/TestModuleAndSection.py b/lldb/test/python_api/module_section/TestModuleAndSection.py
index 66f46b8bc97..cecc5ab61f2 100644
--- a/lldb/test/python_api/module_section/TestModuleAndSection.py
+++ b/lldb/test/python_api/module_section/TestModuleAndSection.py
@@ -43,8 +43,12 @@ class ModuleAndSectionAPIsTestCase(TestBase):
INDENT2 = INDENT * 2
for sec in exe_module.section_iter():
print sec
- if sec.GetName() == "__TEXT":
- print INDENT + "Number of subsections: %d" % sec.GetNumSubSections()
+ print INDENT + "Number of subsections: %d" % sec.GetNumSubSections()
+ if sec.GetNumSubSections() == 0:
+ for sym in symbol_iter(exe_module, sec):
+ print INDENT + repr(sym)
+ print INDENT + "symbol type: %s" % symbol_type_to_str(sym.GetType())
+ else:
for subsec in sec:
print INDENT + repr(subsec)
# Now print the symbols belonging to the subsection....
OpenPOWER on IntegriCloud