public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Tom Tromey <tom@tromey.com>
Cc: Simon Marchi <simon.marchi@polymtl.ca>,
	Simon Marchi <simark@simark.ca>,
	gdb-patches@sourceware.org
Subject: Re: GDB 10.2 Release: Proposing Mar 13-14 for official GDB 10.2 release
Date: Tue, 30 Mar 2021 11:59:44 +0400	[thread overview]
Message-ID: <20210330075944.GE11111@adacore.com> (raw)
In-Reply-To: <875z19dyju.fsf@tromey.com>

Hi Tom,

On Mon, Mar 29, 2021 at 11:02:13PM -0600, Tom Tromey wrote:
> >> diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
> >> index 704ba9f36655..5d9256bece1e 100644
> >> --- a/gdb/dwarf2/read.c
> >> +++ b/gdb/dwarf2/read.c
> >> @@ -1954,7 +1954,8 @@ dwarf2_has_info (struct objfile *objfile,
> >> doesn't require relocations and if there aren't partial symbols
> >> from some other reader.  */
> >> if (!objfile_has_partial_symbols (objfile)
> >> -         && !gdb_bfd_requires_relocations (objfile->obfd))
> >> +         && !gdb_bfd_requires_relocations (objfile->obfd)
> >> +         && 0)
> >> {
> >> /* See if one has been created for this BFD yet.  */
> >> per_bfd = dwarf2_per_bfd_bfd_data_key.get (objfile->obfd);
> >> 
> >> We can then take our time to look at a proper fix for master.
> 
> Joel> It's quite nice to see that this feature could be disabled with
> Joel> a one-liner like this.
> 
> Joel> Unless Tom has other ideas, this seems like the way to go for me.
> 
> Sorry I didn't respond to this earlier.
> I think it's fine for the branch.

Great, thank you!

Speaking of the branch, given your patch below, perhaps we can have
best of both worlds if we go with the solution you suggest?
If we could converge on that by the time the weekend comes,
I think it would be reasonable to backport your patch to the branch
as well.

> I came up with a complicated plan for the trunk, but after some
> reflection, I think a better plan is to notice OBJF_READNOW and refuse
> to do any sharing in this case.  That is, it's your patch, but replacing
> "0" with a check of OBJF_READNOW.  The appended probably has the wrong
> line numbers but it shows the idea.
> 
> This -readnow stuff is an optimization, which in retrospect is kind of
> silly, because on the whole I'd rather people not use -readnow anyway,

Same here.

> so why bother optimizing.  But when I added the gdb-index code, I
> noticed the possibility and I guess I couldn't resist.

Lol.

> diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
> index 11cdcd02d0a..ec044ab66e5 100644
> --- a/gdb/dwarf2/read.c
> +++ b/gdb/dwarf2/read.c
> @@ -1883,9 +1883,11 @@ dwarf2_has_info (struct objfile *objfile,
>      {
>        dwarf2_per_bfd *per_bfd;
>  
> -      /* We can share a "dwarf2_per_bfd" with other objfiles if the BFD
> -	 doesn't require relocations.  */
> -      if (!gdb_bfd_requires_relocations (objfile->obfd))
> +      /* We can share a "dwarf2_per_bfd" with other objfiles if the
> +	 BFD doesn't require relocations, and if -readnow was never
> +	 requested.  */
> +      if (!gdb_bfd_requires_relocations (objfile->obfd)
> +	  && (objfile->flags & OBJF_READNOW) == 0)
>  	{
>  	  /* See if one has been created for this BFD yet.  */
>  	  per_bfd = dwarf2_per_bfd_bfd_data_key.get (objfile->obfd);

Sounds like a good idea, especially if that avoids a complicated
plan to make it work.

The only small comment I have is that it would be useful, I think,
to explain why we say we cannot share the dwarf2_per_bfd when -readnow
is in effect (too complicated to support and not worth the effort
considering that performance is typically not as important in
the case of -readnow).

-- 
Joel

  reply	other threads:[~2021-03-30  7:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-06  6:46 Joel Brobecker
2021-03-06 18:13 ` Kevin Buettner
2021-03-07  5:45   ` Joel Brobecker
2021-03-07  6:25     ` Kevin Buettner
2021-03-09  5:08 ` Simon Marchi
2021-03-10  2:48   ` Joel Brobecker
2021-03-15  3:43     ` Simon Marchi
2021-03-16  3:45       ` Joel Brobecker
2021-03-30  5:02         ` Tom Tromey
2021-03-30  7:59           ` Joel Brobecker [this message]
2021-03-30 17:40             ` Simon Marchi
2021-03-30 15:14           ` Simon Marchi

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=20210330075944.GE11111@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=simark@simark.ca \
    --cc=simon.marchi@polymtl.ca \
    --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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).