Details
- Reviewers
- None
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | ||
---|---|---|
1403–1436 | This code is fully and exclusively in charge of user_id encoding for the "DWO" case. We can replace 32 by DW_DIE_OFFSET_MAX_BITSIZE from your patch and 0x3fffffff by something like llvm::maskTrailingOnes(62-DW_DIE_OFFSET_MAX_BITSIZE). I believe that is sufficient to make it die-offset-width agnostic. | |
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp | ||
771–789 | This code is fully and exclusively in charge of DIERef->user_id_t conversion for the "oso" case. Replace 32 by DW_DIE_OFFSET_MAX_BITSIZE and dw_offset_t(XXX) by XXX & llvm::maskTrailingOnes<dw_offset_t>(DW_DIE_OFFSET_MAX_BITSIZE) | |
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h | ||
43 | This shift and the one below cancel each other out. Their presence is just a historic artefact. |
This code is fully and exclusively in charge of user_id encoding for the "DWO" case. We can replace 32 by DW_DIE_OFFSET_MAX_BITSIZE from your patch and 0x3fffffff by something like llvm::maskTrailingOnes(62-DW_DIE_OFFSET_MAX_BITSIZE). I believe that is sufficient to make it die-offset-width agnostic.