aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2/read.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7bb862e..6123270 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2021-03-20 Tom Tromey <tom@tromey.com>
+ * dwarf2/read.c (dwarf2_build_psymtabs): Set partial_symtabs
+ earlier.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
* psympriv.h (psymtab_discarder): Take psymtab_storage parameter.
(~psymtab_discarder, keep): Update.
<m_objfile>: Remove.
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index aad25f7..9de9e48 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -6137,6 +6137,12 @@ dwarf2_build_psymtabs (struct objfile *objfile)
return;
}
+ /* Set the local reference to partial symtabs, so that we don't try
+ to read them again if reading another objfile with the same BFD.
+ If we can't in fact share, this won't make a difference anyway as
+ the dwarf2_per_bfd object won't be shared. */
+ per_bfd->partial_symtabs = objfile->partial_symtabs;
+
try
{
/* This isn't really ideal: all the data we allocate on the
@@ -6155,12 +6161,6 @@ dwarf2_build_psymtabs (struct objfile *objfile)
{
exception_print (gdb_stderr, except);
}
-
- /* Finish by setting the local reference to partial symtabs, so that
- we don't try to read them again if reading another objfile with the same
- BFD. If we can't in fact share, this won't make a difference anyway as
- the dwarf2_per_bfd object won't be shared. */
- per_bfd->partial_symtabs = objfile->partial_symtabs;
}
/* Find the base address of the compilation unit for range lists and