Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH 0/6] Fix aggregate types, synthetic pointers, and computed locations bug
@ 2026-05-12 10:07 Andrew Burgess
  2026-05-12 10:07 ` [PATCH 1/6] gdb: int to bool conversion in valprint.{c,h} Andrew Burgess
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Andrew Burgess @ 2026-05-12 10:07 UTC (permalink / raw)
  To: gdb-patches; +Cc: Andrew Burgess

A recent Fedora GDB bug got me looking at an issue relating to
synthetic pointers in aggregate types with computed locations.  Turns
out there was already an upstream bug for this issue (PR gdb/30693).

Patches #1 and #2 are some general cleanup in areas that I will then
touch in later patches.

Patch #3 is the actual fix for the original bug.  But while writing
this I spotted another issue.

Patches #4 and #5 are some clean up, argument renaming, and argument
removal, that I think contributed to the confusion that caused the
next bug.

Patch #6 fixes another bug related to the embedded offset not always
being taken into account when handling computed locations of synthetic
pointers.

Thanks,
Andrew

---

Andrew Burgess (6):
  gdb: int to bool conversion in valprint.{c,h}
  gdb: use TARGET_CHAR_BIT more in dwarf2/expr.c
  gdb: fix coerce_pieced_ref for multi-piece values
  gdb: rename argument in valprint_check_validity
  gdb: remove embedded_offset argument that is always 0
  gdb: use value::embedded_offset in check_pieced_synthetic_pointer

 gdb/dwarf2/expr.c                             | 142 ++++++++-----
 .../multi-piece-inherited-bitfield.c          |  25 +++
 .../multi-piece-inherited-bitfield.exp        | 151 ++++++++++++++
 .../gdb.dwarf2/multi-piece-primitive-field.c  |  25 +++
 .../multi-piece-primitive-field.exp           | 190 ++++++++++++++++++
 gdb/valops.c                                  |   3 +-
 gdb/valprint.c                                | 114 +++++------
 gdb/valprint.h                                |  22 +-
 8 files changed, 550 insertions(+), 122 deletions(-)
 create mode 100644 gdb/testsuite/gdb.dwarf2/multi-piece-inherited-bitfield.c
 create mode 100644 gdb/testsuite/gdb.dwarf2/multi-piece-inherited-bitfield.exp
 create mode 100644 gdb/testsuite/gdb.dwarf2/multi-piece-primitive-field.c
 create mode 100644 gdb/testsuite/gdb.dwarf2/multi-piece-primitive-field.exp


base-commit: 2d7f2dbbd4adadf7c388fa0d8b9ce95d9dfde641
-- 
2.25.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-05-15 14:44 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-12 10:07 [PATCH 0/6] Fix aggregate types, synthetic pointers, and computed locations bug Andrew Burgess
2026-05-12 10:07 ` [PATCH 1/6] gdb: int to bool conversion in valprint.{c,h} Andrew Burgess
2026-05-13 14:48   ` Tom Tromey
2026-05-12 10:07 ` [PATCH 2/6] gdb: use TARGET_CHAR_BIT more in dwarf2/expr.c Andrew Burgess
2026-05-13 15:05   ` Tom Tromey
2026-05-15 12:00     ` Andrew Burgess
2026-05-15 14:44       ` Tom Tromey
2026-05-12 10:07 ` [PATCH 3/6] gdb: fix coerce_pieced_ref for multi-piece values Andrew Burgess
2026-05-14 18:53   ` Tom Tromey
2026-05-12 10:07 ` [PATCH 4/6] gdb: rename argument in valprint_check_validity Andrew Burgess
2026-05-13 16:23   ` Tom Tromey
2026-05-12 10:07 ` [PATCH 5/6] gdb: remove embedded_offset argument that is always 0 Andrew Burgess
2026-05-13 15:27   ` Tom Tromey
2026-05-12 10:07 ` [PATCH 6/6] gdb: use value::embedded_offset in check_pieced_synthetic_pointer Andrew Burgess
2026-05-14 19:00   ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox