From b98664d3862579c5a0d23901b1e2fc1f595f39ff Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 16 May 2018 22:54:44 -0600 Subject: Remove symfile_complaints The complaint system seems to allow for multiple different complaint topics. However, in practice only symfile_complaints has ever been defined. Seeing that complaints.c dates to 1992, and that no new complaints have been added in the intervening years, I think it is reasonable to admit that complaints are specifically related to debuginfo reading. This patch removes symfile_complaints and updates all the callers. Some of these spots should perhaps be calls to warning instead, but I did not make that change. gdb/ChangeLog 2018-05-23 Tom Tromey * complaints.c (symfile_complaints): Remove. (complaint_internal): Remove "complaints" parameter. (clear_complaints, vcomplaint): Remove "c" parameter. (get_complaints): Remove. * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint) (dwarf2_debug_line_missing_file_complaint) (dwarf2_debug_line_missing_end_sequence_complaint) (dwarf2_complex_location_expr_complaint) (dwarf2_const_value_length_mismatch_complaint) (dwarf2_section_buffer_overflow_complaint) (dwarf2_macro_malformed_definition_complaint) (dwarf2_invalid_attrib_class_complaint) (create_addrmap_from_index, dw2_symtab_iter_next) (dw2_expand_marked_cus) (dw2_debug_names_iterator::find_vec_in_debug_names) (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next) (create_debug_type_hash_table, init_cutu_and_read_dies) (partial_die_parent_scope, add_partial_enumeration) (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die) (dwarf2_compute_name, dwarf2_physname, read_namespace_alias) (read_import_statement, read_file_scope, create_dwo_cu_reader) (create_cus_hash_table, create_dwp_hash_table) (inherit_abstract_dies, read_func_scope, read_call_site_scope) (dwarf2_rnglists_process, dwarf2_ranges_process) (dwarf2_add_type_defn, dwarf2_attach_fields_to_type) (dwarf2_add_member_fn, get_alignment, maybe_set_alignment) (handle_struct_member_die, process_structure_scope) (read_array_type, read_common_block, read_module_type) (read_tag_pointer_type, read_typedef, read_base_type) (read_subrange_type, load_partial_dies, partial_die_info::read) (partial_die_info::read, partial_die_info::read) (partial_die_info::read, read_checked_initial_length_and_offset) (dwarf2_string_attr, read_formatted_entries) (dwarf_decode_line_header) (lnp_state_machine::check_line_address, dwarf_decode_lines_1) (new_symbol, dwarf2_const_value_attr, lookup_die_type) (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset) (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes) (get_signatured_type, get_DW_AT_signature_type) (decode_locdesc, file_file_name, consume_improper_spaces) (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header) (dwarf_decode_macro_bytes, dwarf_decode_macros) (dwarf2_symbol_mark_computed, set_die_type) (read_attribute_value): Update. * stap-probe.c (handle_stap_probe, get_stap_base_address): Update. * dbxread.c (unknown_symtype_complaint) (lbrac_mismatch_complaint, repeated_header_complaint) (set_namestring, function_outside_compilation_unit_complaint) (read_dbx_symtab, process_one_symbol): Update. * gdbtypes.c (stub_noname_complaint): Update. * windows-nat.c (handle_unload_dll): Update. * coffread.c (coff_symtab_read, enter_linenos, decode_type) (decode_base_type): Update. * xcoffread.c (bf_notfound_complaint, ef_complaint) (eb_complaint, record_include_begin, record_include_end) (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab) (process_xcoff_symbol, read_symbol) (function_outside_compilation_unit_complaint) (scan_xcoff_symtab): Update. * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update. * buildsym.c (finish_block_internal, make_blockvector) (end_symtab_get_static_block, augment_type_symtab): Update. * dtrace-probe.c (dtrace_process_dof) (dtrace_static_probe_ops::get_probes): Update. * complaints.h (struct complaint): Don't declare. (symfile_complaints): Remove. (complaint_internal): Remove "complaints" parameter. (complaint): Likewise. (clear_complaints): Likewise. * symfile.c (syms_from_objfile_1, finish_new_objfile) (reread_symbols): Update. * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program) (dwarf2_frame_cache, decode_frame_entry): Update. * dwarf2loc.c (dwarf_reg_to_regnum): Update. * objc-lang.c (lookup_objc_class, lookup_child_selector) (info_selectors_command): Update. * macrotab.c (macro_include, check_for_redefinition) (macro_undef): Update. * objfiles.c (filter_overlapping_sections): Update. * stabsread.c (invalid_cpp_abbrev_complaint) (reg_value_complaint, stabs_general_complaint, dbx_lookup_type) (define_symbol, error_type, read_type, rs6000_builtin_type) (stabs_method_name_from_physname, read_member_functions) (read_cpp_abbrev, read_baseclasses, read_tilde_fields) (attach_fields_to_type, complain_about_struct_wipeout) (read_range_type, read_args, common_block_start) (common_block_end, cleanup_undefined_types_1, scan_file_globals): Update. * mdebugread.c (index_complaint, unknown_ext_complaint) (basic_type_complaint, bad_tag_guess_complaint) (bad_rfd_entry_complaint, unexpected_type_code_complaint) (reg_value_complaint, parse_symbol, parse_type, upgrade_type) (parse_procedure, parse_lines) (function_outside_compilation_unit_complaint) (parse_partial_symbols, psymtab_to_symtab_1, cross_ref) (bad_tag_guess_complaint, reg_value_complaint): Update. * cp-support.c (demangled_name_complaint): Update. * macroscope.c (sal_macro_scope): Update. * dwarf-index-write.c (class debug_names): Update. gdb/testsuite/ChangeLog 2018-05-23 Tom Tromey * gdb.gdb/complaints.exp (test_initial_complaints): Don't mention symfile_complaints. (test_short_complaints): Likewise. (test_empty_complaints): Likewise. (test_initial_complaints): Update. --- gdb/mdebugread.c | 88 +++++++++++++++++++++----------------------------------- 1 file changed, 33 insertions(+), 55 deletions(-) (limited to 'gdb/mdebugread.c') diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index 3f0cdc7..eeefb66 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -125,40 +125,39 @@ struct symloc static void index_complaint (const char *arg1) { - complaint (&symfile_complaints, _("bad aux index at symbol %s"), arg1); + complaint (_("bad aux index at symbol %s"), arg1); } static void unknown_ext_complaint (const char *arg1) { - complaint (&symfile_complaints, _("unknown external symbol %s"), arg1); + complaint (_("unknown external symbol %s"), arg1); } static void basic_type_complaint (int arg1, const char *arg2) { - complaint (&symfile_complaints, _("cannot map ECOFF basic type 0x%x for %s"), + complaint (_("cannot map ECOFF basic type 0x%x for %s"), arg1, arg2); } static void bad_tag_guess_complaint (const char *arg1) { - complaint (&symfile_complaints, - _("guessed tag type of %s incorrectly"), arg1); + complaint (_("guessed tag type of %s incorrectly"), arg1); } static void bad_rfd_entry_complaint (const char *arg1, int arg2, int arg3) { - complaint (&symfile_complaints, _("bad rfd entry for %s: file %d, index %d"), + complaint (_("bad rfd entry for %s: file %d, index %d"), arg1, arg2, arg3); } static void unexpected_type_code_complaint (const char *arg1) { - complaint (&symfile_complaints, _("unexpected type code for %s"), arg1); + complaint (_("unexpected type code for %s"), arg1); } /* Macros and extra defs. */ @@ -521,8 +520,7 @@ add_pending (FDR *fh, char *sh, struct type *t) static void reg_value_complaint (int regnum, int num_regs, const char *sym) { - complaint (&symfile_complaints, - _("bad register number %d (max %d) in symbol %s"), + complaint (_("bad register number %d (max %d) in symbol %s"), regnum, num_regs - 1, sym); } @@ -747,8 +745,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, keep_counting = 0; break; default: - complaint (&symfile_complaints, - _("unknown symbol type 0x%x"), sh->st); + complaint (_("unknown symbol type 0x%x"), sh->st); break; } } @@ -965,8 +962,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, break; default: - complaint (&symfile_complaints, - _("declaration block contains " + complaint (_("declaration block contains " "unhandled symbol type %d"), tsym.st); } @@ -1245,8 +1241,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, ; } else - complaint (&symfile_complaints, - _("stEnd with storage class %d not handled"), sh->sc); + complaint (_("stEnd with storage class %d not handled"), sh->sc); pop_parse_stack (); /* Restore previous lexical context. */ break; @@ -1358,7 +1353,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, case stConstant: break; /* constant */ default: - complaint (&symfile_complaints, _("unknown symbol type 0x%x"), sh->st); + complaint (_("unknown symbol type 0x%x"), sh->st); break; } @@ -1599,8 +1594,7 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs, else if (t->bt == btEnum) ; else - complaint (&symfile_complaints, - _("can't handle TIR fBitfield for %s"), + complaint (_("can't handle TIR fBitfield for %s"), sym_name); } else @@ -1629,8 +1623,7 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs, if (rf == -1) { - complaint (&symfile_complaints, - _("unable to cross ref btIndirect for %s"), sym_name); + complaint (_("unable to cross ref btIndirect for %s"), sym_name); return basic_type (btInt, mdebugread_objfile); } xref_fh = get_rfd (fd, rf); @@ -1749,8 +1742,7 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs, ax += cross_ref (fd, ax, &tp, type_code, &name, bigend, sym_name); if (tp == (struct type *) NULL) { - complaint (&symfile_complaints, - _("unable to cross ref btTypedef for %s"), sym_name); + complaint (_("unable to cross ref btTypedef for %s"), sym_name); tp = basic_type (btInt, mdebugread_objfile); } } @@ -1796,8 +1788,7 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs, /* Complain for illegal continuations due to corrupt aux entries. */ if (t->continued) - complaint (&symfile_complaints, - _("illegal TIR continued for %s"), sym_name); + complaint (_("illegal TIR continued for %s"), sym_name); return tp; } @@ -1859,8 +1850,7 @@ upgrade_type (int fd, struct type **tpp, int tq, union aux_ext *ax, int bigend, else due to corrupt aux entries. */ if (TYPE_CODE (indx) != TYPE_CODE_INT) { - complaint (&symfile_complaints, - _("illegal array index type for %s, assuming int"), + complaint (_("illegal array index type for %s, assuming int"), sym_name); indx = objfile_type (mdebugread_objfile)->builtin_int; } @@ -1908,7 +1898,7 @@ upgrade_type (int fd, struct type **tpp, int tq, union aux_ext *ax, int bigend, return 0; default: - complaint (&symfile_complaints, _("unknown type qualifier 0x%x"), tq); + complaint (_("unknown type qualifier 0x%x"), tq); return 0; } } @@ -1940,8 +1930,7 @@ parse_procedure (PDR *pr, struct compunit_symtab *search_symtab, { /* Static procedure at address pr->adr. Sigh. */ /* FIXME-32x64. assuming pr->adr fits in long. */ - complaint (&symfile_complaints, - _("can't handle PDR for static proc at 0x%lx"), + complaint (_("can't handle PDR for static proc at 0x%lx"), (unsigned long) pr->adr); return; } @@ -2004,7 +1993,7 @@ parse_procedure (PDR *pr, struct compunit_symtab *search_symtab, } else { - complaint (&symfile_complaints, _("PDR for %s, but no symbol"), sh_name); + complaint (_("PDR for %s, but no symbol"), sh_name); #if 1 return; #else @@ -2230,8 +2219,7 @@ parse_lines (FDR *fh, PDR *pr, struct linetable *lt, int maxlines, with corrupt binaries. */ if (lt->nitems >= maxlines) { - complaint (&symfile_complaints, - _("guessed size of linetable for %s incorrectly"), + complaint (_("guessed size of linetable for %s incorrectly"), fdr_name (fh)); break; } @@ -2244,8 +2232,7 @@ parse_lines (FDR *fh, PDR *pr, struct linetable *lt, int maxlines, static void function_outside_compilation_unit_complaint (const char *arg1) { - complaint (&symfile_complaints, - _("function `%s' appears to be defined " + complaint (_("function `%s' appears to be defined " "outside of all compilation units"), arg1); } @@ -2486,15 +2473,13 @@ parse_partial_symbols (minimal_symbol_reader &reader, external symbols. */ if (ext_in->ifd < -1 || ext_in->ifd >= hdr->ifdMax) { - complaint (&symfile_complaints, - _("bad ifd for external symbol: %d (max %ld)"), + complaint (_("bad ifd for external symbol: %d (max %ld)"), ext_in->ifd, hdr->ifdMax); continue; } if (ext_in->asym.iss < 0 || ext_in->asym.iss >= hdr->issExtMax) { - complaint (&symfile_complaints, - _("bad iss for external symbol: %ld (max %ld)"), + complaint (_("bad iss for external symbol: %ld (max %ld)"), ext_in->asym.iss, hdr->issExtMax); continue; } @@ -3312,8 +3297,7 @@ parse_partial_symbols (minimal_symbol_reader &reader, searching to the end of every string looking for a backslash. */ - complaint (&symfile_complaints, - _("unknown symbol descriptor `%c'"), p[1]); + complaint (_("unknown symbol descriptor `%c'"), p[1]); /* Ignore it; perhaps it is an extension that we don't know about. */ @@ -3377,8 +3361,7 @@ parse_partial_symbols (minimal_symbol_reader &reader, default: /* If we haven't found it yet, ignore it. It's probably some new type we don't know about yet. */ - complaint (&symfile_complaints, - _("unknown symbol type %s"), + complaint (_("unknown symbol type %s"), hex_string (type_code)); /* CUR_SYMBOL_TYPE */ continue; } @@ -3479,8 +3462,7 @@ parse_partial_symbols (minimal_symbol_reader &reader, if (new_sdx <= cur_sdx) { /* This should not happen either... FIXME. */ - complaint (&symfile_complaints, - _("bad proc end in aux found from symbol %s"), + complaint (_("bad proc end in aux found from symbol %s"), name); new_sdx = cur_sdx + 1; /* Don't skip backward. */ } @@ -3589,8 +3571,7 @@ parse_partial_symbols (minimal_symbol_reader &reader, if (new_sdx <= cur_sdx) { /* This happens with the Ultrix kernel. */ - complaint (&symfile_complaints, - _("bad aux index at block symbol %s"), name); + complaint (_("bad aux index at block symbol %s"), name); new_sdx = cur_sdx + 1; /* Don't skip backward. */ } cur_sdx = new_sdx; @@ -3610,9 +3591,9 @@ parse_partial_symbols (minimal_symbol_reader &reader, default: /* Both complaints are valid: one gives symbol name, the other the offending symbol type. */ - complaint (&symfile_complaints, _("unknown local symbol %s"), + complaint (_("unknown local symbol %s"), name); - complaint (&symfile_complaints, _("with type %d"), sh.st); + complaint (_("with type %d"), sh.st); cur_sdx++; continue; } @@ -3774,7 +3755,7 @@ parse_partial_symbols (minimal_symbol_reader &reader, &rh); if (rh < 0 || rh >= hdr->ifdMax) { - complaint (&symfile_complaints, _("bad file number %ld"), rh); + complaint (_("bad file number %ld"), rh); continue; } @@ -4084,8 +4065,7 @@ psymtab_to_symtab_1 (struct objfile *objfile, /* These are generated by gcc-2.x, do not complain. */ ; else - complaint (&symfile_complaints, - _("unknown stabs symbol %s"), name); + complaint (_("unknown stabs symbol %s"), name); } if (! last_symtab_ended) @@ -4444,8 +4424,7 @@ cross_ref (int fd, union aux_ext *ax, struct type **tpp, + fh->iauxBase + sh.index)->a_ti, &tir); if (tir.tq0 != tqNil) - complaint (&symfile_complaints, - _("illegal tq0 in forward typedef for %s"), sym_name); + complaint (_("illegal tq0 in forward typedef for %s"), sym_name); switch (tir.bt) { case btVoid: @@ -4481,8 +4460,7 @@ cross_ref (int fd, union aux_ext *ax, struct type **tpp, break; default: - complaint (&symfile_complaints, - _("illegal bt %d in forward typedef for %s"), tir.bt, + complaint (_("illegal bt %d in forward typedef for %s"), tir.bt, sym_name); *tpp = init_type (mdebugread_objfile, type_code, 0, NULL); break; -- cgit v1.1