]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Refactor 'maint set dwarf synchronous' handling
authorTom Tromey <tom@tromey.com>
Wed, 6 Dec 2023 15:32:52 +0000 (08:32 -0700)
committerTom Tromey <tom@tromey.com>
Thu, 18 Jan 2024 15:20:16 +0000 (08:20 -0700)
The new .debug_names reader will reuse the background reading
infrastructure of the cooked index code.  In order to share the
handling of 'maint set dwarf synchronous' -- and to avoid having to
export this global -- this patch refactors this to be handled directly
in dwarf2_initialize_objfile.

gdb/dwarf2/read.c

index 8f2b7a35f272ca58254436c85e7830cf1ed9d8fc..e0eb1f9ce3c560a56a1e544cbdc43e5a8187048a 100644 (file)
@@ -3267,6 +3267,10 @@ dwarf2_initialize_objfile (struct objfile *objfile,
       global_index_cache.miss ();
       objfile->qf.push_front (make_cooked_index_funcs (per_objfile));
     }
+
+  if (dwarf_synchronous && per_bfd->index_table != nullptr)
+    per_bfd->index_table->wait_completely ();
+
   return true;
 }
 
@@ -16920,9 +16924,6 @@ make_cooked_index_funcs (dwarf2_per_objfile *per_objfile)
      avoids races.  */
   idx->start_reading ();
 
-  if (dwarf_synchronous)
-    idx->wait_completely ();
-
   return quick_symbol_functions_up (new cooked_index_functions);
 }