Summary: | [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line | ||
---|---|---|---|
Product: | dwz | Reporter: | Tom de Vries <vries> |
Component: | default | Assignee: | Nobody <nobody> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dwz, mark |
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: |
Description
Tom de Vries
2021-02-24 07:54:46 UTC
Proposed fix: https://sourceware.org/pipermail/dwz/2021q1/000994.html commit 4ac908446df75cec7eb8d52399ed58da59120787 (HEAD -> master, origin/master, origin/HEAD, decl_sdata) Author: Mark Wielaard <mark@klomp.org> Date: Fri Feb 26 15:38:58 2021 +0100 PR27463 Accept DW_FORM_sdata for DW_AT_decl/call_file Using DW_FORM_sdata for DW_AT_decl/call_file is somewhat inefficient since file index numbers are always positive values. But it is a valid form to encode a constant value. Accept DW_FORM_sdata as long as it encodes a positive value. Extend the positive value check to DW_FORM_implicit_const. * dwz.c (checksum_die): Accept DW_FORM_sdata for DW_AT_decl/call_file as long as the value is positive. Also check DW_FORM_implicit_const value is positive for these attributes. (die_eq_1): Handle DW_FORM_sdata for DW_AT_decl/call_file. (build_abbrevs_for_die): Likewise. (write_die): Likewise. * testsuite/dwz.tests/pr27463.sh: New test. * testsuite/lib/unavailable-dwarf-piece.exp: New testfile from gdb. * testsuite/dwz.tests/dwz-tests.exp: Add unavailable-dwarf-piece for pr25109.sh. * testsuite/dwz.tests/main.c (foo): New function and labels. (bar): Likewise. * Makefile (TEST_EXECS_DWARF_ASM): Add unavailable-dwarf-piece. https://sourceware.org/bugzilla/show_bug.cgi?id=27463 |