[Lldb-commits] [lldb] r127166 - /lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Greg Clayton
gclayton at apple.com
Mon Mar 7 10:51:54 PST 2011
Author: gclayton
Date: Mon Mar 7 12:51:54 2011
New Revision: 127166
URL: http://llvm.org/viewvc/llvm-project?rev=127166&view=rev
Log:
Don't cache .o files in the debug map + DWARF in .o files. If we cache them
then we end up using older .o files with out of date section remappings if
we debug, compile + fix, and debug again.
Modified:
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp?rev=127166&r1=127165&r2=127166&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp Mon Mar 7 12:51:54 2011
@@ -165,7 +165,18 @@
if (oso_symbol)
{
FileSpec oso_file_spec(oso_symbol->GetMangled().GetName().AsCString(), true);
-
+//#define SYMBOL_FILE_DWARF_DEBUG_MODULES 1
+#if defined (SYMBOL_FILE_DWARF_DEBUG_MODULES)
+ // Normally we don't want the .o files we open added to the shared
+ // module list. This is because we will add our own section
+ // remappning to each .o file, and if the executable changes, yet
+ // the .o file does not change, we can't have the old remapped
+ // sections in the .o file since they can be out of date. But when
+ // debugging issues in the debug map + DWARF in .o files, it is nice
+ // to be able to use the "image XXX" commands to look at the symbol
+ // tables and sections in the .o files, so the SYMBOL_FILE_DWARF_DEBUG_MODULES
+ // can be used when debugging issues, but it shouldn't be left in
+ // for normal debugging.
ModuleList::GetSharedModule (oso_file_spec,
m_obj_file->GetModule()->GetArchitecture(),
NULL, // lldb_private::UUID pointer
@@ -174,7 +185,9 @@
comp_unit_info->oso_module_sp,
NULL,
NULL);
- //comp_unit_info->oso_module_sp.reset(new Module (oso_file_spec, m_obj_file->GetModule()->GetArchitecture()));
+#else
+ comp_unit_info->oso_module_sp.reset(new Module (oso_file_spec, m_obj_file->GetModule()->GetArchitecture()));
+#endif
}
}
return comp_unit_info->oso_module_sp.get();
More information about the lldb-commits
mailing list