From: Simon Marchi <simon.marchi@efficios.com>
To: gdb-patches@sourceware.org
Cc: Simon Marchi <simon.marchi@efficios.com>
Subject: [PATCH 0/6] Type unit + split DWARF fixes (PR 33307)
Date: Fri, 7 Nov 2025 16:10:11 -0500 [thread overview]
Message-ID: <20251107211041.520697-1-simon.marchi@efficios.com> (raw)
This series fixes a regression that I introduced a few months ago,
causing a crash in very specific circumstances: type unit in a .dwo file
+ stub in the main file + gdb index. Luckily, this was caught by test
gdb.dwarf2/fission-reread.exp when ran with the cc-with-gdb-index board.
Patches 1-3 are improvements to the testsuite DWARF assembler, allowing
to generate better type units and split DWARF tests.
Patch 4 fixes the reported crash.
Patch 5 fixes another case of the same crash, for which I provide a test
/ reproducer.
Patch 6 is a trivial cleanup.
Simon Marchi (6):
gdb/testsuite/dwarf: use single abbrev table in .dwo files
gdb/testsuite/dwarf: convert _section proc to use parse_options
gdb/testsuite/dwarf: emit type unit sections as COMDAT
gdb/dwarf: when in dwarf2_cu, read addr_size from dwarf2_cu::header
gdb/dwarf: store addr/offset/ref_addr sizes in dwarf2_per_cu
gdb/dwarf: use dwarf2_per_cu::ref_addr_size in one spot
gdb/dwarf2/cu.c | 7 +-
gdb/dwarf2/read.c | 71 ++------
gdb/dwarf2/read.h | 56 ++++--
.../gdb.dwarf2/fission-type-unit-locexpr.c | 25 +++
.../gdb.dwarf2/fission-type-unit-locexpr.exp | 161 ++++++++++++++++++
.../gdb.dwarf2/fission-with-type-unit.exp | 29 ++--
gdb/testsuite/lib/dwarf.exp | 132 +++++++++++---
7 files changed, 362 insertions(+), 119 deletions(-)
create mode 100644 gdb/testsuite/gdb.dwarf2/fission-type-unit-locexpr.c
create mode 100644 gdb/testsuite/gdb.dwarf2/fission-type-unit-locexpr.exp
base-commit: 767c92a13e92d3c34b8ed6f3b6f1bf17eca57cbd
--
2.51.2
next reply other threads:[~2025-11-07 21:11 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-07 21:10 Simon Marchi [this message]
2025-11-07 21:10 ` [PATCH 1/6] gdb/testsuite/dwarf: use single abbrev table in .dwo files Simon Marchi
2025-11-10 20:14 ` Simon Marchi
2025-11-18 13:32 ` Andrew Burgess
2025-11-18 16:50 ` Simon Marchi
2025-11-18 16:55 ` Andrew Burgess
2025-11-18 17:20 ` Simon Marchi
2025-11-19 16:05 ` Tom Tromey
2025-11-19 20:21 ` Simon Marchi
2025-11-07 21:10 ` [PATCH 2/6] gdb/testsuite/dwarf: convert _section proc to use parse_options Simon Marchi
2025-11-19 10:59 ` Andrew Burgess
2025-11-19 15:53 ` Tom Tromey
2025-11-19 20:40 ` Simon Marchi
2025-11-19 21:03 ` Tom Tromey
2025-11-07 21:10 ` [PATCH 3/6] gdb/testsuite/dwarf: emit type unit sections as COMDAT Simon Marchi
2025-11-19 11:43 ` Andrew Burgess
2025-11-07 21:10 ` [PATCH 4/6] gdb/dwarf: when in dwarf2_cu, read addr_size from dwarf2_cu::header Simon Marchi
2025-11-19 14:30 ` Andrew Burgess
2025-11-19 20:46 ` Simon Marchi
2025-11-19 16:11 ` Tom Tromey
2025-11-19 20:51 ` Simon Marchi
2025-11-07 21:10 ` [PATCH 5/6] gdb/dwarf: store addr/offset/ref_addr sizes in dwarf2_per_cu Simon Marchi
2025-11-19 14:42 ` Andrew Burgess
2025-11-19 16:14 ` Tom Tromey
2025-11-21 19:54 ` Simon Marchi
2025-11-21 21:25 ` Tom Tromey
2025-11-07 21:10 ` [PATCH 6/6] gdb/dwarf: use dwarf2_per_cu::ref_addr_size in one spot Simon Marchi
2025-11-19 14:44 ` Andrew Burgess
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251107211041.520697-1-simon.marchi@efficios.com \
--to=simon.marchi@efficios.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox