Simplify DWARF reader initialization
authorTom Tromey <tom@tromey.com>
Sun, 28 Mar 2021 16:43:15 +0000 (10:43 -0600)
committerTom Tromey <tom@tromey.com>
Sun, 28 Mar 2021 16:43:15 +0000 (10:43 -0600)
commitedc02ceb9763d414af79990a5fdb5e50aa59ceb6
treefec3eefb932c568bb90309ec0776b660dc96b4f3
parentfff7b4f846b7f85482393dee31169b1b6bf34e4d
Simplify DWARF reader initialization

Now that the quick functions are separate from the object file format,
there's no need to have elfread.c push a new entry on the objfile 'qf'
list.  Instead, this detail can be pushed into the DWARF reader.  That
is what this patch implements.

I wasn't sure whether lazy reading still makes sense or not.  It's
still only used by ELF, and only in certain situations (like vfork, I
think).  It may not be carrying its weight, so we may want to consider
removing this in the future.

Also, I'm unclear on why the various indices are only used for ELF.
This seems sub-optimal.  However, I haven't tried to address that
here.

gdb/ChangeLog
2021-03-28  Tom Tromey  <tom@tromey.com>

* elfread.c (can_lazily_read_symbols): Move to dwarf2/read.c.
(elf_symfile_read): Simplify.
* dwarf2/read.c (struct lazy_dwarf_reader): Move from elfread.c.
(make_lazy_dwarf_reader): New function.
(make_dwarf_gdb_index, make_dwarf_debug_names): Now static.
(dwarf2_initialize_objfile): Return void.  Remove index_kind
parameter.  Push on 'qf' list.
* dwarf2/public.h (dwarf2_initialize_objfile): Change return
type.  Remove 'index_kind' parameter.
(make_dwarf_gdb_index, make_dwarf_debug_names): Don't declare.
gdb/ChangeLog
gdb/dwarf2/public.h
gdb/dwarf2/read.c
gdb/elfread.c