Split symbol support for ELF and Linux.

llvm-svn: 185366
diff --git a/lldb/source/Core/Address.cpp b/lldb/source/Core/Address.cpp
index 48a3e21..8d599d8 100644
--- a/lldb/source/Core/Address.cpp
+++ b/lldb/source/Core/Address.cpp
@@ -18,6 +18,7 @@
 #include "lldb/Target/ExecutionContext.h"
 #include "lldb/Target/Process.h"
 #include "lldb/Target/Target.h"
+#include "lldb/Symbol/SymbolVendor.h"
 
 #include "llvm/ADT/Triple.h"
 
@@ -456,10 +457,10 @@
                 case eSectionTypeData:
                     if (module_sp)
                     {
-                        ObjectFile *objfile = module_sp->GetObjectFile();
-                        if (objfile)
+                        SymbolVendor *sym_vendor = module_sp->GetSymbolVendor();
+                        if (sym_vendor)
                         {
-                            Symtab *symtab = objfile->GetSymtab();
+                            Symtab *symtab = sym_vendor->GetSymtab();
                             if (symtab)
                             {
                                 const addr_t file_Addr = GetFileAddress();
@@ -1023,7 +1024,11 @@
     {
         ObjectFile *obj_file = module_sp->GetObjectFile();
         if (obj_file)
+        {
+            // Give the symbol vendor a chance to add to the unified section list.
+            module_sp->GetSymbolVendor();
             return obj_file->GetAddressClass (GetFileAddress());
+        }
     }
     return eAddressClassUnknown;
 }