mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-27 00:21:03 +00:00
[DWARF parser] Add basic support for DWZ DWARF multifile extensions.
This change implements basic support for DWARF alternate sections proposal: http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open LLVM tools now understand new forms: DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt, which are used as references to .debug_info and .debug_str sections respectively, stored in a separate file, and possibly shared between different executables / shared objects. llvm-dwarfdump and llvm-symbolizer don't yet know how to access this alternate debug file (usually pointed by .gnu_debugaltlink section), but they can at lease properly parse and dump regular files, which refer to it. This change should fix crashes of llvm-dwarfdump and llvm-symbolizer on files produced by running "dwz" tool. Such files are already installed on some modern Linux distributions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237721 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -233,6 +233,10 @@ const char *llvm::dwarf::FormEncodingString(unsigned Encoding) {
|
||||
// DWARF5 Fission Extension Forms
|
||||
case DW_FORM_GNU_addr_index: return "DW_FORM_GNU_addr_index";
|
||||
case DW_FORM_GNU_str_index: return "DW_FORM_GNU_str_index";
|
||||
|
||||
// Alternate debug sections proposal (output of "dwz" tool).
|
||||
case DW_FORM_GNU_ref_alt: return "DW_FORM_GNU_ref_alt";
|
||||
case DW_FORM_GNU_strp_alt: return "DW_FORM_GNU_strp_alt";
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user