bd140f1 Fix gdb.ada/bp_c_mixed_case.exp (PR gdb/22670)

Authored and Committed by palves 6 years ago
    Fix gdb.ada/bp_c_mixed_case.exp (PR gdb/22670)
    
    The problem here is that we are using the user-provided lookup name
    literally for name comparisons.  I.e., "<MixedCase>" with the "<>"s
    included.
    
    This commit fixes the minsym lookup case.  psymbol/symbol lookup will
    be fixed in a follow up.
    
    In the minsym case, we're using using the user-provided lookup name
    literally for linkage name comparisons.  That obviously can't work
    since the "<>" are not really part of the linkage name.
    
    The original idea was that we'd use the symbol's language to select
    the right symbol name matching algorithm, but that doesn't work for
    Ada because it's not really possible to unambiguously tell from the
    linkage name alone whether we're dealing with Ada symbols, so Ada
    minsyms end up with no language set, or sometimes C++ set.
    
    So fix this by treating Ada mode specially when determining the
    linkage name to match against.
    
    gdb/ChangeLog:
    2018-01-10  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/22670
    	* minsyms.c (linkage_name_str): New function.
    	(iterate_over_minimal_symbols): Use it.
    
    gdb/testsuite/ChangeLog:
    2018-01-10  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/22670
    	* gdb.ada/bp_c_mixed_case.exp: Remove setup_kfail calls.
    
        
file modified
+6 -0
file modified
+20 -1
file modified
+5 -0