Enable all the new accelerator tables if they are present and don't manually
index the DWARF. Also fixed an issue with memory accelerator tables with a
size of 1 where we would loop infinitely.

Added support for parsing the new .apple_namespaces section which gives us a
memory hash table for looking up namespaces.

llvm-svn: 141128
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index a833a67..78ca17f 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -257,6 +257,7 @@
                     case eSectionTypeDWARFDebugStr:         return eAddressClassDebug;
                     case eSectionTypeDWARFAppleNames:       return eAddressClassDebug;
                     case eSectionTypeDWARFAppleTypes:       return eAddressClassDebug;
+                    case eSectionTypeDWARFAppleNamespaces:  return eAddressClassDebug;
                     case eSectionTypeEHFrame:               return eAddressClassRuntime;
                     case eSectionTypeOther:                 return eAddressClassUnknown;
                     }
@@ -509,6 +510,7 @@
                         static ConstString g_sect_name_dwarf_debug_str ("__debug_str");
                         static ConstString g_sect_name_dwarf_apple_names ("__apple_names");
                         static ConstString g_sect_name_dwarf_apple_types ("__apple_types");
+                        static ConstString g_sect_name_dwarf_apple_namespaces ("__apple_namespac");
                         static ConstString g_sect_name_eh_frame ("__eh_frame");
                         static ConstString g_sect_name_DATA ("__DATA");
                         static ConstString g_sect_name_TEXT ("__TEXT");
@@ -541,6 +543,8 @@
                             sect_type = eSectionTypeDWARFAppleNames;
                         else if (section_name == g_sect_name_dwarf_apple_types)
                             sect_type = eSectionTypeDWARFAppleTypes;
+                        else if (section_name == g_sect_name_dwarf_apple_namespaces)
+                            sect_type = eSectionTypeDWARFAppleNamespaces;
                         else if (section_name == g_sect_name_objc_selrefs)
                             sect_type = eSectionTypeDataCStringPointers;
                         else if (section_name == g_sect_name_objc_msgrefs)