public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug symtab/30863] New: [gdb/symtab] PU without import ignored in cooked index
Date: Sun, 17 Sep 2023 07:13:18 +0000 [thread overview]
Message-ID: <bug-30863-4717@http.sourceware.org/bugzilla/> (raw)
https://sourceware.org/bugzilla/show_bug.cgi?id=30863
Bug ID: 30863
Summary: [gdb/symtab] PU without import ignored in cooked index
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: symtab
Assignee: unassigned at sourceware dot org
Reporter: vries at gcc dot gnu.org
Target Milestone: ---
[ This is with an updated version of the patch series submitted here (
https://sourceware.org/pipermail/gdb-patches/2023-August/201887.html ). ]
Consider the exec of test-case gdb.dwarf2/imported-unit-runto-main.exp, before
adding the .gdb_index section. It has a backward inter-cu intra-shard
reference:
...
$ gdb -q -batch -iex "maint set worker-threads 0" imported-unit-runto-main
handle_deferred_entries, intra-shard case
parent map
0x00000000000000fb 0x2935500 (deferred)
0x00000000000000fc 0x0
parent valid map
0x000000000000002e 0x1
0x0000000000000045 0x0
0x0000000000000062 0x1
0x0000000000000084 0x0
0x00000000000000fb 0x1
0x0000000000000111 0x0
0x0000000000000149 0x1
0x00000000000002d4 0x0
handle_deferred_entries, inter-shard case
0x00000000000000fb 0x2935500 (deferred)
0x00000000000000fc 0x0
Resolve deferred: 0xfb -> 0xd5: no parent
...
The dependency is resolved in the inter-shard case, which assumes that all CUs
have been processed, and consequently doesn't check the parent valid map.
But if we look at the parent valid map, we don't find 0xd5. So the "no parent"
is not a case of, we've processed 0xd5 and found that is has no parent, but
we've not processed the PU containing 0xd5.
The problem is that we have a PU without import, and consequently no CU wins
the race to read it.
This doesn't cause a problem with the current implementation (because "not
processed" and "no parent" look the same), but we can reproduce the same
problem with test-case forward-spec-inter-cu.exp. By changing one of the cus
into a pu:
...
--- a/gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp
+++ b/gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp
@@ -48,7 +48,7 @@ Dwarf::assemble $asm_file {
}
cu {} {
- DW_TAG_compile_unit {
+ DW_TAG_partial_unit {
{DW_AT_language @DW_LANG_C_plus_plus}
} {
declare_labels myint
...
we get:
...
FAIL: gdb.dwarf2/forward-spec-inter-cu.exp: v has a parent
...
--
You are receiving this mail because:
You are on the CC list for the bug.
next reply other threads:[~2023-09-17 7:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-17 7:13 vries at gcc dot gnu.org [this message]
2023-09-17 7:16 ` [Bug symtab/30863] " vries at gcc dot gnu.org
2023-09-17 8:53 ` vries at gcc dot gnu.org
2023-09-17 9:57 ` vries at gcc dot gnu.org
2023-09-17 12:27 ` tromey at sourceware dot org
2023-11-30 17:07 ` tromey at sourceware dot org
2025-11-26 16:38 ` tromey at sourceware dot 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-30863-4717@http.sourceware.org/bugzilla/ \
--to=sourceware-bugzilla@sourceware.org \
--cc=gdb-prs@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).