[PATCH 0/7] Fix race in DWARF reader

Tom Tromey tom@tromey.com
Sun Feb 18 01:10:01 GMT 2024


The background DWARF reader turns out to have a few races.  This
series fixes one that occurs when the indexer runs at the same time as
DWARF relocation.

Most of the series is just cleanup / preparation.

The main patch affects MIPS16.  I can't test this -- I tried on a MIPS
machine in the GCC compile farm, but unfortunately the relevant
gdb.arch test says that the processor doesn't support MIPS16.  It's
possible this code is simply dead; I do not know.

Regression tested on x86-64 Fedora 38.

---
Tom Tromey (7):
      Compare section index in lookup_minimal_symbol_by_pc_section
      Remove unnecessary null check in lookup_minimal_symbol_by_pc_section
      Hoist a call to frob_address
      Add unrelocated overload of lookup_minimal_symbol_by_pc_section
      Fix race in background DWARF indexer
      Use bound_minimal_symbol more in lookup_minimal_symbol_by_pc_section
      Fix address comparison in lookup_minimal_symbol_by_pc_section

 gdb/arch-utils.c          |   5 +-
 gdb/arch-utils.h          |   3 +-
 gdb/dwarf2/frame.c        |  13 +-
 gdb/dwarf2/read.c         |  12 +-
 gdb/gdbarch-gen.h         |   4 +-
 gdb/gdbarch.c             |   6 +-
 gdb/gdbarch_components.py |   4 +-
 gdb/minsyms.c             | 449 +++++++++++++++++++++++++---------------------
 gdb/minsyms.h             |   7 +
 gdb/mips-tdep.c           |  49 +++++
 gdb/mips-tdep.h           |   2 +
 11 files changed, 330 insertions(+), 224 deletions(-)
---
base-commit: 989aa9b8e8e340ba65f386cbfd239009a3aba68f
change-id: 20240217-dwarf-race-relocate-287780f3ac82

Best regards,
-- 
Tom Tromey <tom@tromey.com>



More information about the Gdb-patches mailing list