This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug symtab/15962] break / rbreak fails to match C linkage C++ functions with user-defined types


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

--- Comment #1 from Jonathan Larmour <jifl-bugzilla at jifvik dot org> ---
Created attachment 8099
  --> https://sourceware.org/bugzilla/attachment.cgi?id=8099&action=edit
Candidate patch to try with and without canonicalization

Hi,

I've come back to this issue as it is still present in 7.8.2. The suggested fix
I proposed was not right - cp_canonicalize_string_no_typedefs() will eventually
call lookup_symbol() (via replace_typedefs() or inspect_type()) which can cause
infinite recursion.

Therefore I am attaching a possible more straightforward fix which is to adjust
find_linespec_symbols() so that it first tries to find a function symbol for
the passed-in name, and only then repeats the search with a canonicalized
version of the name.

It certainly fixes the reported issue. So can someone have a look at it?
Thanks.

I do have an FSF assignment.

Jifl

2014-02-03  Jonathan Larmour  <jifl@eCosCentric.com>

    PR symtab/15962
    * linespec.c (find_linespec_symbols): Attempt to find function symbol
    both without and with C++ canonicalization.

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]