Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Re: [RFC PATCH 7/8] gdb/ctf: don't use psymtabs, create symtabs directly
@ 2026-02-03 13:00 Jan Vrany
  0 siblings, 0 replies; 3+ messages in thread
From: Jan Vrany @ 2026-02-03 13:00 UTC (permalink / raw)


On Tue, 2026-02-03 at 07:00 +0000, simon.marchi wrote:
> https://inbox.sourceware.org/gdb-patches/20260203065435.3092465-8-simon.marchi@polymtl.ca/
> 
> 
> In order to access the symtabs, elfctf_build_symtabs installs the
> expanded_symbols_functions quick_symbol_functions implementation, which
> essentially searches in the existing symtabs.  I am pretty sure this is
> not 100% correct, because this would search unrelated symtabs, if for
> instance the CTF debug info co-existed with DWARF info.  But it's good
> enough for a prototype.

True, but does that matter? Should that matter?

Also it seems to me that this version does not allow for both CTF and
DWARF in single objfile: 

(from patch "gdb/ctf: don't use psymtabs, create symtabs directly")

   /* Read the CTF section only if there is no DWARF info.  */
   if (!always_read_ctf && !has_dwarf2 && ei.ctfsect)
-    {
-      elfctf_build_psymtabs (objfile);
-    }
+    elfctf_build_symtabs (objfile);
 
   /* Copy relocations are used by some ABIs using the ELF format, so
      set the objfile flag indicating this fact.  */

Thanks, 

Jan


^ permalink raw reply	[flat|nested] 3+ messages in thread
* [RFC PATCH 0/8] Make CTF reader build full symtabs, get rid of psymtab
@ 2026-02-03  6:45 simon.marchi
  2026-02-03  6:45 ` [RFC PATCH 7/8] gdb/ctf: don't use psymtabs, create symtabs directly simon.marchi
  0 siblings, 1 reply; 3+ messages in thread
From: simon.marchi @ 2026-02-03  6:45 UTC (permalink / raw)
  To: gdb-patches; +Cc: Nick Alcock, Weimin Pan, Simon Marchi

From: Simon Marchi <simon.marchi@polymtl.ca>

The CTF debug info reader is the last user of psymtabs.  This seriies
changes the CTF reader to no longer create psymtabs, but instead create
full symtabs from the start.  My hypothesis is that CTF debug info is
typically small enough and quick enough to process that we don't need an
intermediate step before the full symtabs.

This is an RFC, because I would like to collect comments (especially
from the CTF experts) on whether the startup time remains acceptable,
even for large programs.  I also think that my use of
expanded_symbols_functions in the last patch is not quite right, I'll
need to look into that further.

Simon Marchi (8):
  gdb/ctf: add debug logging in ctfread.c
  gdb/ctf: add unique_ptr types
  gdb/ctf: editorial renames
  gdb/ctf: use ctf_per_objfile in ctf_archive_iter_psymtab_data and
    ctf_context
  gdb/ctf: check return value of ctf_type_align
  gdb/ctf: add scoped_time_it in elfctf_build_psymtabs
  gdb/ctf: don't use psymtabs, create symtabs directly
  gdb: remove psymtab.{c,h}

 gdb/Makefile.in     |    2 -
 gdb/NEWS            |    4 +
 gdb/ctfread.c       |  691 ++++++++-----------
 gdb/ctfread.h       |    2 +-
 gdb/doc/gdb.texinfo |    7 +
 gdb/elfread.c       |    8 +-
 gdb/psymtab.c       | 1575 -------------------------------------------
 gdb/psymtab.h       |  691 -------------------
 8 files changed, 284 insertions(+), 2696 deletions(-)
 delete mode 100644 gdb/psymtab.c
 delete mode 100644 gdb/psymtab.h


base-commit: b11507b3dcc451e22ee29c89f386fab62b4e5b44
-- 
2.52.0


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

end of thread, other threads:[~2026-02-12 17:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-03 13:00 [RFC PATCH 7/8] gdb/ctf: don't use psymtabs, create symtabs directly Jan Vrany
  -- strict thread matches above, loose matches on Subject: below --
2026-02-03  6:45 [RFC PATCH 0/8] Make CTF reader build full symtabs, get rid of psymtab simon.marchi
2026-02-03  6:45 ` [RFC PATCH 7/8] gdb/ctf: don't use psymtabs, create symtabs directly simon.marchi
2026-02-12 17:54   ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox