diff options
author | Tom de Vries <tdevries@suse.de> | 2022-07-15 13:08:22 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-07-21 15:06:40 +0200 |
commit | 3164537f2563aaf79630f0ec690859e9f9333618 (patch) | |
tree | efc6b84f9d9a7c4fd0ca30755d94c68b43459545 /gdb/gdb-file.h | |
parent | fa25a1fa4aea226494e191455928142dfa1ab512 (diff) | |
download | binutils-3164537f2563aaf79630f0ec690859e9f9333618.zip binutils-3164537f2563aaf79630f0ec690859e9f9333618.tar.gz binutils-3164537f2563aaf79630f0ec690859e9f9333618.tar.bz2 |
[gdb/symtab] Fix data race on per_objfile->sym_cu
We have both:
...
gdb/dwarf2/read.c:9590: internal-error: read_file_scope: \
Assertion `per_objfile->sym_cu == nullptr' failed.
...
and a data race between:
...
#0 read_file_scope gdb/dwarf2/read.c:9590 (gdb+0x83c8ca)
#1 process_die gdb/dwarf2/read.c:8614 (gdb+0x839dc1)
#2 process_full_comp_unit gdb/dwarf2/read.c:8383 (gdb+0x839400)
#3 process_queue_item gdb/dwarf2/read.c:7592 (gdb+0x83591f)
...
and:
...
Previous write of size 8 at 0x7b4400096f20 by thread T1:
#0 scoped_restore_tmpl<dwarf2_cu*>::scoped_restore_tmpl<dwarf2_cu*>
(dwarf2_cu**, dwarf2_cu*) gdbsupport/scoped_restore.h:73 (gdb+0x89d23e)
#1 scoped_restore_tmpl<dwarf2_cu*> make_scoped_restore<dwarf2_cu*,
dwarf2_cu*>(dwarf2_cu**, dwarf2_cu*) gdbsupport/scoped_restore.h:115
(gdb+0x890543)
#2 read_file_scope gdb/dwarf2/read.c:9592 (gdb+0x83c924)
#3 process_die gdb/dwarf2/read.c:8614 (gdb+0x839dc1)
#4 process_full_comp_unit gdb/dwarf2/read.c:8383 (gdb+0x839400)
#5 process_queue_item gdb/dwarf2/read.c:7592 (gdb+0x83591f)
...
Fix again by using poor man's thread local.
Diffstat (limited to 'gdb/gdb-file.h')
0 files changed, 0 insertions, 0 deletions