Add a couple of bfd_cache_close calls
authorTom Tromey <tom@tromey.com>
Sat, 11 Nov 2023 16:46:44 +0000 (09:46 -0700)
committerTom Tromey <tom@tromey.com>
Tue, 9 Jan 2024 01:40:21 +0000 (18:40 -0700)
This adds a couple of calls to bfd_cache_close at points where a BFD
isn't actively needed by gdb.  Normally at these points, all the
needed section data is already mapped, so we can simply close the file
descriptor.  This is harmless at worst, because if this is needed
after all, the BFD file descriptor cache will reopen it.

gdb/dwarf2/read.c

index 7a6bb40..45f79de 100644 (file)
@@ -9173,6 +9173,8 @@ open_and_init_dwo_file (dwarf2_cu *cu, const char *dwo_name,
 
   dwarf_read_debug_printf ("DWO file found: %s", dwo_name);
 
+  bfd_cache_close (dwo_file->dbfd.get ());
+
   return dwo_file.release ();
 }
 
@@ -9465,6 +9467,8 @@ open_and_init_dwp_file (dwarf2_per_objfile *per_objfile)
                           pulongest (dwp_file->cus ? dwp_file->cus->nr_units : 0),
                           pulongest (dwp_file->tus ? dwp_file->tus->nr_units : 0));
 
+  bfd_cache_close (dwp_file->dbfd.get ());
+
   return dwp_file;
 }