Extended the IR interpreter to support symbols
that have valid load addresses.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151636 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Expression/ClangExpressionDeclMap.cpp b/source/Expression/ClangExpressionDeclMap.cpp
index 02c93cb..971a3f6 100644
--- a/source/Expression/ClangExpressionDeclMap.cpp
+++ b/source/Expression/ClangExpressionDeclMap.cpp
@@ -1043,10 +1043,22 @@
                         
             Value ret;
         
-            uint64_t symbol_addr = sym_address.GetFileAddress();
-
-            ret.GetScalar() = symbol_addr;
-            ret.SetValueType(Value::eValueTypeFileAddress);
+            ProcessSP process_sp (m_parser_vars->m_exe_ctx.GetProcessSP());
+            
+            if (process_sp)
+            {
+                uint64_t symbol_load_addr = sym_address.GetLoadAddress(&process_sp->GetTarget());
+                
+                ret.GetScalar() = symbol_load_addr;
+                ret.SetValueType(Value::eValueTypeLoadAddress);
+            }
+            else 
+            {
+                uint64_t symbol_file_addr = sym_address.GetFileAddress();
+                
+                ret.GetScalar() = symbol_file_addr;
+                ret.SetValueType(Value::eValueTypeFileAddress);
+            }
             
             return ret;
         }