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