Hi, This is actually a patch for symtab/11465. Basically, dwarf2_physname is constructing the name of a class method in which one of the method's parameters is of a type that has not yet been fully processed. (c_type_print_args will say ""). Bad things happen in/under c_type_print_args when you give it an incomplete type like this. The solution I've implemented is to simply delay processing of method physnames until the entire CU has been read/processed. Unfortunately, this is another example in which the compiler used may alter the test outcome. As a result, I've had to hack in a test case which is independent of the compiler. I would appreciate special attention to the test source file (pr11465.S), which is an edited version of gcc's --save-temps output. I have regression tested this on x86 and x86_64 linux. There aer no regressions, and the new test now passes. Keith ChangeLog 2010-04-20 Keith Seitz * dwarf2read.c (struct delayed_method_info): New struct. (struct dwarf2_cu): Add members method_index and method_list. (struct dwarf2_per_cu_data): Add member num_methods. (count_partial_methods): New function. (scan_partial_symbols): Count methods for union, class, structure, and interface types. (add_partial_subprogram): Count methods here, too. (add_to_method_list): New function. (compute_delayed_physnames): New function. (process_full_comp_unit): Allocate the CU's methods list, compute delayed physnames, and free the method list. (dwarf2_add_member_fn): For C++ and Java, delay the computation of the physname until after the CU is read. (load_partial_dies): Add subprogram and lexical block DIEs for Java and C++, too. testsuite/ChangeLog 2010-04-20 Keith Seitz * gdb.dwarf2/pr11465.exp: New test. * gdb.dwarf2/pr11465.S: New file.