Fix race in DWARF reader
authorTom Tromey <tom@tromey.com>
Tue, 17 Oct 2023 20:32:26 +0000 (14:32 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 19 Oct 2023 22:51:29 +0000 (16:51 -0600)
commit379435351c807e5399ec3e9227d3019597ca2143
treee4d34dbff6f69ed61deeeddd91f0d66f02f01b69
parent1b1b9bc05f8f6cde3956fb4d08f734de438f02a7
Fix race in DWARF reader

The recent change to record the DWARF language in the per-CU data
yielded a race warning in my testing:

ThreadSanitizer: data race ../../binutils-gdb/gdb/dwarf2/read.c:21779 in prepare_one_comp_unit

This patch fixes the bug by applying the same style of fix that was
done for the ordinary (gdb) language.

I wonder if this code could be improved.  Requiring an atomic for the
language in particular seems unfortunate, as it is often consulted
during index finalization.  However, I haven't investigated this.

Regression tested on x86-64 Fedora 38.

Reviewed-by: Tom de Vries <tdevries@suse.de>
gdb/dwarf2/index-write.c
gdb/dwarf2/read.c
gdb/dwarf2/read.h