* [Bug default/27463] New: [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line @ 2021-02-24 7:54 vries at gcc dot gnu.org 2021-02-26 16:06 ` [Bug default/27463] " mark at klomp dot org 2021-02-26 16:58 ` mark at klomp dot org 0 siblings, 2 replies; 3+ messages in thread From: vries at gcc dot gnu.org @ 2021-02-24 7:54 UTC (permalink / raw) To: dwz https://sourceware.org/bugzilla/show_bug.cgi?id=27463 Bug ID: 27463 Summary: [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line Product: dwz Version: unspecified Status: NEW Severity: normal Priority: P2 Component: default Assignee: nobody at sourceware dot org Reporter: vries at gcc dot gnu.org CC: dwz at sourceware dot org Target Milestone: --- Regression since commit 4100572 "Handle DW_FORM_implicit_const for DW_AT_decl_line". With the gdb regression testsuite, using target board cc-with-dwz, we run into: ... $ dwz build/gdb/testsuite/outputs/gdb.trace/unavailable-dwarf-piece/unavailable-dwarf-piece -o z dwz: unavailable-dwarf-piece: Unhandled DW_FORM_sdata for DW_AT_decl_line ... The commit added this code: ... switch (form) { case DW_FORM_data1: value = read_8 (ptr); handled = true; break; case DW_FORM_data2: value = read_16 (ptr); handled = true; break; case DW_FORM_data4: value = read_32 (ptr); handled = true; break; case DW_FORM_data8: value = read_64 (ptr); handled = true; break; case DW_FORM_udata: value = read_uleb128 (ptr); handled = true; break; case DW_FORM_implicit_const: value = t->values[i]; handled = true; break; default: error (0, 0, "%s: Unhandled %s for %s", dso->filename, get_DW_FORM_str (form), get_DW_AT_str (t->attr[i].attr)); return 1; } ... and the error case triggers. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug default/27463] [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line 2021-02-24 7:54 [Bug default/27463] New: [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line vries at gcc dot gnu.org @ 2021-02-26 16:06 ` mark at klomp dot org 2021-02-26 16:58 ` mark at klomp dot org 1 sibling, 0 replies; 3+ messages in thread From: mark at klomp dot org @ 2021-02-26 16:06 UTC (permalink / raw) To: dwz https://sourceware.org/bugzilla/show_bug.cgi?id=27463 Mark Wielaard <mark at klomp dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mark at klomp dot org --- Comment #1 from Mark Wielaard <mark at klomp dot org> --- Proposed fix: https://sourceware.org/pipermail/dwz/2021q1/000994.html -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug default/27463] [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line 2021-02-24 7:54 [Bug default/27463] New: [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line vries at gcc dot gnu.org 2021-02-26 16:06 ` [Bug default/27463] " mark at klomp dot org @ 2021-02-26 16:58 ` mark at klomp dot org 1 sibling, 0 replies; 3+ messages in thread From: mark at klomp dot org @ 2021-02-26 16:58 UTC (permalink / raw) To: dwz https://sourceware.org/bugzilla/show_bug.cgi?id=27463 Mark Wielaard <mark at klomp dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #2 from Mark Wielaard <mark at klomp dot org> --- 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 -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-02-26 16:58 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-02-24 7:54 [Bug default/27463] New: [dwz] Unhandled DW_FORM_sdata for DW_AT_decl_line vries at gcc dot gnu.org 2021-02-26 16:06 ` [Bug default/27463] " mark at klomp dot org 2021-02-26 16:58 ` mark at klomp dot org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).