Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: gdb-patches@sourceware.org
Subject: [PING][PATCH][gdb/symtab] Fix wrong unit_type Dwarf Error
Date: Thu, 25 Feb 2021 00:01:40 +0100	[thread overview]
Message-ID: <7af3f689-ebee-b4d6-fc0e-4c8a54391224@suse.de> (raw)
In-Reply-To: <20210211105947.GA22976@delia>

On 2/11/21 11:59 AM, Tom de Vries wrote:
> Hi,
> 
> When running test-case gdb.dwarf2/fission-mix.exp using gcc-11 (and using the
> tentative fix for PR27353 to get past that assertion failure), I run into:
> ...
> (gdb) file fission-mix^M
> Reading symbols from fission-mix...^M
> Dwarf Error: wrong unit_type in compilation unit header \
>   (is DW_UT_split_compile (0x05), should be DW_UT_type (0x02)) \
>   [in module fission-mix2.dwo]^M
> (No debugging symbols found in fission-mix)^M
> ...
> 
> The compilation unit that is complained about is:
> ...
> Contents of the .debug_info.dwo section (loaded from fission-mix2.dwo):
> 
>   Compilation Unit @ offset 0x0:
>    Length:        0x57 (32-bit)
>    Version:       5
>    Unit Type:     DW_UT_split_compile (5)
>    Abbrev Offset: 0x0
>    Pointer Size:  8
>    DWO ID:        0x3e3930d3cc1805df
>  <0><14>: Abbrev Number: 1 (DW_TAG_compile_unit)
> ...
> 
> And the dwarf error is triggered here in read_comp_unit_head:
> ...
>         case DW_UT_split_compile:
>           if (section_kind != rcuh_kind::COMPILE)
>             error (_("Dwarf Error: wrong unit_type in compilation unit header "
>                    "(is %s, should be %s) [in module %s]"),
>                    dwarf_unit_type_name (cu_header->unit_type),
>                    dwarf_unit_type_name (DW_UT_type), filename);
>           break;
> ...
> due to passing rcuh_kind::TYPE here in open_and_init_dwo_file:
> ...
>       create_debug_type_hash_table (per_objfile, dwo_file.get (),
>                                     &dwo_file->sections.info, dwo_file->tus,
>                                     rcuh_kind::TYPE);
> ...
> 
> Fix this by changing the section_kind argument to create_debug_type_hash_table
> to rcuh_kind::COMPILE, to reflect that we're passing &dwo_file->sections.info
> rather than &dwo_file->sections.types.
> 
> Tested on x86_64-linux.
> 
> Any comments?
> 

Ping.

Thanks,
- Tom

> [gdb/symtab] Fix wrong unit_type Dwarf Error
> 
> gdb/ChangeLog:
> 
> 2021-02-11  Tom de Vries  <tdevries@suse.de>
> 
> 	PR symtab/27354
> 	* dwarf2/read.c (open_and_init_dwo_file): Use rcuh_kind::COMPILE as
> 	section_kind for &dwo_file->sections.info.
> 
> ---
>  gdb/dwarf2/read.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
> index 51bf0fbeea5..aacb1806742 100644
> --- a/gdb/dwarf2/read.c
> +++ b/gdb/dwarf2/read.c
> @@ -12952,7 +12952,7 @@ open_and_init_dwo_file (dwarf2_cu *cu, const char *dwo_name,
>      {
>        create_debug_type_hash_table (per_objfile, dwo_file.get (),
>  				    &dwo_file->sections.info, dwo_file->tus,
> -				    rcuh_kind::TYPE);
> +				    rcuh_kind::COMPILE);
>      }
>  
>    dwarf_read_debug_printf ("DWO file found: %s", dwo_name);
> 

  reply	other threads:[~2021-02-24 23:01 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-11 10:59 [PATCH][gdb/symtab] " Tom de Vries
2021-02-24 23:01 ` Tom de Vries [this message]
2021-02-25 14:37   ` [PING][PATCH][gdb/symtab] " Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7af3f689-ebee-b4d6-fc0e-4c8a54391224@suse.de \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox