public inbox for dwz@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/25411] CU referenced from PU (--odr-mode=basic case)
  2020-01-01  0:00 [Bug default/25411] New: CU referenced from PU (--odr-mode=basic case) vries at gcc dot gnu.org
@ 2020-01-01  0:00 ` vries at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: vries at gcc dot gnu.org @ 2020-01-01  0:00 UTC (permalink / raw)
  To: dwz

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

Tom de Vries <vries at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
Fixed here:
https://sourceware.org/git/?p=dwz.git;a=commit;h=62e49493dc36a837fdbe195646814b6a8b75b98e

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

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

* [Bug default/25411] New: CU referenced from PU (--odr-mode=basic case)
@ 2020-01-01  0:00 vries at gcc dot gnu.org
  2020-01-01  0:00 ` [Bug default/25411] " vries at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: vries at gcc dot gnu.org @ 2020-01-01  0:00 UTC (permalink / raw)
  To: dwz

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.

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

end of thread, other threads:[~2020-01-20 15:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-01  0:00 [Bug default/25411] New: CU referenced from PU (--odr-mode=basic case) vries at gcc dot gnu.org
2020-01-01  0:00 ` [Bug default/25411] " 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).