diff options
-rw-r--r-- | lldb/test/lldbutil.py | 13 | ||||
-rw-r--r-- | lldb/test/python_api/module_section/TestModuleAndSection.py | 8 |
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.... |