public inbox for dwz@sourceware.org
 help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: dwz@sourceware.org
Subject: [Bug default/25411] New: CU referenced from PU (--odr-mode=basic case)
Date: Wed, 01 Jan 2020 00:00:00 -0000	[thread overview]
Message-ID: <bug-25411-11298@http.sourceware.org/bugzilla/> (raw)

https://sourceware.org/bugzilla/show_bug.cgi?id=25411

            Bug ID: 25411
           Summary: CU referenced from PU (--odr-mode=basic case)
           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: ---

When applying the assert patch from PR25398 comment 1 to master, we hit the
assert like this:
...
$ dwz cc1 -o 1 -lnone --odr --odr-mode=basic
dwz: dwz.c:10943: write_die: Assertion `IMPLIES (cu->cu_kind == CU_PU, die_cu
(refd)->cu_kind == CU_PU)' failed.
Aborted (core dumped)
...

The process of splitting the duplicate chain for odr DIEs can result in some of
the DIEs not being part of any duplicate chain afterwards, and consequently not
being part of a partial unit, while in fact that may be required.

Normally, in partition_dups phase 1 we decide which DIEs we want to move into
partial units because it's profitable, and in partition_dups phase 2 we find
which DIEs we have to move into partial units because they are referenced by
other DIEs already in partial units.

So, if a DIE marked as referenced in phase 2 is not part of any duplicate
chain, it won't be moved to a partial unit, causing the reference from PU to
CU.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

             reply	other threads:[~2020-01-17 15:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-01  0:00 vries at gcc dot gnu.org [this message]
2020-01-01  0:00 ` [Bug default/25411] " vries at gcc dot gnu.org

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=bug-25411-11298@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=dwz@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).