[Lldb-commits] [PATCH] Introduce DWARFDataExtractor for 64-Bit DWARF parsing

Greg Clayton gclayton at apple.com
Wed Oct 23 17:12:54 PDT 2013


Do we need two functions, one for length and one for DIE offset? Can we consolidate this down to 1 function with a name like "GetDWARFWord" or something better? GetDWARFOffset? We could then switch m_is_dwarf64 to a LazyBool which is set to eLazyBoolCalculate to start with, and set it to eLazyBoolYes or eLazyBoolNo and then do the right thing from there on out.

With the current code, you would have to call GetDWARFInitialLength() first prior to calling and GetDWARFOffset() functions. This might be ok if every DWARF section that contains these special 64 bit entries always has a length that starts it off, but I am guessing that some sections might not have a length?

Greg

On Oct 23, 2013, at 4:57 PM, Ed Maste <emaste at freebsd.org> wrote:

>  Restore consts and make m_is_dwarf64 mutable
> 
> http://llvm-reviews.chandlerc.com/D2007
> 
> CHANGE SINCE LAST DIFF
>  http://llvm-reviews.chandlerc.com/D2007?vs=5100&id=5107#toc
> 
> Files:
>  include/lldb/Core/MappedHash.h
>  source/Plugins/SymbolFile/DWARF/CMakeLists.txt
>  source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h
>  source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
>  source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h
>  source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
>  source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
>  source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h
>  source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp
>  source/Plugins/SymbolFile/DWARF/DWARFLocationList.h
>  source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h
>  source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
>  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
>  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
>  source/Target/ObjCLanguageRuntime.cpp
> <D2007.2.patch>_______________________________________________
> lldb-commits mailing list
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits




More information about the lldb-commits mailing list