public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "dje at google dot com" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug symtab/17591] New: dwarf2read.c:find_slot_in_mapped_hash needs to handle "(anonymous namespace)" Date: Wed, 12 Nov 2014 22:31:00 -0000 [thread overview] Message-ID: <bug-17591-4717@http.sourceware.org/bugzilla/> (raw) https://sourceware.org/bugzilla/show_bug.cgi?id=17591 Bug ID: 17591 Summary: dwarf2read.c:find_slot_in_mapped_hash needs to handle "(anonymous namespace)" Product: gdb Version: 7.8 Status: NEW Severity: normal Priority: P2 Component: symtab Assignee: unassigned at sourceware dot org Reporter: dje at google dot com I was debugging a perf issue and found this in find_slot_in_mapped_hash: if (current_language->la_language == language_cplus || current_language->la_language == language_java || current_language->la_language == language_fortran) { /* NAME is already canonical. Drop any qualifiers as .gdb_index does not contain any. */ const char *paren = strchr (name, '('); if (paren) { char *dup; dup = xmalloc (paren - name + 1); memcpy (dup, name, paren - name); dup[paren - name] = 0; make_cleanup (xfree, dup); name = dup; } } What if name is "(anonymous namespace)" ? For the program at hand, this results in symbol table entry 0 which has 1085 entries. [ 0] : 4 [static, function] 5 [static, function] 6 [static, function] ... some global functions 2737 [static, function] 2739 [static, function] 2743 [static, function] None of the CUs for these entries define anonymous namespace, but since we're looking up in VAR_DOMAIN the index returns a match and we expand the CU. While we should fix find_slot_in_mapped_hash, there is a side issue of doing a general purpose lookup (VAR_DOMAIN) when we have (or should have) enough knowledge to do a more specific lookup (we're looking for a namespace(/type) not a function). -- You are receiving this mail because: You are on the CC list for the bug.
next reply other threads:[~2014-11-12 22:31 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-11-12 22:31 dje at google dot com [this message] 2014-11-12 22:38 ` [Bug symtab/17591] " dje at google dot com 2014-11-12 22:49 ` dje at google dot com 2014-11-12 22:50 ` dje at google dot com 2014-11-12 22:57 ` dje at google dot com 2014-11-13 20:02 ` dje at google dot com 2014-11-14 0:52 ` cvs-commit at gcc dot gnu.org 2014-11-14 0:59 ` dje at google dot com 2014-11-14 19:30 ` dje at google dot com 2014-12-03 0:25 ` cvs-commit at gcc dot gnu.org 2014-12-25 0:45 ` cvs-commit at gcc dot gnu.org 2015-02-13 19:15 ` dje at google dot com 2015-02-13 19:30 ` dje at google dot com
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=bug-17591-4717@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=gdb-prs@sourceware.org \ /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: linkBe 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; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).