Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Doug Evans <dje@google.com>
To: Cary Coutant <ccoutant@google.com>
Cc: Tom Tromey <tromey@redhat.com>, gdb-patches@sourceware.org
Subject: Re: [RFA] Add global/static and symbol kind indicator to .gdb_index
Date: Sat, 23 Jun 2012 19:59:00 -0000	[thread overview]
Message-ID: <CADPb22RZFVxPJP0hH14KyqN7ULVhAGiXEUEue8niYoK0xEzNTw@mail.gmail.com> (raw)
In-Reply-To: <CAHACq4qC2Oek_68_cNy2kJ-HkVnn6AwXWRceoG4aiU3E-oBmQg@mail.gmail.com>

On Fri, Jun 22, 2012 at 2:20 PM, Cary Coutant <ccoutant@google.com> wrote:
>> Doug> The global/static bit massively speeds up looking up things like
>> Doug> "int" when debugging with lots of shared libraries (all having
>> Doug> .gdb_index).  PR 14125
>>
>> Tom> I don't think this patch is needed to achieve this.  At least, the "int"
>> Tom> case and other similar cases were fixed by:
>>
>> Doug pointed out on irc that I was mistaken here.
>> The issue in his case is that, even though each individual index has a
>> single entry for "int", there are still many indices, so gdb still does
>> excessive CU expansion.
>> I'm sorry for the error.
>
> Is there still something I need to fix in gold in this regard? I think
> gold will produce an index entry for "int" in every CU that mentions
> it. If the right thing to do is to have only one CU, how do I decide
> what kinds of names get this treatment? (For example, some arbitrary
> type "struct foo" might actually be a different type, and you'd want
> multiple index entries.)

As a data point, using -fshort-double I created a program where gdb's
behaviour with the index is different than its behaviour without it.
Things like -fshort-double aren't well supported anyway, so I don't
know if this particular issue is something we want to worry about in
the near term.

fshort-double.c:
double normal_double;

extern void foo (void);

int
main ()
{
  foo ();
  return 0;
}

fshort-double-1.c:
double short_double;

void
foo ()
{
  short_double = 42;
}

$ gcc -g -c fshort-double.c
$ gcc -g -c -fshort-double fshort-double-1.c
$ gcc -g fshort-double.o fshort-double-1.o
$ gdb a.out
(gdb) b foo
(gdb) p sizeof(double)
4

then

$ gdb-add-index a.out
$ gdb a.out
(gdb) b foo
(gdb) p sizeof(double)
8

[I can well believe there is more than one bug here though. :-)]


  reply	other threads:[~2012-06-23 19:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-19  7:49 Doug Evans
2012-06-19 14:01 ` Pedro Alves
2012-06-19 16:08 ` Eli Zaretskii
2012-06-19 19:41   ` Doug Evans
2012-06-22 19:45 ` Tom Tromey
2012-06-22 21:03   ` Tom Tromey
2012-06-22 21:20     ` Cary Coutant
2012-06-23 19:59       ` Doug Evans [this message]
2012-06-25 14:53         ` Tom Tromey
2012-06-25 15:06       ` Tom Tromey
2012-06-23 22:25     ` Doug Evans
2012-06-24  8:09   ` Doug Evans

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=CADPb22RZFVxPJP0hH14KyqN7ULVhAGiXEUEue8niYoK0xEzNTw@mail.gmail.com \
    --to=dje@google.com \
    --cc=ccoutant@google.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@redhat.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