[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug gold/15646] New: gold-generated .gdb_index has duplicated symbols that gdb-generated index doesn't,
dje at google dot com <=