From: Sam James <sam@gentoo.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Guinevere Larsen <guinevere@redhat.com>,
viric@viric.name, gdb-patches@sourceware.org
Subject: Re: [PATCH] Document that index-cache requires build ID
Date: Sat, 21 Feb 2026 17:15:28 +0000 [thread overview]
Message-ID: <87tsvaxbkf.fsf@gentoo.org> (raw)
In-Reply-To: <86zfgeav8v.fsf@gnu.org>
[-- Attachment #1.1: Type: text/plain, Size: 1884 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Thu, 17 Apr 2025 14:06:31 -0300
>> Cc: "Eli Zaretskii (eliz@gnu.org)" <eliz@gnu.org>
>> From: Guinevere Larsen <guinevere@redhat.com>
>>
>> From 4dfcd1888e3fc3c5707e3f697268d820679a1c7b Mon Sep 17 00:00:00 2001
>> From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= <viric@viric.name>
>> Date: Sun, 6 Apr 2025 13:11:06 +0200
>> Subject: [PATCH] Document that index-cache requires build ID
>>
>> ---
>> gdb/doc/gdb.texinfo | 2 ++
>> gdb/dwarf2/read.c | 4 ++++
>> 2 files changed, 6 insertions(+)
>>
>> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
>> index e034ac53295..37b65ab72ac 100644
>> --- a/gdb/doc/gdb.texinfo
>> +++ b/gdb/doc/gdb.texinfo
>> @@ -22934,6 +22934,8 @@ Indices only work when using DWARF debugging information, not stabs.
>> It is possible for @value{GDBN} to automatically save a copy of this index in a
>> cache on disk and retrieve it from there when loading the same binary in the
>> future. This feature can be turned on with @kbd{set index-cache enabled on}.
>> +Note that the cache will use the ELF build ID to identify the cached indices,
>> +so files without Build ID will not have their index cached.
>> The following commands can be used to tweak the behavior of the index cache.
>>
>> Since there are documentation changes, we need Eli Zaretskii to approve this change. I've CC'd him in this
>> email.
>
> Sorry for missing the original submission.
>
> The patch for gdb.texinfo is okay, but please use "build ID", not
> "Build ID", for the second instance, to be consistent about the
> letter-case.
>
> Reviewed-By: Eli Zaretskii <eliz@gnu.org>
I've gone ahead and taken the liberty to push this as obvious enough,
having run into this again recently. I applied your casing tweak and the
style tweaks from Guinevere.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-Document-that-index-cache-requires-build-ID.patch --]
[-- Type: text/x-patch, Size: 1966 bytes --]
From 10b5513e6d9a5a8d72bff272b6f254a3b68abc56 Mon Sep 17 00:00:00 2001
Message-ID: <10b5513e6d9a5a8d72bff272b6f254a3b68abc56.1771693680.git.sam@gentoo.org>
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= <viric@viric.name>
Date: Sun, 6 Apr 2025 13:11:06 +0200
Subject: [PATCH] Document that index-cache requires build ID
Reviewed-By: Guinevere Larsen <guinevere@redhat.com>
Reviewed-By: Eli Zaretskii <eliz@gnu.org>
---
gdb/doc/gdb.texinfo | 2 ++
gdb/dwarf2/read.c | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 5b99c2b2e23..3b2401117c7 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -23198,6 +23198,8 @@ Indices only work when using DWARF debugging information.
It is possible for @value{GDBN} to automatically save a copy of this index in a
cache on disk and retrieve it from there when loading the same binary in the
future. This feature can be turned on with @kbd{set index-cache enabled on}.
+Note that the cache will use the ELF build ID to identify the cached indices,
+so files without build ID will not have their index cached.
The following commands can be used to tweak the behavior of the index cache.
@table @code
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 5f18d5f2e9a..302b137526f 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -2302,7 +2302,11 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_bfd *dwarf2_per_bfd)
{
const bfd_build_id *build_id = build_id_bfd_get (obj->obfd.get ());
if (build_id == nullptr)
- return {};
+ {
+ dwarf_read_debug_printf ("Not using index-cache for %s due to missing build-id",
+ objfile_name (obj));
+ return {};
+ }
return global_index_cache.lookup_gdb_index (build_id,
&dwarf2_per_bfd->index_cache_res);
base-commit: 646982f4295bf0a1e64867606d496c34c9a15a0c
--
2.53.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 418 bytes --]
prev parent reply other threads:[~2026-02-21 17:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-06 11:15 Lluís Batlle i Rossell
2025-04-17 17:06 ` Guinevere Larsen
2025-04-18 5:34 ` Eli Zaretskii
2026-02-21 17:15 ` Sam James [this message]
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=87tsvaxbkf.fsf@gentoo.org \
--to=sam@gentoo.org \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=guinevere@redhat.com \
--cc=viric@viric.name \
/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