bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/15646] New: gold-generated .gdb_index has duplicated symbols t


From: dje at google dot com
Subject: [Bug gold/15646] New: gold-generated .gdb_index has duplicated symbols that gdb-generated index doesn't
Date: Tue, 18 Jun 2013 22:32:44 +0000

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

            Bug ID: 15646
           Summary: gold-generated .gdb_index has duplicated symbols that
                    gdb-generated index doesn't
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gold
          Assignee: ian at airs dot com
          Reporter: dje at google dot com
                CC: ccoutant at google dot com

The gdb-generated .gdb_index doesn't have duplicate entries in the symbol table
for classes and namespaces (gdb's .gdb_index is based on its partial symbols,
and gdb only keeps one copy of global partial syms).

The gold-generated .gdb_index does have duplicate entries for classes and
namespaces.  This causes performance issues in gdb.
e.g. "break foo::misspelled" will expand the debug info for every CU recorded
for "foo" in .gdb_index.

Example:

foo.h:
namespace N1
{
  class C1
  {
   public:
    static void baz () {}
  };
}

foo-1.cc:
#include "foo.h"

namespace N1
{
  void foo () { C1::baz (); }
}

int
main ()
{
  return 0;
}

foo-2.cc:
#include "namespace-n.h"

namespace N1
{
  void bar () { C1::baz (); }
}

The gold generated index has:

[721] N1::C1::baz:
        2 [global function]
        3 [global function]
[759] N1:
        2 [global type]
        3 [global type]
[961] N1::C1:
        2 [global type]
        3 [global type]

The gdb generated index has:

[721] N1::C1::baz: 2 [global function]
[759] N1: T0 [global type]
[961] N1::C1: T0 [global type]

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]