8sa1-binutils-gdb/gdb/dwarf2
Simon Marchi 0072c87379 gdb: pass objfile_per_bfd_storage instead of objfile to partial_symtab
Since partial_symtab is supposed to be objfile-independent (since series
[1]), I think it would make sense for partial_symtab to not take an
objfile as a parameter in its constructor.

This patch replaces that parameter with an objfile_per_bfd_storage
parameter.

The objfile is used for two things:

 - to get the objfile_name, for debug messages.  We can get that name
   from the bfd instead.
 - to intern the partial symtab filename.  Even though it goes through
   an objfile method, the request is actually forwarded to the
   underlying objfile_per_bfd_storage.  So we can ask the new
   objfile_per_bfd_storage instead.

In order to get a reference to the BFD from the objfile_per_bfd_storage,
the BFD is saved in the objfile_per_bfd_storage object.

[1] https://sourceware.org/pipermail/gdb-patches/2021-February/176625.html

gdb/ChangeLog:

	* psympriv.h (struct partial_symtab) <partial_symtab>: Change
	objfile parameter for objfile_per_bfd_storage, adjust callers.
	(struct standard_psymtab) <standard_psymtab>: Likewise.
	(struct legacy_psymtab) <legacy_psymtab>: Likewise.
	* psymtab.c (partial_symtab::partial_symtab): Likewise.
	* ctfread.c (struct ctf_psymtab): Likewise.
	* dwarf2/read.h (struct dwarf2_psymtab): Likewise.
	* dwarf2/read.c (struct dwarf2_include_psymtab): Likewise.
	(dwarf2_create_include_psymtab): Likewise.
	* objfiles.h (struct objfile_per_bfd_storage)
	<objfile_per_bfd_storage>: Add bfd parameter, adjust callers.
	<get_bfd>: New method.
	<m_bfd>: New field.
	* objfiles.c (get_objfile_bfd_data): Adjust.

Change-Id: I2ed3ab5d2e6f27d034bd4dc26ae2fae7b0b8a2b9
2021-04-02 11:45:37 -04:00
..
abbrev.c Remove Irix 6 workaround from DWARF abbrev reader 2021-03-13 09:41:05 -07:00
abbrev.h Constify abbrev_table::lookup_abbrev 2021-03-13 09:41:05 -07:00
attribute.c [gdb/symtab] Handle DW_AT_decl_file with form DW_FORM_implicit_const 2021-02-24 23:58:42 +01:00
attribute.h [gdb/symtab] Handle DW_AT_decl_file with form DW_FORM_implicit_const 2021-02-24 23:58:42 +01:00
comp-unit.c Reimplement dwarf_unit_type_name 2021-03-18 12:08:41 -06:00
comp-unit.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
die.h gdb/dwarf: split dwarf2_cu::ranges_base in two 2021-02-02 10:42:11 -05:00
dwz.c Move dwarf2_get_dwz_file to dwarf2/dwz.h 2021-03-06 09:26:40 -07:00
dwz.h Move dwarf2_get_dwz_file to dwarf2/dwz.h 2021-03-06 09:26:40 -07:00
expr.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
expr.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
frame-tailcall.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
frame-tailcall.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
frame.c Introduce dwarf2/public.h 2021-03-20 17:23:40 -06:00
frame.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
index-cache.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
index-cache.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
index-common.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
index-common.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
index-write.c Change how DWARF index writer finds address map 2021-03-20 17:23:43 -06:00
index-write.h Introduce dwarf2/public.h 2021-03-20 17:23:40 -06:00
leb.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
leb.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
line-header.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
line-header.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
loc.c Use std::vector for "registers_used" in compile feature 2021-01-23 20:33:25 -07:00
loc.h Use std::vector for "registers_used" in compile feature 2021-01-23 20:33:25 -07:00
macro.c Avoid crash on missing dwz file 2021-03-06 09:26:39 -07:00
macro.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
public.h Simplify DWARF reader initialization 2021-03-28 10:43:15 -06:00
read.c gdb: pass objfile_per_bfd_storage instead of objfile to partial_symtab 2021-04-02 11:45:37 -04:00
read.h gdb: pass objfile_per_bfd_storage instead of objfile to partial_symtab 2021-04-02 11:45:37 -04:00
sect-names.h Move dwarf2_get_dwz_file to dwarf2/dwz.h 2021-03-06 09:26:40 -07:00
section.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
section.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
stringify.c Reimplement dwarf_unit_type_name 2021-03-18 12:08:41 -06:00
stringify.h Fix typo in dwarf2/stringify.h 2021-03-31 09:48:56 -06:00