From: Paul Smith <psmith@gnu.org>
To: Tom Tromey <tromey@redhat.com>
Cc: Pedro Alves <palves@redhat.com>, gdb@sourceware.org
Subject: Re: [GDB 7.6/GCC 4.8.0] Slowdown in GDB macro processing for cores?
Date: Wed, 22 May 2013 20:52:00 -0000 [thread overview]
Message-ID: <1369255926.7209.173.camel@homebase> (raw)
In-Reply-To: <87wqqqg4e2.fsf@fleche.redhat.com>
On Wed, 2013-05-22 at 14:12 -0600, Tom Tromey wrote:
> >>>>> "Paul" == Paul Smith <psmith@gnu.org> writes:
>
> Paul> The interesting thing is both versions are constantly seeking and
> Paul> reading to exactly the same location, over and over again. However GDB
> Paul> 4.6 does it many times more than GDB 7.5.1. For example, I get this
> Paul> combo:
>
> Paul> 14:51:34.423582 lseek(7, 26763264, SEEK_SET) = 26763264 <0.000004>
> Paul> 14:51:34.423609 read(7,
> Paul> "P\361\236\0\0\0\0\0`\361\236\0\0\0\0\0p\361\236\0\0\0\0\0\200\361\236\0\0\0\0\0"...,
> Paul> 4096) = 4096 <0.000015>
>
> A backtrace from one of these seeks or reads might be useful.
>
> Or, gprof.
I'll see what I can do. Meantime, git bisect declares this commit to be
the one that introduced the slow behavior:
677b1bfabd372790dca4dad32fcb05dd77658728 is the first bad commit
commit 677b1bfabd372790dca4dad32fcb05dd77658728
Author: Keith Seitz <keiths@redhat.com>
Date: Fri Nov 16 20:54:28 2012 +0000
PR c++/13615
* cp-namespace.c (cp_lookup_symbol_in_namespace): Add SEARCH
parameter and pass it to lookup_symbol_file.
(cp_lookup_symbol_imports): Tell cp_lookup_symbol_in_namespace
to search base classes.
(cp_lookup_symbol_namespace): Likewise.
(lookup_namespace_scope): Likewise.
(lookup_symbol_file): Add SEARCH parameter.
If SEARCH is non-zero and no symbol is found, lookup the class
and call cp_lookup_nested_symbol.
(find_symbol_in_baseclass): New function.
(cp_lookup_nested_symbol): Do not let
cp_lookup_symbol_in_namespace search through base classes.
Do that later when there is no global symbol match.
PR c++/13615
* gdb.cp/baseenum.cc: New file.
* gdb.cp/baseenum.exp: New file.
* gdb.cp/derivation.cc (A): Add copyright.
Add a typedef.
(B): Use A::value_type instead of int. Change all references.
(D): Use value_type instead of int. Change all references.
(E): Likewise.
(F); Likewise.
(Z): New class.
(ZZ): New class.
(N, Base, Derived): New namespace and classes.
(main): Add instances of Z and ZZ.
Make sure all symbols from N are kept.
* gdb.cp/derivation.exp: Update typedef changes in tests.
Add tests for class typedefs both before and after starting
the inferior.
Add tests for searching for a typedef while stopped in a
method.
:040000 040000 f605271943211b58d6946f8f837053aac8e2b185
0afb509700f9a0d88f26fb498615c9c906bfeb1d M gdb
next prev parent reply other threads:[~2013-05-22 20:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-16 19:42 Paul Smith
2013-05-17 10:15 ` Pedro Alves
2013-05-22 18:50 ` Paul Smith
2013-05-22 19:20 ` Paul Smith
2013-05-22 20:12 ` Tom Tromey
2013-05-22 20:52 ` Paul Smith [this message]
2013-05-22 21:02 ` Paul Smith
2013-05-22 23:14 ` Paul Smith
2013-05-23 2:44 ` Doug Evans
2013-05-23 4:41 ` Paul Smith
2013-05-28 17:11 ` Doug Evans
2013-05-28 17:33 ` Paul Smith
2013-05-28 17:40 ` Doug Evans
2013-05-28 17:53 ` Paul Smith
2013-05-28 18:03 ` Doug Evans
2013-05-28 15:25 ` Paul Smith
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=1369255926.7209.173.camel@homebase \
--to=psmith@gnu.org \
--cc=gdb@sourceware.org \
--cc=palves@redhat.com \
--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