public inbox for dwz@sourceware.org
 help / color / mirror / Atom feed
* [committed] Handle die_offset == -1U in dump_die
@ 2019-01-01  0:00 Tom de Vries
  0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2019-01-01  0:00 UTC (permalink / raw)
  To: dwz, jakub

Hi,

Handle representant DIEs (with die_offset -1U) by printing the associated
duplicate chain:
...
(gdb) call dump_die (child)
 -1 class_type -> 5a bla class_type -> ef bla class_type
...

Committed to trunk.

Thanks,
- Tom

Handle die_offset == -1U in dump_die

2019-12-02  Tom de Vries  <tdevries@suse.de>

	* dwz.c (dump_die_with_indent): Handle die->die_offset == -1U.

---
 dwz.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/dwz.c b/dwz.c
index 00a08b0..e533993 100644
--- a/dwz.c
+++ b/dwz.c
@@ -4170,6 +4170,19 @@ dump_die_with_indent (int indent, dw_die_ref die)
 {
   if (die == NULL)
     fprintf (stderr, "%*s null", indent, "");
+  else if (die->die_offset == -1U)
+    {
+      fprintf (stderr, "%*s -1 %s", indent, "",
+	       get_DW_TAG_name (die->die_tag) + 7);
+      dw_die_ref d = die->die_nextdup;
+      while (d)
+	{
+	  const char *name = get_AT_string (d, DW_AT_name);
+	  fprintf (stderr, " -> %x %s %s", d->die_offset, name ? name : "",
+		   get_DW_TAG_name (d->die_tag) + 7);
+	  d = d->die_nextdup;
+	}
+    }
   else if (die->die_collapsed_child)
     {
       fprintf (stderr, "%*s %x %c", indent, "", die->die_offset,

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-12-03 19:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-01  0:00 [committed] Handle die_offset == -1U in dump_die Tom de Vries

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).