Modify lldbutil.in_range(symbol, section) to deal with the symbol whose
end address is an LLDB_INVALID_ADDRESS.  Modify the test case to dump
all the symbols in all the sections.

llvm-svn: 140710
diff --git a/lldb/test/lldbutil.py b/lldb/test/lldbutil.py
index 2143b93..a9896fa 100644
--- a/lldb/test/lldbutil.py
+++ b/lldb/test/lldbutil.py
@@ -53,10 +53,17 @@
     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 66f46b8..cecc5ab 100644
--- a/lldb/test/python_api/module_section/TestModuleAndSection.py
+++ b/lldb/test/python_api/module_section/TestModuleAndSection.py
@@ -43,8 +43,12 @@
         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....