binutils-gdb/gdb/dwarf2
Tom de Vries 05f68f52ef [gdb/symtab] Handle DW_FORM_strx in form_requires_reprocessing
When running test-case gdb.dwarf2/fission-mix.exp using gcc-11, I run into:
...
(gdb) file fission-mix^M
Reading symbols from fission-mix...^M
src/gdb/dwarf2/attribute.h:258: internal-error: \
  void attribute::set_unsigned_reprocess(ULONGEST): \
  Assertion `form_requires_reprocessing ()' failed.^M
...

This happens when calling set_unsigned_reprocess on an attribute with form
DW_FORM_strx.  The assert triggers because DW_FORM_strx is not listed in
form_requires_reprocessing.

Fix this by adding DW_FORM_strx in form_requires_reprocessing.

Tested on x86_64-linux.

gdb/ChangeLog:

2021-02-11  Tom de Vries  <tdevries@suse.de>

	PR symtab/27353
	* dwarf2/attribute.c (attribute::form_requires_reprocessing):
	Return true for DW_FORM_strx.
2021-02-11 21:03:03 +01:00
..
abbrev.c
abbrev.h
attribute.c
attribute.h
comp-unit.c
comp-unit.h
die.h
dwz.c
dwz.h
expr.c
expr.h
frame-tailcall.c
frame-tailcall.h
frame.c
frame.h
index-cache.c
index-cache.h
index-common.c
index-common.h
index-write.c
index-write.h
leb.c
leb.h
line-header.c
line-header.h
loc.c
loc.h
macro.c
macro.h
read.c
read.h
section.c
section.h
stringify.c
stringify.h