[binutils] Handle DW_FORM_ref_sig8 in get_type_abbrev_from_form

When compiling an exec like this:
...
$ gcc -fdebug-types-section hello.c -gdwarf-5
...
we run into:
...
$ readelf -w a.out > READELF
readelf: Warning: Unexpected form 20 encountered whilst finding \
  abbreviation for type
...

Fix this by handling DW_FORM_ref_sig8 conservatively in
get_type_abbrev_from_form.

binutils/ChangeLog:

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

	PR binutils/27370
	* dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8.
This commit is contained in:
Tom de Vries 2021-02-09 15:37:24 +01:00
parent 284beb431f
commit 5f128a25f2
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2021-02-09 Tom de Vries <tdevries@suse.de>
PR binutils/27370
* dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8.
2021-02-09 Tom de Vries <tdevries@suse.de>
PR binutils/27386

View File

@ -2117,6 +2117,7 @@ get_type_abbrev_from_form (unsigned long form,
switch (form)
{
case DW_FORM_GNU_ref_alt:
case DW_FORM_ref_sig8:
/* FIXME: We are unable to handle this form at the moment. */
return NULL;