public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/15454] New: unusably slow resolving type names in C++ program with multiple namespace / lots of base classes
@ 2013-05-10  5:08 csapuntz at gmail dot com
  2013-05-10  5:49 ` [Bug c++/15454] " csapuntz at gmail dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: csapuntz at gmail dot com @ 2013-05-10  5:08 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15454

             Bug #: 15454
           Summary: unusably slow resolving type names in C++ program with
                    multiple namespace / lots of base classes
           Product: gdb
           Version: 7.6
            Status: NEW
          Severity: critical
          Priority: P2
         Component: c++
        AssignedTo: unassigned@sourceware.org
        ReportedBy: csapuntz@gmail.com
    Classification: Unclassified


Created attachment 7020
  --> http://sourceware.org/bugzilla/attachment.cgi?id=7020
breakpoint trace

It takes minutes for GDB to find a symbol (vol::content_lh_key in this case)
defined in a global namespace unless I prefix the symbol with ::

It seems to search for vol in the namespaces of all classes that the current
class inherits from. This is ok, but it seems to repeat the search on the same
symbol many times over.

I ran gdb against gdb and capture a bunch of stack traces during the symbol
lookup. The file is attached.

break cp_lookup_symbol_in_namespace
silent
bt 4
print "\n\n"
cont
end

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/15454] unusably slow resolving type names in C++ program with multiple namespace / lots of base classes
  2013-05-10  5:08 [Bug c++/15454] New: unusably slow resolving type names in C++ program with multiple namespace / lots of base classes csapuntz at gmail dot com
@ 2013-05-10  5:49 ` csapuntz at gmail dot com
  2013-06-05 20:09 ` keiths at redhat dot com
  2014-01-25 21:04 ` altsysrq at gmail dot com
  2 siblings, 0 replies; 4+ messages in thread
From: csapuntz at gmail dot com @ 2013-05-10  5:49 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15454

--- Comment #1 from Costa Sapuntzakis <csapuntz at gmail dot com> 2013-05-10 05:49:16 UTC ---
The following diff works around the problem for me by disabling lookup in base
classes:

--- gdb-7.6~20130417/gdb/cp-namespace.c 2013-03-18 02:20:02.000000000 -0700
+++ gdb-7.6-mine/gdb/cp-namespace.c     2013-05-09 22:32:17.907659782 -0700
@@ -808,9 +808,7 @@
        if (sym != NULL)
          return sym;

-       /* If no matching symbols were found, try searching any
-          base classes.  */
-       return find_symbol_in_baseclass (parent_type, nested_name, block);
+        return NULL;
       }

     case TYPE_CODE_FUNC:

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/15454] unusably slow resolving type names in C++ program with multiple namespace / lots of base classes
  2013-05-10  5:08 [Bug c++/15454] New: unusably slow resolving type names in C++ program with multiple namespace / lots of base classes csapuntz at gmail dot com
  2013-05-10  5:49 ` [Bug c++/15454] " csapuntz at gmail dot com
@ 2013-06-05 20:09 ` keiths at redhat dot com
  2014-01-25 21:04 ` altsysrq at gmail dot com
  2 siblings, 0 replies; 4+ messages in thread
From: keiths at redhat dot com @ 2013-06-05 20:09 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15454

Keith Seitz <keiths at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |keiths at redhat dot com

--- Comment #2 from Keith Seitz <keiths at redhat dot com> ---
Does this patch help at all?

http://sourceware.org/ml/gdb-patches/2013-05/msg01097.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/15454] unusably slow resolving type names in C++ program with multiple namespace / lots of base classes
  2013-05-10  5:08 [Bug c++/15454] New: unusably slow resolving type names in C++ program with multiple namespace / lots of base classes csapuntz at gmail dot com
  2013-05-10  5:49 ` [Bug c++/15454] " csapuntz at gmail dot com
  2013-06-05 20:09 ` keiths at redhat dot com
@ 2014-01-25 21:04 ` altsysrq at gmail dot com
  2 siblings, 0 replies; 4+ messages in thread
From: altsysrq at gmail dot com @ 2014-01-25 21:04 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=15454

Vladimir Rutsky <altsysrq at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |altsysrq at gmail dot com

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-01-25 21:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-10  5:08 [Bug c++/15454] New: unusably slow resolving type names in C++ program with multiple namespace / lots of base classes csapuntz at gmail dot com
2013-05-10  5:49 ` [Bug c++/15454] " csapuntz at gmail dot com
2013-06-05 20:09 ` keiths at redhat dot com
2014-01-25 21:04 ` altsysrq at gmail dot com

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).