public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
* [Bug testsuite/31650] New: Dummy CUs Need A DW_AT_compile_unit DIE
@ 2024-04-17 14:44 hawkinsw at obs dot cr
2024-04-17 14:47 ` [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE hawkinsw at obs dot cr
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: hawkinsw at obs dot cr @ 2024-04-17 14:44 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31650
Bug ID: 31650
Summary: Dummy CUs Need A DW_AT_compile_unit DIE
Product: gdb
Version: HEAD
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: testsuite
Assignee: unassigned at sourceware dot org
Reporter: hawkinsw at obs dot cr
CC: vries at gcc dot gnu.org
Target Milestone: ---
In Bug 28235, Tom de Vries added support for "dummy CUs" in order for the
.debug_info from `Dwarf::assemble` to have CUs _at least_ at the very
beginning and very end. It has been helpful sussing out extra bugs.
Unfortunately, those dummy CUs did not contain any DIEs -- they contained only
the header. The standard seems to indicate that the header be followed by a
DW_TAG_compile_unit or a DW_TAG_partial_unit:
> For each compilation unit compiled with a DWARF producer, a contribution is33
> made to the .debug_info section of the object file. Each such contribution34
> consists of a compilation unit header (see Section 7.5.1.1 on page 200) followed
> by a single DW_TAG_compile_unit or DW_TAG_partial_unit debugging
> information entry, together with its children.
(Taken from 198-199 of https://dwarfstd.org/doc/DWARF5.pdf).
As a result, the binaries that include dummy CUs cause llvm-dwarfdump to emit
warnings. For instance, with the main-suprogram test case:
```
hawkinsw@ininer:~/code/binutils-build/gdb/testsuite/outputs$ llvm-dwarfdump
./gdb.dwarf2/main-subprogram/main-subprogram
./gdb.dwarf2/main-subprogram/main-subprogram: file format elf64-x86-64
.debug_info contents:
0x00000000: Compile Unit: length = 0x00000007, format = DWARF32, version =
0x0004, abbr_offset = 0x0000, addr_size = 0x08 (next unit at 0x0000000b)
warning: DWARF unit from offset 0x00000000 incl. to offset 0x0000000b excl.
tries to read DIEs at offset 0x0000000b
<compile unit can't be parsed!>
...
```
The fix seems to be easy. Adding an empty
```
compile_unit {}
```
in the dummy_cu proc in lib/dwarf.exp.
I have a patch about to be send to gdb-patches@ and have tested on
x86_64-redhat-linux.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE 2024-04-17 14:44 [Bug testsuite/31650] New: Dummy CUs Need A DW_AT_compile_unit DIE hawkinsw at obs dot cr @ 2024-04-17 14:47 ` hawkinsw at obs dot cr 2024-04-17 14:54 ` hawkinsw at obs dot cr ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: hawkinsw at obs dot cr @ 2024-04-17 14:47 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31650 Will Hawkins <hawkinsw at obs dot cr> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Dummy CUs Need A |Dummy CUs Need A |DW_AT_compile_unit DIE |DW_TAG_compile_unit DIE -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE 2024-04-17 14:44 [Bug testsuite/31650] New: Dummy CUs Need A DW_AT_compile_unit DIE hawkinsw at obs dot cr 2024-04-17 14:47 ` [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE hawkinsw at obs dot cr @ 2024-04-17 14:54 ` hawkinsw at obs dot cr 2024-04-18 11:28 ` cvs-commit at gcc dot gnu.org 2024-04-18 11:29 ` vries at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: hawkinsw at obs dot cr @ 2024-04-17 14:54 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31650 --- Comment #1 from Will Hawkins <hawkinsw at obs dot cr> --- FYI: https://sourceware.org/pipermail/gdb-patches/2024-April/208197.html PS: I hope that I have navigated the interaction between Bugzilla and gdb-patches@ correctly. I am trying to follow all the rules. Thanks for everything! Will -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE 2024-04-17 14:44 [Bug testsuite/31650] New: Dummy CUs Need A DW_AT_compile_unit DIE hawkinsw at obs dot cr 2024-04-17 14:47 ` [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE hawkinsw at obs dot cr 2024-04-17 14:54 ` hawkinsw at obs dot cr @ 2024-04-18 11:28 ` cvs-commit at gcc dot gnu.org 2024-04-18 11:29 ` vries at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2024-04-18 11:28 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31650 --- Comment #2 from Sourceware Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tom de Vries <vries@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=41d5ff24c6723b87ada11c1287f50cb87f7d89e2 commit 41d5ff24c6723b87ada11c1287f50cb87f7d89e2 Author: Will Hawkins <hawkinsw@obs.cr> Date: Thu Apr 18 13:28:52 2024 +0200 Add DW_TAG_compile_unit DIE to Dummy CUs Dummy CUs help detect errors and are very helpful. However, the DWARF spec seems to indicate the CUs need a DW_TAG_compile_unit in addition to the header. This patch adds that. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31650 Signed-off-by: Will Hawkins <hawkinsw@obs.cr> Approved-By: Tom de Vries <tdevries@suse.de> Tested-By: Tom de Vries <tdevries@suse.de> -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE 2024-04-17 14:44 [Bug testsuite/31650] New: Dummy CUs Need A DW_AT_compile_unit DIE hawkinsw at obs dot cr ` (2 preceding siblings ...) 2024-04-18 11:28 ` cvs-commit at gcc dot gnu.org @ 2024-04-18 11:29 ` vries at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-18 11:29 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31650 Tom de Vries <vries at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Target Milestone|--- |15.1 Status|UNCONFIRMED |RESOLVED --- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> --- Fixed. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-04-18 11:29 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-04-17 14:44 [Bug testsuite/31650] New: Dummy CUs Need A DW_AT_compile_unit DIE hawkinsw at obs dot cr 2024-04-17 14:47 ` [Bug testsuite/31650] Dummy CUs Need A DW_TAG_compile_unit DIE hawkinsw at obs dot cr 2024-04-17 14:54 ` hawkinsw at obs dot cr 2024-04-18 11:28 ` cvs-commit at gcc dot gnu.org 2024-04-18 11:29 ` vries at gcc dot gnu.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).