Fixed the dispatch queue name retrieval for threads by looking in an extra
shlib.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116315 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index c3b0c9d..c9b5955 100644
--- a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -2243,11 +2243,18 @@
         // to look it up
         if (m_dispatch_queue_offsets_addr == LLDB_INVALID_ADDRESS)
         {
+            static ConstString g_dispatch_queue_offsets_symbol_name ("dispatch_queue_offsets");
+            const Symbol *dispatch_queue_offsets_symbol = NULL;
             ModuleSP module_sp(GetTarget().GetImages().FindFirstModuleForFileSpec (FileSpec("libSystem.B.dylib")));
-            if (module_sp.get() == NULL)
-                return NULL;
-
-            const Symbol *dispatch_queue_offsets_symbol = module_sp->FindFirstSymbolWithNameAndType (ConstString("dispatch_queue_offsets"), eSymbolTypeData);
+            if (module_sp)
+                dispatch_queue_offsets_symbol = module_sp->FindFirstSymbolWithNameAndType (g_dispatch_queue_offsets_symbol_name, eSymbolTypeData);
+            
+            if (dispatch_queue_offsets_symbol == NULL)
+            {
+                module_sp = GetTarget().GetImages().FindFirstModuleForFileSpec (FileSpec("libdispatch.dylib"));
+                if (module_sp)
+                    dispatch_queue_offsets_symbol = module_sp->FindFirstSymbolWithNameAndType (g_dispatch_queue_offsets_symbol_name, eSymbolTypeData);
+            }
             if (dispatch_queue_offsets_symbol)
                 m_dispatch_queue_offsets_addr = dispatch_queue_offsets_symbol->GetValue().GetLoadAddress(&m_target);