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. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils