diff options
author | Tom de Vries <tdevries@suse.de> | 2022-07-15 16:11:47 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-07-21 15:06:40 +0200 |
commit | fa25a1fa4aea226494e191455928142dfa1ab512 (patch) | |
tree | 4e72351006370a5ae3c82b845e617a8ee1374cac /gdb/gdb-file.h | |
parent | 5a74a1a5283a041c577a502509f7b48ce770b106 (diff) | |
download | binutils-fa25a1fa4aea226494e191455928142dfa1ab512.zip binutils-fa25a1fa4aea226494e191455928142dfa1ab512.tar.gz binutils-fa25a1fa4aea226494e191455928142dfa1ab512.tar.bz2 |
[gdb/symtab] Fix race condition in objfile_obstack
Race condition between:
...
Read of size 8 at 0x7b4400096f60 by thread T1:
#0 obstack_zalloc<compunit_symtab> gdbsupport/gdb_obstack.h:33
#1 allocate_compunit_symtab(objfile*, char const*) gdb/symfile.c:2822
#2 buildsym_compunit::buildsym_compunit(objfile*, char const*,
char const*, language, unsigned long) gdb/buildsym.c:65
#3 dwarf2_cu::start_compunit_symtab(char const*, char const*,
unsigned long) gdb/dwarf2/cu.c:65
#4 read_file_scope gdb/dwarf2/read.c:9587
#5 process_die gdb/dwarf2/read.c:8614
#6 process_full_comp_unit gdb/dwarf2/read.c:8383
#7 process_queue_item gdb/dwarf2/read.c:7592
...
and:
...
Previous write of size 8 at 0x7b4400096f60 by thread T2:
#0 _obstack_newchunk libiberty/obstack.c:211
#1 obstack_zalloc<compunit_symtab> gdbsupport/gdb_obstack.h:33
#2 allocate_compunit_symtab(objfile*, char const*) gdb/symfile.c:2822
#3 buildsym_compunit::buildsym_compunit(objfile*, char const*,
char const*, language, unsigned long) gdb/buildsym.c:65
#4 dwarf2_cu::start_compunit_symtab(char const*, char const*,
unsigned long) gdb/dwarf2/cu.c:65
#5 read_file_scope gdb/dwarf2/read.c:9587
#6 process_die gdb/dwarf2/read.c:8614
#7 process_full_comp_unit gdb/dwarf2/read.c:8383
#8 process_queue_item gdb/dwarf2/read.c:7592
...
Fix by using poor man's thread_local.
Diffstat (limited to 'gdb/gdb-file.h')
0 files changed, 0 insertions, 0 deletions