Summary: | [dwz, dwarf5] Add --dwarf-5 flag to generate .debug_sup, ref_sup and strp_sup | ||
---|---|---|---|
Product: | dwz | Reporter: | Mark Wielaard <mark> |
Component: | default | Assignee: | Nobody <nobody> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dwz, jakub, tromey |
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
URL: | https://sourceware.org/pipermail/dwz/2021q1/000930.html | ||
Host: | Target: | ||
Build: | Last reconfirmed: | ||
Bug Depends on: | |||
Bug Blocks: | 24726 |
Description
Mark Wielaard
2021-02-19 11:43:28 UTC
I found out today that gdb doesn't support these forms. It also doesn't know about .debug_sup. I think no consumer does, because nothing was producing that. Which is why it is produced under non-default switch now, so that consumers can be adapted and perhaps in 6 months or 12 months we can switch the default (in that case probably only if there were DWARF 5 CUs present, at least some). I sent a gdb patch to handle this. https://sourceware.org/pipermail/gdb-patches/2021-February/176508.html commit 4e55da9f7700dda5936c7a486651674dbc782a7e Author: Jakub Jelinek <jakub@redhat.com> Date: Sat Feb 20 10:47:53 2021 +0100 PR27440 - add --dwarf-5 support This adds --dwarf-5 support, so that dwz can emit standard DWARF 5 Supplementary object files with .debug_sup section and debug info referring to those with .debug_sup section instead of .gnu.debugaltlink and standard DWARF 5 DW_FORM_*sup instead of the DW_FORM_GNU_*alt forms. * dwz.1: Document --dwarf-5 and -5 options. * dwz.c (enum debug_section_kind): Add DEBUG_SUP. (debug_sections): Add .debug_sup section entry. (multifile_name, multifile_relative): Adjust comment. (dwarf_5): New variable. (note_strp_offset2): Adjust function comment. If dwarf_5, return DW_FORM_strp_sup instead of DW_FORM_GNU_strp_alt. (macro_eq, read_macro, optimize_write_macro, handle_macro): Use standard DWARF 5 DW_MACRO_* names instead of their DW_MACRO_GNU_* aliases. (write_macro): Likewise. Handle DW_FORM_strp_sup. (build_abbrevs_for_die): If dwarf_5, use DW_FORM_ref_sup4 instead of DW_FORM_GNU_ref_alt. (write_unit_die): Handle DW_FORM_strp_sup. (write_die): Handle DW_FORM_ref_sup4 and DW_FORM_strp_sup. (read_dwarf): Fail if .debug_sup section is present, unless rd_multifile in dwarf_5 mode. (dwz): Write .debug_sup section instead of .gnu.debugaltlink if dwarf_5. (optimize_multifile): Write .debug_sup section instead of .note.gnu.build-id. (dwz_options): Add --dwarf-5 and -5 options. (dwz_multi_file_options_help): Mention .debug_sup section in -M description. Add --dwarf-5 description. (main): Handle --dwarf-5 and -5 options. |