Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Keith Seitz <keiths@redhat.com>
Cc: Tom Tromey <tom@tromey.com>, gdb-patches@sourceware.org
Subject: Re: possible fix for PR symtab/23010
Date: Mon, 30 Apr 2018 22:44:00 -0000	[thread overview]
Message-ID: <20180430224454.wrnu4u45o5gukrxs@adacore.com> (raw)
In-Reply-To: <f163fa84-eb60-ac12-dedb-b6970b799165@redhat.com>

Hello,


> > I was talking with Keith & Pedro about PR symtab/23010 on irc this week,
> > because it was the bug at the base of the Rust -readnow problem that Jan
> > reported.
> > 
> > I came up with this patch yesterday.  It fixes the problem, but I didn't
> > write a test and also I'm not sure if it is the best way to go.
> > 
> > So, I thought I'd send it for commentary.

I am not sure either, but I can't think of anything else.

> >     2018-04-12  Tom Tromey  <tom@tromey.com>
> >     
> >             PR symtab/23010:
> >             * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
> >             (dw2_instantiate_symtab): Add skip_partial parameter.
> >             (dw2_find_last_source_symtab, dw2_map_expand_apply)
> >             (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
> >             (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
> >             (dw2_expand_symtabs_matching_one)
> >             (dw2_find_pc_sect_compunit_symtab)
> >             (dw2_debug_names_lookup_symbol)
> >             (dw2_debug_names_expand_symtabs_for_function): Update.
> >             (init_cutu_and_read_dies): Add skip_partial parameter.
> >             (process_psymtab_comp_unit, build_type_psymtabs_1)
> >             (process_skeletonless_type_unit, load_partial_comp_unit)
> >             (psymtab_to_symtab_1): Update.
> >             (load_full_comp_unit): Add skip_partial parameter.
> >             (process_imported_unit_die, dwarf2_read_addr_index)
> >             (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
> >             (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
> >             (read_signatured_type): Update.
[...]
> This patch looks reasonable to me, but I would ask you to consider
> mentioning why partial_units are skipped where they are (even if to
> just reference the problem or bug?). That's these two hunks, I think:

+1.

> I've been manually testing this patch with everything that I can think
> of on libwebkit.so, and I cannot trigger anything ill-behaved at all.
> 
> I recommend a maintainer approve this, even if it is more a band-aid
> than a "proper" fix. It fixes a fairly big (and maybe even common)
> problem with minimal impact/risk.

I reviewed the patch as best as I could, but as Tom says, it's hard
to reason. But at the same time, it was conservative, as the new
param is false by default except in a couple of cases.

I'd love for another maintainer to take a look, especially if we are
going to consider this patch for inclusion in 8.1.1. But I can't
think of someone who was actively involved in this area.

Considering the fact that this has had two reviews, and also that
it comes from you, whom I trust quite a bit for changes in this area,
let's give others a week to provide comments. Failing that, let's
push it, to see how well it fares.

We may decide to skip this bug for 8.1.1, though. Although, thinking
aloud, if there was any regression caused by it, it would be with units
which haven't been expanded yet, right? A workaround would be to trigger
the unit's expansion, which seems easy enough. So, small risk vs
no-crash reward.... Hmmm...

-- 
Joel


  parent reply	other threads:[~2018-04-30 22:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-12 19:06 Tom Tromey
2018-04-17 19:17 ` Keith Seitz
2018-04-19 20:39   ` Tom Tromey
2018-04-30 22:44   ` Joel Brobecker [this message]
2018-05-07 17:13     ` Joel Brobecker
2018-05-14 19:43       ` Joel Brobecker
2018-05-18  1:22       ` Sergio Durigan Junior
2018-05-24  4:08         ` Tom Tromey
2018-05-24 10:50           ` Sergio Durigan Junior
2018-05-24 10:50             ` Tom Tromey
2018-05-24 15:54               ` Keith Seitz
2018-05-26  0:24                 ` Keith Seitz
2018-05-27 15:20                   ` Tom Tromey
2018-05-30 22:26                   ` Joel Brobecker
2018-05-17 17:16   ` 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=20180430224454.wrnu4u45o5gukrxs@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=keiths@redhat.com \
    --cc=tom@tromey.com \
    /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