1. 17 Jan, 2019 2 commits
    • Tom Tromey's avatar
      Change all_objfiles_safe adapter to be a method on program_space · 7e955d83
      Tom Tromey authored
      This changes the all_objfiles_safe range adapter to be a method on the
      program space, and fixes up all the users.
      
      gdb/ChangeLog
      2019-01-15  Tom Tromey  <tom@tromey.com>
      
      	* progspace.h (program_space) <objfiles_safe_range>: New
      	typedef.
      	<objfiles_safe>: New method.
      	* objfiles.h (class all_objfiles_safe): Remove.
      	* objfiles.c (free_all_objfiles, objfile_purge_solibs): Update.
      	* jit.c (jit_inferior_exit_hook): Update.
      7e955d83
    • Tom Tromey's avatar
      Change all_objfiles adapter to be a method on program_space · 2030c079
      Tom Tromey authored
      This changes the all_objfiles range adapter to be a method on the
      program space, and fixes up all the users.
      
      gdb/ChangeLog
      2019-01-17  Tom Tromey  <tom@tromey.com>
      
      	* progspace.h (program_space) <objfiles_range>: New typedef.
      	<objfiles>: New method.
      	<objfiles_head>: Rename from objfiles.
      	(object_files): Update.
      	* guile/scm-progspace.c (gdbscm_progspace_objfiles): Update.
      	* guile/scm-pretty-print.c
      	(ppscm_find_pretty_printer_from_objfiles): Update.
      	* guile/scm-objfile.c (gdbscm_objfiles): Update.
      	* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
      	Update.
      	* python/py-progspace.c (pspy_get_objfiles): Update.
      	* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
      	Update.
      	* python/py-objfile.c (objfpy_lookup_objfile_by_name)
      	(objfpy_lookup_objfile_by_build_id): Update.
      	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
      	* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
      	Update.
      	* symtab.c (iterate_over_symtabs, matching_obj_sections)
      	(expand_symtab_containing_pc, lookup_objfile_from_block)
      	(lookup_static_symbol, basic_lookup_transparent_type)
      	(find_pc_sect_compunit_symtab, find_symbol_at_address)
      	(find_line_symtab, info_sources_command)
      	(default_collect_symbol_completion_matches_break_on)
      	(make_source_files_completion_list, find_main_name): Update.
      	* symmisc.c (print_symbol_bcache_statistics)
      	(print_objfile_statistics, maintenance_print_symbols)
      	(maintenance_print_msymbols, maintenance_print_objfiles)
      	(maintenance_info_symtabs, maintenance_check_symtabs)
      	(maintenance_expand_symtabs, maintenance_info_line_tables):
      	Update.
      	* symfile.c (remove_symbol_file_command, overlay_invalidate_all)
      	(find_pc_overlay, find_pc_mapped_section, list_overlays_command)
      	(map_overlay_command, unmap_overlay_command)
      	(simple_overlay_update, expand_symtabs_matching)
      	(map_symbol_filenames): Update.
      	* symfile-debug.c (set_debug_symfile): Update.
      	* spu-tdep.c (spu_overlay_update, spu_objfile_from_frame):
      	Update.
      	* source.c (select_source_symtab, forget_cached_source_info):
      	Update.
      	* solib.c (solib_read_symbols): Update.
      	* solib-spu.c (append_ocl_sos): Update.
      	* psymtab.c (maintenance_print_psymbols)
      	(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
      	* probe.c (parse_probes_in_pspace, find_probe_by_pc): Update.
      	* printcmd.c (info_symbol_command): Update.
      	* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created):
      	Update.
      	* objfiles.h (class all_objfiles): Remove.
      	* objfiles.c (have_partial_symbols, have_full_symbols)
      	(have_minimal_symbols, qsort_cmp, update_section_map)
      	(shared_objfile_contains_address_p)
      	(default_iterate_over_objfiles_in_search_order): Update.
      	* objc-lang.c (info_selectors_command, info_classes_command)
      	(find_methods): Update.
      	* minsyms.c (find_solib_trampoline_target): Update.
      	* maint.c (maintenance_info_sections)
      	(maintenance_translate_address, count_symtabs_and_blocks):
      	Update.
      	* main.c (captured_main_1): Update.
      	* linux-thread-db.c (try_thread_db_load_from_pdir)
      	(has_libpthread): Update.
      	* linespec.c (iterate_over_all_matching_symtabs)
      	(search_minsyms_for_name): Update.
      	* jit.c (jit_find_objf_with_entry_addr): Update.
      	* hppa-tdep.c (find_unwind_entry)
      	(hppa_lookup_stub_minimal_symbol): Update.
      	* gcore.c (gcore_create_callback, objfile_find_memory_regions):
      	Update.
      	* elfread.c (elf_gnu_ifunc_resolve_by_cache)
      	(elf_gnu_ifunc_resolve_by_got): Update.
      	* dwarf2-frame.c (dwarf2_frame_find_fde): Update.
      	* dwarf-index-write.c (save_gdb_index_command): Update.
      	* cp-support.c (add_symbol_overload_list_qualified): Update.
      	* breakpoint.c (create_overlay_event_breakpoint)
      	(create_longjmp_master_breakpoint)
      	(create_std_terminate_master_breakpoint)
      	(create_exception_master_breakpoint): Update.
      	* blockframe.c (find_pc_partial_function): Update.
      	* ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols)
      	(ada_collect_symbol_completion_matches)
      	(ada_add_global_exceptions): Update.
      2030c079
  2. 10 Jan, 2019 9 commits
    • Keith Seitz's avatar
      gdb/23712: Use new multidictionary API · b026f593
      Keith Seitz authored
      This patch builds on the previous by enabling the `new' multidictionary
      API.  A lot of the hunks are simply textual replacements of "dict_"
      with "mdict_" and similar transformations.
      
      A word of warning, even with the use of multidictionaries, the code
      still does not satisfactorily fix the reported problems with gdb/23712
      (or gdb/23010). We still have additional changes to make before that
      happens.
      
      gdb/ChangeLog:
      
      	PR gdb/23712
      	PR symtab/23010
      	* dictionary.h (struct dictionary): Replace declaration with
      	multidictionary.
      	(dict_create_hashed, dict_create_hashed_expandable)
      	(dict_create_linear, dict_create_linear_expandable)
      	(dict_free, dict_add_symbol, dict_add_pending, dict_empty)
      	(dict_iterator_first, dict_iterator_next, dict_iter_match_first)
      	(dict_iter_match_next, dict_size): Rename to "mdict_" versions
      	taking multidictionary argument.
      	[ALL_DICT_SYMBOLS]: Update for multidictionary.
      	* block.h (struct block) <dict>: Change to multidictionary
      	and rename `multidict'.
      	* block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c,
      	symmisc.c: Update all dictionary references to multidictionary.
      b026f593
    • Tom Tromey's avatar
      Move psymtabs to their own obstack · 8d7bcccb
      Tom Tromey authored
      Previously, the psymtab obstack was just a pointer to the objfile
      obstack.  This patch changes psymtabs to use their own obstack,
      instead.  A gdb::optional is used to avoid unnecessary allocation when
      the obstack is not needed.
      
      After this patch, the psymtab code lifetime model is that, in the core
      psymtab code, objects allocated on the psymtab obstack may point to
      other such objects, or to objects on the per-BFD obstack -- but never
      to the objfile obstack.
      
      Note however that this invariant is only obeyed the core psymtab code,
      and even there not quite fully: there is still a link from the psymtab
      to the full symtab.
      
      Symbol readers are free to work however they like; and in particular,
      even after this patch, in practice all symbol readers violate this
      invariant via the read_symtab_private field.
      
      gdb/ChangeLog
      2019-01-10  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (objfile::reset_psymtabs): Update.
      	* objfiles.c (objfile::objfile): Update.
      	* psymtab.h (psymtab_storage::obstack): Update.
      	(psymtab_storage::m_obstack): Use gdb::optional.
      	(class psymtab_storage): Update comment.  Remove objfile
      	parameter.
      	* psymtab.c (psymtab_storage::psymtab_storage): Update.
      8d7bcccb
    • Tom Tromey's avatar
      Introduce class psymtab_storage · d320c2b5
      Tom Tromey authored
      This introduces a new psymtab_storage class, which holds all
      psymbol-related objects that are independent of the objfile.  (This
      latter contraint explains why psymbol_map was not moved; though this
      could still be done with some work.)
      
      This patch does not yet change where psymtab allocation is done --
      that comes later.  This just wraps everything in a single object to
      make further transformations simpler.
      
      Note that a shared_ptr is used to link from the objfile to the
      psymtab_storage object.  The end goal here is to allow a given symbol
      reader to simply attach to the psymtab_storage object to the BFD, then
      reuse it in later invocations; shared_ptr makes this simple to reason
      about.
      
      gdb/ChangeLog
      2019-01-10  Tom Tromey  <tom@tromey.com>
      
      	* symmisc.c (print_symbol_bcache_statistics): Update.
      	(print_objfile_statistics): Update.
      	* symfile.c (reread_symbols): Update.
      	* psymtab.h (class psymtab_storage): New.
      	* psymtab.c (psymtab_storage): New constructor.
      	(~psymtab_storage): New destructor.
      	(require_partial_symbols): Update.
      	(ALL_OBJFILE_PSYMTABS_REQUIRED): Rewrite.
      	(find_pc_sect_psymtab, find_pc_sect_psymbol)
      	(match_partial_symbol, lookup_partial_symbol, dump_psymtab)
      	(psym_dump, recursively_search_psymtabs, psym_has_symbols)
      	(psym_find_compunit_symtab_by_address, sort_pst_symbols)
      	(start_psymtab_common, end_psymtab_common)
      	(add_psymbol_to_bcache, add_psymbol_to_list, init_psymbol_list)
      	(allocate_psymtab): Update.
      	(psymtab_storage::discard_psymtab): Rename from discard_psymtab.
      	Update.
      	(dump_psymtab_addrmap, maintenance_print_psymbols)
      	(maintenance_check_psymtabs): Update.
      	(class objfile_psymtabs): Move to objfiles.h.
      	* psympriv.h (discard_psymtab): Now inline.
      	(psymtab_discarder::psymtab_discarder): Update.
      	(psymtab_discarder::~psymtab_discarder): Update.
      	(ALL_OBJFILE_PSYMTABS): Rewrite.
      	* objfiles.h (struct objfile) <psymtabs, psymtabs_addrmap,
      	free_psymtabs, psymbol_cache, global_psymbols, static_psymbols>:
      	Remove fields.
      	<partial_symtabs>: New field.
      	(class objfile_psymtabs): Move from psymtab.h.  Update.
      	* objfiles.c (objfile::objfile): Initialize partial_symtabs, not
      	psymbol_cache.
      	(objfile::~objfile): Don't destroy psymbol_cache.
      	* mdebugread.c (parse_partial_symbols): Update.
      	* dwarf2read.c (create_addrmap_from_index)
      	(create_addrmap_from_aranges, dw2_find_pc_sect_compunit_symtab)
      	(process_psymtab_comp_unit_reader, dwarf2_build_psymtabs_hard)
      	(add_partial_subprogram, dwarf2_ranges_read): Update.
      	* dwarf-index-write.c (write_address_map)
      	(write_one_signatured_type, recursively_write_psymbols)
      	(class debug_names, class debug_names, write_psymtabs_to_index):
      	Update.
      d320c2b5
    • Tom Tromey's avatar
      Remove ALL_OBJFILE_FILETABS · d5da8b3c
      Tom Tromey authored
      This removes ALL_OBJFILE_FILETABS, replacing its uses with ranged for
      loops.
      
      gdb/ChangeLog
      2019-01-09  Tom Tromey  <tom@tromey.com>
      
      	* symmisc.c (print_objfile_statistics, dump_objfile)
      	(maintenance_print_symbols): Use compunit_filetabs.
      	* source.c (forget_cached_source_info_for_objfile): Use
      	compunit_filetabs.
      	* objfiles.h (ALL_OBJFILE_FILETABS): Remove.
      	(ALL_FILETABS): Use compunit_filetabs.
      	* objfiles.c (objfile_relocate1): Use compunit_filetabs.
      	* coffread.c (coff_symtab_read): Use compunit_filetabs.
      d5da8b3c
    • Tom Tromey's avatar
      Remove ALL_COMPUNIT_FILETABS · 5accd1a0
      Tom Tromey authored
      This removes ALL_COMPUNIT_FILETABS, replacing its uses with ranged for
      loops.
      
      Because this is still used in the ALL_OBJFILE_FILETABS macro, in some
      places a declaration had to be removed or renamed to avoid shadowing.
      
      gdb/ChangeLog
      2019-01-09  Tom Tromey  <tom@tromey.com>
      
      	* symtab.h (ALL_COMPUNIT_FILETABS): Remove.
      	(compunit_filetabs): New.
      	* symtab.c (iterate_over_some_symtabs, find_pc_sect_line): Use
      	compunit_filetabs.
      	(info_sources_command, make_source_files_completion_list): Remove
      	declaration.
      	* symmisc.c (print_objfile_statistics, dump_objfile)
      	(maintenance_print_symbols): Remove declaration.
      	(maintenance_info_symtabs): Use compunit_filetabs.
      	(maintenance_info_line_tables): Likewise.
      	* source.c (select_source_symtab): Change local variable name.
      	(forget_cached_source_info_for_objfile): Remove declaration.
      	* objfiles.h (ALL_OBJFILE_FILETABS): Use compunit_filetabs.
      	* objfiles.c (objfile_relocate1): Remove declaration.
      	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
      	declaration.
      	* maint.c (count_symtabs_and_blocks): Use compunit_filetabs.
      	* coffread.c (coff_symtab_read): Remove declaration.
      	* buildsym.c (buildsym_compunit::end_symtab_with_blockvector): Use
      	compunit_filetabs.
      5accd1a0
    • Tom Tromey's avatar
      Remove ALL_OBJFILE_COMPUNITS · 592553c4
      Tom Tromey authored
      This removes ALL_OBJFILE_COMPUNITS, replacing its uses with ranged for
      loops.  Because ALL_COMPUNITS is also updated, in some places a
      declaration must be deleted to avoid shadowing.
      
      gdb/ChangeLog
      2019-01-09  Tom Tromey  <tom@tromey.com>
      
      	* source.c (select_source_symtab)
      	(forget_cached_source_info_for_objfile): Remove declaration.
      	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
      	declaration.
      	* maint.c (count_symtabs_and_blocks): Remove declaration.
      	* cp-support.c (add_symbol_overload_list_qualified): Remove
      	declaration.
      	* coffread.c (coff_symtab_read): Remove declaration.
      	* symtab.c (lookup_symbol_in_objfile_symtabs)
      	(basic_lookup_transparent_type_1): Use objfile_compunits.
      	(lookup_objfile_from_block, find_pc_sect_compunit_symtab)
      	(info_sources_command, search_symbols)
      	(default_collect_symbol_completion_matches_break_on)
      	(make_source_files_completion_list): Remove declaration.
      	* ada-lang.c (add_nonlocal_symbols): Use objfile_compunits.
      	(ada_collect_symbol_completion_matches)
      	(ada_add_global_exceptions): Remove declaration.
      	* linespec.c (iterate_over_all_matching_symtabs): Use
      	objfile_compunits.
      	* objfiles.h (ALL_OBJFILE_COMPUNITS): Remove.
      	(class objfile_compunits): New.
      	(ALL_COMPUNITS): Use objfile_compunits.
      	* symmisc.c (print_objfile_statistics, maintenance_info_symtabs)
      	(maintenance_check_symtabs, maintenance_info_line_tables): Use
      	objfile_compunits.
      	* objfiles.c (objfile_relocate1): Use objfile_compunits.
      592553c4
    • Tom Tromey's avatar
      Remove ALL_OBJFILES_SAFE · cac85af2
      Tom Tromey authored
      This removes the ALL_OBJFILES_SAFE macro, replacing the uses with
      ranged for loops.
      
      gdb/ChangeLog
      2019-01-09  Tom Tromey  <tom@tromey.com>
      
      	* common/next-iterator.h (next_adapter): Add Iterator template
      	parameter.
      	* objfiles.h (ALL_OBJFILES_SAFE): Remove.
      	(class all_objfiles_safe): New.
      	* jit.c (jit_inferior_exit_hook): Use all_objfiles_safe.
      	* objfiles.c (put_objfile_before): Update comment.
      	(add_separate_debug_objfile): Likewise.
      	(free_all_objfiles): Use all_objfiles_safe.
      	(objfile_purge_solibs): Likewise.
      cac85af2
    • Tom Tromey's avatar
      Remove most uses of ALL_OBJFILES · aed57c53
      Tom Tromey authored
      This removes most uses of ALL_OBJFILES, replacing them with ranged for
      loops.  The remaining uses are all in macros, and will be removed in
      subsequent patches.
      
      gdb/ChangeLog
      2019-01-09  Tom Tromey  <tom@tromey.com>
      
      	* symtab.c (iterate_over_symtabs, matching_obj_sections)
      	(expand_symtab_containing_pc, lookup_static_symbol)
      	(basic_lookup_transparent_type, find_pc_sect_compunit_symtab)
      	(find_symbol_at_address, find_line_symtab, find_main_name): Use
      	all_objfiles.
      	* probe.c (find_probe_by_pc, collect_probes): Use all_objfiles.
      	* breakpoint.c (create_overlay_event_breakpoint)
      	(create_longjmp_master_breakpoint)
      	(create_std_terminate_master_breakpoint)
      	(create_exception_master_breakpoint): Use all_objfiles.
      	* linux-thread-db.c (try_thread_db_load_from_pdir)
      	(has_libpthread): Use all_objfiles.
      	* ada-lang.c (add_nonlocal_symbols): Use all_objfiles.
      	* linespec.c (iterate_over_all_matching_symtabs)
      	(search_minsyms_for_name): Use all_objfiles.
      	* maint.c (maintenance_info_sections): Use all_objfiles.
      	* main.c (captured_main_1): Use all_objfiles.
      	* spu-tdep.c (spu_objfile_from_frame): Use all_objfiles.
      	* guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles.
      	* guile/scm-pretty-print.c
      	(ppscm_find_pretty_printer_from_objfiles): Use all_objfiles.
      	* solib-spu.c (append_ocl_sos): Use all_objfiles.
      	* symmisc.c (maintenance_print_symbols): Use all_objfiles.
      	(maintenance_print_msymbols): Use all_objfiles.
      	* source.c (select_source_symtab): Use all_objfiles.
      	* jit.c (jit_find_objf_with_entry_addr): Use all_objfiles.
      	* symfile.c (remove_symbol_file_command)
      	(expand_symtabs_matching, map_symbol_filenames): Use
      	all_objfiles.
      	* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use
      	all_objfiles.
      	* dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles.
      	* objc-lang.c (find_methods): Use all_objfiles.
      	* objfiles.c (have_partial_symbols, have_full_symbols)
      	(have_minimal_symbols, qsort_cmp)
      	(default_iterate_over_objfiles_in_search_order): Use
      	all_objfiles.
      	* hppa-tdep.c (find_unwind_entry): Use all_objfiles.
      	* psymtab.c (maintenance_print_psymbols): Use all_objfiles.
      	(maintenance_check_psymtabs): Use all_objfiles.
      	(ALL_PSYMTABS): Remove.
      	* compile/compile-object-run.c (do_module_cleanup): Use
      	all_objfiles.
      	* blockframe.c (find_pc_partial_function): Use all_objfiles.
      	* cp-support.c (add_symbol_overload_list_qualified): Use
      	all_objfiles.
      	* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
      	Use all_objfiles.
      	* dwarf-index-write.c (save_gdb_index_command): Use all_objfiles.
      	* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use
      	all_objfiles.
      	* python/py-objfile.c (objfpy_lookup_objfile_by_name)
      	(objfpy_lookup_objfile_by_build_id): Use all_objfiles.
      	* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
      	Uses all_objfiles.
      	* solib.c (solib_read_symbols): Use all_objfiles
      aed57c53
    • Tom Tromey's avatar
      Remove ALL_PSPACE_OBJFILES · 99d89cde
      Tom Tromey authored
      This removes the ALL_PSPACE_OBJFILES macro in favor of ranged for
      loops.
      
      gdb/ChangeLog
      2019-01-09  Tom Tromey  <tom@tromey.com>
      
      	* probe.c (parse_probes_in_pspace): Use all_objfiles.
      	* guile/scm-progspace.c (gdbscm_progspace_objfiles): Use
      	all_objfiles.
      	* objfiles.h (ALL_PSPACE_OBJFILES): Remove.
      	* symmisc.c (print_symbol_bcache_statistics)
      	(print_objfile_statistics, maintenance_print_objfiles)
      	(maintenance_info_symtabs, maintenance_check_symtabs)
      	(maintenance_expand_symtabs, maintenance_info_line_tables): Use
      	all_objfiles.
      	* source.c (forget_cached_source_info): Use all_objfiles.
      	* symfile-debug.c (set_debug_symfile): Use all_objfiles.
      	* elfread.c (elf_gnu_ifunc_resolve_by_cache)
      	(elf_gnu_ifunc_resolve_by_got): Use all_objfiles.
      	* objfiles.c (update_section_map): Use all_objfiles.
      	(shared_objfile_contains_address_p): Likewise.
      	* psymtab.c (maintenance_info_psymtabs): Use all_objfiles.
      	* python/py-progspace.c (pspy_get_objfiles): Use all_objfiles.
      99d89cde
  3. 01 Jan, 2019 1 commit
    • Joel Brobecker's avatar
      Update copyright year range in all GDB files. · 42a4f53d
      Joel Brobecker authored
      This commit applies all changes made after running the gdb/copyright.py
      script.
      
      Note that one file was flagged by the script, due to an invalid
      copyright header
      (gdb/unittests/basic_string_view/element_access/char/empty.cc).
      As the file was copied from GCC's libstdc++-v3 testsuite, this commit
      leaves this file untouched for the time being; a patch to fix the header
      was sent to gcc-patches first.
      
      gdb/ChangeLog:
      
      	Update copyright year range in all GDB files.
      42a4f53d
  4. 05 Oct, 2018 1 commit
    • Tom Tromey's avatar
      Simple -Wshadow=local fixes · b926417a
      Tom Tromey authored
      This fixes all the straightforward -Wshadow=local warnings in gdb.  A
      few standard approaches are used here:
      
      * Renaming an inner (or outer, but more commonly inner) variable;
      * Lowering a declaration to avoid a clash;
      * Moving a declaration into a more inner scope to avoid a clash,
        including the special case of moving a declaration into a loop header.
      
      I did not consider any of the changes in this patch to be particularly
      noteworthy, though of course they should all still be examined.
      
      gdb/ChangeLog
      2018-10-04  Tom Tromey  <tom@tromey.com>
      
      	* ctf.c (SET_ARRAY_FIELD): Rename "u32".
      	* p-valprint.c (pascal_val_print): Split inner "i" variable.
      	* xtensa-tdep.c (xtensa_push_dummy_call): Declare "i" in loop
      	header.
      	* xstormy16-tdep.c (xstormy16_push_dummy_call): Declare "val" in
      	more inner scope.
      	* xcoffread.c (read_xcoff_symtab): Rename inner "symbol".
      	* varobj.c (varobj_update): Rename inner "newobj",
      	"type_changed".
      	* valprint.c (generic_emit_char): Rename inner "buf".
      	* valops.c (find_overload_match): Rename inner "temp".
      	(value_struct_elt_for_reference): Declare "v" in more inner
      	scope.
      	* v850-tdep.c (v850_push_dummy_call): Rename "len".
      	* unittests/array-view-selftests.c (run_tests): Rename inner
      	"vec".
      	* tui/tui-stack.c (tui_show_frame_info): Declare "i" in loop
      	header.
      	* tracepoint.c (merge_uploaded_trace_state_variables): Declare
      	"tsv" in more inner scope.
      	(print_one_static_tracepoint_marker): Rename inner
      	"tuple_emitter".
      	* tic6x-tdep.c (tic6x_analyze_prologue): Declare "inst" lower.
      	(tic6x_push_dummy_call): Don't redeclare "addr".
      	* target-float.c: Declare "dto" lower.
      	* symtab.c (lookup_local_symbol): Rename inner "sym".
      	(find_pc_sect_line): Rename inner "pc".
      	* stack.c (print_frame): Don't redeclare "gdbarch".
      	(return_command): Rename inner "gdbarch".
      	* s390-tdep.c (s390_prologue_frame_unwind_cache): Renam inner
      	"sp".
      	* rust-lang.c (rust_internal_print_type): Declare "i" in loop
      	header.
      	* rs6000-tdep.c (ppc_process_record): Rename inner "addr".
      	* riscv-tdep.c (riscv_push_dummy_call): Declare "info" in inner
      	scope.
      	* remote.c (remote_target::update_thread_list): Don't redeclare
      	"tp".
      	(remote_target::process_initial_stop_replies): Rename inner
      	"thread".
      	(remote_target::remote_parse_stop_reply): Don't redeclare "p".
      	(remote_target::wait_as): Don't redeclare "stop_reply".
      	(remote_target::get_thread_local_address): Rename inner
      	"result".
      	(remote_target::get_tib_address): Likewise.
      b926417a
  5. 23 Aug, 2018 1 commit
  6. 26 Jul, 2018 1 commit
    • Tom Tromey's avatar
      Make psymbols and psymtabs independent of the program space · 79748972
      Tom Tromey authored
      This patch finally makes partial symbols and partial symtabs
      independent of the program space.
      
      Specifically:
      
      It changes add_psymbol_to_list to accept a section index, and changes
      the psymbol readers to pass this.  At the same time it removes the
      code to add the objfile's section offset to the psymbol.
      
      It adds an objfile argument to the psymtab textlow and texthigh
      accessors and changes some code to use the raw variants instead.
      
      It removes the "relocate" method from struct quick_symbol_functions,
      as it is no longer needed any more.
      
      It changes partial_symbol::address so that the relevant offset is now
      applied at the point of use.
      
      gdb/ChangeLog
      2018-07-26  Tom Tromey  <tom@tromey.com>
      
      	* dwarf-index-write.c (add_address_entry): Don't add objfile
      	offsets.
      	* dbxread.c (find_stab_function): Rename from
      	find_stab_function_addr.  Return a bound_minimal_symbol.
      	(read_dbx_symtab): Use raw_text_low, raw_text_high.
      	Don't add objfile offsets.
      	(end_psymtab): Use raw_text_low, raw_text_high,
      	MSYMBOL_VALUE_RAW_ADDRESS.
      	(read_ofile_symtab): Update.
      	(process_one_symbol): Update.
      	* dwarf2read.c (create_addrmap_from_index): Don't add objfile
      	offsets.
      	(dw2_relocate): Remove.
      	(dw2_find_pc_sect_symtab): Bias PC by the text offset before
      	searching addrmap.
      	(dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
      	Update.
      	(process_psymtab_comp_unit_reader, add_partial_symbol)
      	(add_partial_subprogram, dwarf2_ranges_read): Update.
      	(load_partial_dies): Update.
      	(add_address_entry): Don't add objfile offsets.
      	(dwarf2_build_include_psymtabs): Update.
      	(create_addrmap_from_aranges): Don't add objfile offsets.
      	(dw2_find_pc_sect_compunit_symtab): Update.
      	* mdebugread.c (parse_symbol): Don't add objfile offsets.
      	(parse_lines): Remove 'pst' parameter, replace with 'textlow'.
      	Update.
      	(parse_partial_symbols): Don't add objfile offsets.  Use
      	raw_text_low, raw_text_high.  Update.
      	(handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
      	* objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
      	or call 'relocate' quick function.  Clear psymbol_map.
      	* psympriv.h (struct partial_symbol) <address>: Add section
      	offset.
      	<set_unrelocated_address>: Rename from set_address.
      	<raw_text_low, raw_text_high>: New methods.
      	<text_low, text_high>: Add objfile parameter.
      	(add_psymbol_to_bcache): Add 'section' parameter.  Call
      	set_unrelocated_address.
      	* psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
      	(find_pc_psymbol): Update.
      	(fixup_psymbol_section, relocate_psymtabs): Remove.
      	(dump_psymtab, psym_functions): Update.
      	(add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
      	parameter.
      	(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
      	(start_psymtab_common): Update.
      	* symfile-debug.c (debug_qf_relocate): Remove.
      	(debug_sym_quick_functions): Update.
      	* symfile.h (struct quick_symbol_functions) <relocate>: Remove.
      	* xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
      	Update.
      79748972
  7. 18 Jun, 2018 1 commit
    • Tom Tromey's avatar
      Remove resume_section_map_updates_cleanup · 06424eac
      Tom Tromey authored
      This removes resume_section_map_updates_cleanup, replacing it with a
      scoped_restore.
      
      Tested by the buildbot.
      
      gdb/ChangeLog
      2018-06-18  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.h (inhibit_section_map_updates): Update.
      	(resume_section_map_updates, resume_section_map_updates_cleanup):
      	Remove.
      	* solib-svr4.c (svr4_handle_solib_event): Update.
      	* objfiles.c (inhibit_section_map_updates): Return
      	scoped_restore_tmpl<int>.
      	(resume_section_map_updates, resume_section_map_updates_cleanup):
      	Remove.
      06424eac
  8. 23 May, 2018 1 commit
    • Tom Tromey's avatar
      Remove symfile_complaints · b98664d3
      Tom Tromey authored
      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  <tom@tromey.com>
      
      	* 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  <tom@tromey.com>
      
      	* gdb.gdb/complaints.exp (test_initial_complaints): Don't mention
      	symfile_complaints.
      	(test_short_complaints): Likewise.
      	(test_empty_complaints): Likewise.
      	(test_initial_complaints): Update.
      b98664d3
  9. 21 May, 2018 2 commits
    • Simon Marchi's avatar
      Fix copy-pasto, allocate objfile_per_bfd_storage with obstack_new · 184cde75
      Simon Marchi authored
      I realized after pushing that I made a copy-pasto, I had:
      
        # define HAVE_IS_TRIVIALLY_COPYABLE 1
      
      instead of
      
        # define HAVE_IS_TRIVIALLY_CONSTRUCTIBLE 1
      
      with the consequence that IsMallocable was always std::true_type (and
      was therefore not enforcing anything).  Fixing that mistake triggered a
      build failure:
      
      /home/simark/src/binutils-gdb/gdb/objfiles.c:150:12:   required from here
      /home/simark/src/binutils-gdb/gdb/common/poison.h:228:3: error: static assertion failed: Trying to use XOBNEW with a non-POD data type.
      
      I am not sure why I did not see this when I originally wrote the patch
      (but I saw and fixed other failures).  In any case, I swapped XOBNEW
      with obstack_new to get rid of it.
      
      Regtested on the buildbot.
      
      gdb/ChangeLog:
      
      	* common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
      	instance to...
      	(HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
      	* objfiles.c (get_objfile_bfd_data): Allocate
      	objfile_per_bfd_storage with obstack_new when allocating on
      	obstack.
      184cde75
    • Simon Marchi's avatar
      Use XOBNEW/XOBNEWVEC/OBSTACK_ZALLOC when possible · e39db4db
      Simon Marchi authored
      Since XOBNEW/XOBNEWVEC/OBSTACK_ZALLOC are now poisoned to prevent using
      them with non-trivially-constructible objects, it is worth using them
      over plain obstack_alloc.  This patch changes the locations I could find
      where we can do that change easily.
      
      gdb/ChangeLog:
      
      	* ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
      	OBSTACK_ZALLOC.
      	* dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
      	* hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
      	* mdebugread.c (mdebug_build_psymtabs): Likewise.
      	(add_pending): Likewise.
      	(parse_symbol): Likewise.
      	(parse_partial_symbols): Likewise.
      	(psymtab_to_symtab_1): Likewise.
      	(new_psymtab): Likewise.
      	(elfmdebug_build_psymtabs): Likewise.
      	* minsyms.c (terminate_minimal_symbol_table): Likewise.
      	* objfiles.c (get_objfile_bfd_data): Likewise.
      	(objfile_register_static_link): Likewise.
      	* psymtab.c (allocate_psymtab): Likewise.
      	* stabsread.c (read_member_functions): Likewise.
      	* xcoffread.c (xcoff_end_psymtab): Likewise.
      e39db4db
  10. 19 Mar, 2018 1 commit
    • Tom Tromey's avatar
      Convert observers to C++ · 76727919
      Tom Tromey authored
      This converts observers from using a special source-generating script
      to be plain C++.  This version of the patch takes advantage of C++11
      by using std::function and variadic templates; incorporates Pedro's
      patches; and renames the header file to "observable.h" (this change
      eliminates the need for a clean rebuild).
      
      Note that Pedro's patches used a template lambda in tui-hooks.c, but
      this failed to compile on some buildbot instances (presumably due to
      differing C++ versions); I replaced this with an ordinary template
      function.
      
      Regression tested on the buildbot.
      
      gdb/ChangeLog
      2018-03-19  Pedro Alves  <palves@redhat.com>
      	    Tom Tromey  <tom@tromey.com>
      
      	* unittests/observable-selftests.c: New file.
      	* common/observable.h: New file.
      	* observable.h: New file.
      	* ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
      	arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
      	breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
      	corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
      	extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
      	infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
      	linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
      	mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
      	ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
      	python/py-breakpoint.c, python/py-finishbreakpoint.c,
      	python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
      	record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
      	riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
      	spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
      	symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
      	tui/tui-interp.c, valops.c: Update all users.
      	* tui/tui-hooks.c (tui_bp_created_observer)
      	(tui_bp_deleted_observer, tui_bp_modified_observer)
      	(tui_inferior_exit_observer, tui_before_prompt_observer)
      	(tui_normal_stop_observer, tui_register_changed_observer):
      	Remove.
      	(tui_observers_token): New global.
      	(attach_or_detach, tui_attach_detach_observers): New functions.
      	(tui_install_hooks, tui_remove_hooks): Use
      	tui_attach_detach_observers.
      	* record-btrace.c (record_btrace_thread_observer): Remove.
      	(record_btrace_thread_observer_token): New global.
      	* observer.sh: Remove.
      	* observer.c: Rename to observable.c.
      	* observable.c (namespace gdb_observers): Define new objects.
      	(observer_debug): Move into gdb_observers namespace.
      	(struct observer, struct observer_list, xalloc_observer_list_node)
      	(xfree_observer_list_node, generic_observer_attach)
      	(generic_observer_detach, generic_observer_notify): Remove.
      	(_initialize_observer): Update.
      	Don't include observer.inc.
      	* Makefile.in (generated_files): Remove observer.h, observer.inc.
      	(clean mostlyclean): Likewise.
      	(observer.h, observer.inc): Remove targets.
      	(SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
      	(COMMON_SFILES): Use observable.c, not observer.c.
      	* .gitignore: Remove observer.h.
      
      gdb/doc/ChangeLog
      2018-03-19  Tom Tromey  <tom@tromey.com>
      
      	* observer.texi: Remove.
      
      gdb/testsuite/ChangeLog
      2018-03-19  Tom Tromey  <tom@tromey.com>
      
      	* gdb.gdb/observer.exp: Remove.
      76727919
  11. 16 Mar, 2018 1 commit
    • Tom Tromey's avatar
      Remove make_cleanup_free_section_addr_info · 37e136b1
      Tom Tromey authored
      This removes make_cleanup_free_section_addr_info.  Instead -- per
      Simon's suggestion -- this changes section_addr_info to be a
      std::vector.
      
      Regression tested by the buildbot.
      
      gdb/ChangeLog
      2018-03-16  Tom Tromey  <tom@tromey.com>
      
      	* xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
      	* utils.h (make_cleanup_free_section_addr_info): Don't declare.
      	* utils.c (do_free_section_addr_info)
      	(make_cleanup_free_section_addr_info): Remove.
      	* symfile.h (struct other_sections): Add constructor.
      	(struct section_addr_info): Remove.
      	(section_addr_info): New typedef.
      	(struct sym_fns) <sym_offsets>: Change type of parameter.
      	(build_section_addr_info_from_objfile)
      	(relative_addr_info_to_section_offsets, addr_info_make_relative)
      	(default_symfile_offsets, symbol_file_add)
      	(symbol_file_add_from_bfd)
      	(build_section_addr_info_from_section_table): Update.
      	(alloc_section_addr_info, free_section_addr_info): Don't declare.
      	* symfile.c (alloc_section_addr_info): Remove.
      	(build_section_addr_info_from_section_table): Change return type.
      	Update.
      	(build_section_addr_info_from_bfd)
      	(build_section_addr_info_from_objfile): Likewise.
      	(free_section_addr_info): Remove.
      	(relative_addr_info_to_section_offsets): Change type of "addrs".
      	(addrs_section_compar): Now a std::sort comparator.
      	(addrs_section_sort): Change return type.
      	(addr_info_make_relative): Change type of "addrs".  Update.
      	(default_symfile_offsets, syms_from_objfile_1)
      	(syms_from_objfile, symbol_file_add_with_addrs): Likewise.
      	(symbol_file_add_separate): Update.
      	(symbol_file_add): Change type of "addrs".  Update.
      	(add_symbol_file_command): Update.  Remove cleanups.
      	* symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
      	cleanups.
      	* symfile-debug.c (debug_sym_offsets): Change type of "info".
      	* solib.c (solib_read_symbols): Update.
      	* objfiles.c (objfile_relocate): Update.  Remove cleanups.
      	* machoread.c (macho_symfile_offsets): Update.
      	* jit.c (jit_bfd_try_read_symtab): Update.
      37e136b1
  12. 28 Feb, 2018 1 commit
    • Sergio Durigan Junior's avatar
      Create new common/pathstuff.[ch] · b4987c95
      Sergio Durigan Junior authored
      This commit moves the path manipulation routines found on utils.c to a
      new common/pathstuff.c, and updates the Makefile.in's accordingly.
      The routines moved are "gdb_realpath", "gdb_realpath_keepfile" and
      "gdb_abspath".
      
      This will be needed because gdbserver will have to call "gdb_abspath"
      on my next patch, which implements a way to expand the path of the
      inferior provided by the user in order to allow specifying just the
      binary name when starting gdbserver, like:
      
        $ gdbserver :1234 a.out
      
      With the recent addition of the startup-with-shell feature on
      gdbserver, this scenario doesn't work anymore if the user doesn't have
      the current directory listed in the PATH variable.
      
      I had to do a minor adjustment on "gdb_abspath" because we don't have
      access to "tilde_expand" on gdbserver, so now the function is using
      "gdb_tilde_expand" instead.  Otherwise, the code is the same.
      
      Regression tested on the BuildBot, without regressions.
      
      gdb/ChangeLog:
      2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
      
      	* Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
      	(HFILES_NO_SRCDIR): Add "common/pathstuff.h".
      	* auto-load.c: Include "common/pathstuff.h".
      	* common/common-def.h (current_directory): Move here.
      	* common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
      	function.
      	* common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
      	prototype.
      	* common/pathstuff.c: New file.
      	* common/pathstuff.h: New file.
      	* compile/compile.c: Include "common/pathstuff.h".
      	* defs.h (current_directory): Move to "common/common-defs.h".
      	* dwarf2read.c: Include "common/pathstuff.h".
      	* exec.c: Likewise.
      	* guile/scm-safe-call.c: Likewise.
      	* linux-thread-db.c: Likewise.
      	* main.c: Likewise.
      	* nto-tdep.c: Likewise.
      	* objfiles.c: Likewise.
      	* source.c: Likewise.
      	* symtab.c: Likewise.
      	* utils.c: Include "common/pathstuff.h".
      	(gdb_realpath): Move to "common/pathstuff.c".
      	(gdb_realpath_keepfile): Likewise.
      	(gdb_abspath): Likewise.
      	* utils.h (gdb_realpath): Move to "common/pathstuff.h".
      	(gdb_realpath_keepfile): Likewise.
      	(gdb_abspath): Likewise.
      
      gdb/gdbserver/ChangeLog:
      2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
      
      	* Makefile.in (SFILES): Add "$(srcdir)/common/pathstuff.c".
      	(OBJS): Add "pathstuff.o".
      	* server.c (current_directory): New global variable.
      	(captured_main): Initialize "current_directory".
      b4987c95
  13. 21 Jan, 2018 1 commit
    • Andrew Burgess's avatar
      gdb: New API for tracking innermost block · aee1fcdf
      Andrew Burgess authored
      This commit is preparation for a later change, at this point there
      should be no user visible change.
      
      We currently maintain a global innermost_block which tracks the most
      inner block encountered when parsing an expression.
      
      This commit wraps the innermost_block into a new class, and switches all
      direct accesses to the variable to use the class API.
      
      gdb/ChangeLog:
      
      	* ada-exp.y (write_var_from_sym): Switch to innermost_block API.
      	* ada-lang.c (resolve_subexp): Likewise.
      	* breakpoint.c (set_breakpoint_condition) Likewise.
      	(watch_command_1) Likewise.
      	* c-exp.y (variable): Likewise.
      	* d-exp.y (PrimaryExpression): Likewise.
      	* f-exp.y (variable): Likewise.
      	* go-exp.y (variable): Likewise.
      	* m2-exp.y (variable): Likewise.
      	* objfiles.c (objfile::~objfile): Likewise.
      	* p-exp.y (variable): Likewise.
      	* parse.c (innermost_block): Change type.
      	* parser-defs.h (class innermost_block_tracker): New.
      	(innermost_block): Change to innermost_block_tracker.
      	* printcmd.c (display_command): Switch to innermost_block API.
      	(do_one_display): Likewise.
      	* rust-exp.y (do_one_display): Likewise.
      	* symfile.c (clear_symtab_users): Likewise.
      	* varobj.c (varobj_create): Switch to innermost_block API, replace
      	use of innermost_block with block stored on varobj object.
      aee1fcdf
  14. 02 Jan, 2018 1 commit
  15. 04 Nov, 2017 1 commit
    • Tom Tromey's avatar
      Remove make_cleanup_free_objfile · ed2b3126
      Tom Tromey authored
      This replaces make_cleanup_free_objfile with std::unique_ptr.
      
      gdb/ChangeLog
      2017-11-04  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.c (do_free_objfile_cleanup): Remove.
      	* compile/compile-object-load.c (compile_object_load): Update.
      	* objfiles.h (make_cleanup_free_objfile): Remove.
      ed2b3126
  16. 14 Oct, 2017 1 commit
    • Simon Marchi's avatar
      Replace psymbol_allocation_list with std::vector · af5bf4ad
      Simon Marchi authored
      psymbol_allocation_list is basically a vector implementation.  We can
      replace it with an std::vector, now that objfile has been C++-ified.
      
      I sent this to the buildbot, there are a few suspicious failures, but
      I don't think they are related to this patch.  For example on powerpc:
      
      new FAIL: gdb.base/catch-syscall.exp: execve: syscall execve has returned
      new FAIL: gdb.base/catch-syscall.exp: execve: continue to main
      new FAIL: gdb.base/catch-syscall.exp: execve: continue until exit
      
      I get the same failures when testing manually on gcc112, without this
      patch.
      
      gdb/ChangeLog:
      
      	* objfiles.h: Don't include symfile.h.
      	(struct partial_symbol): Remove forward-declaration.
      	(struct objfile) <global_psymbols, static_psymbols>: Change type
      	to std::vector<partial_symbol *>.
      	* objfiles.c (objfile::objfile): Don't memset those fields.
      	(objfile::~objfile): Don't free those fields.
      	* psympriv.h (struct psymbol_allocation_list): Remove
      	forward-declaration.
      	(add_psymbol_to_list): Change psymbol_allocation_list parameter
      	to std::vector.
      	(start_psymtab_common): Change parameters to std::vector.
      	* psymtab.c: Include algorithm.
      	(require_partial_symbols): Call shrink_to_fit.
      	(find_pc_sect_psymbol): Adjust to vector change.
      	(match_partial_symbol): Likewise.
      	(lookup_partial_symbol): Likewise.
      	(psym_relocate): Likewise.
      	(dump_psymtab): Likewise.
      	(recursively_search_psymtabs): Likewise.
      	(compare_psymbols): Remove.
      	(sort_pst_symbols): Adjust to vector change.
      	(start_psymtab_common): Likewise.
      	(end_psymtab_common): Likewise.
      	(psymbol_bcache_full): De-constify return value.
      	(add_psymbol_to_bcache): Likewise.
      	(extend_psymbol_list): Remove.
      	(append_psymbol_to_list): Adjust to vector change.
      	(add_psymbol_to_list): Likewise.
      	(init_psymbol_list): Likewise.
      	(maintenance_info_psymtabs): Likewise.
      	(maintenance_check_psymtabs): Likewise.
      	* symfile.h (struct psymbol_allocation_list): Remove.
      	* symfile.c (reread_symbols): Adjust to vector change.
      	* dbxread.c (start_psymtab): Change type of parameters.
      	(dbx_symfile_read): Adjust to vector change.
      	(read_dbx_symtab): Likewise.
      	(start_psymtab): Change type of parameters.
      	* dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
      	(create_partial_symtab): Likewise.
      	(add_partial_symbol): Likewise.
      	(write_one_signatured_type): Likewise.
      	(recursively_write_psymbols): Likewise.
      	* mdebugread.c (parse_partial_symbols): Likewise.
      	* xcoffread.c (xcoff_start_psymtab): Change type of parameters.
      	(scan_xcoff_symtab): Adjust to vector change.
      	(xcoff_initial_scan): Likewise.
      af5bf4ad
  17. 13 Oct, 2017 1 commit
    • Tom Tromey's avatar
      Change objfile to use new/delete · 9e86da07
      Tom Tromey authored
      This changes objfiles to use new and delete rather than xmalloc and
      free.  Simon noticed that it uses a non-POD and so shouldn't be
      allocated with XCNEW; and I wanted to be able to use another non-POD as
      a member; this patch is the result.
      
      Regression tested by the buildbot.
      
      2017-10-13  Tom Tromey  <tom@tromey.com>
      
      	* compile/compile-object-run.c (do_module_cleanup): Use delete.
      	* solib.c (update_solib_list, reload_shared_libraries_1): Use
      	delete.
      	* symfile.c (symbol_file_add_with_addrs): Use new.
      	(symbol_file_add_separate): Update comment.
      	(syms_from_objfile_1, remove_symbol_file_command): Use delete.
      	* jit.c (jit_object_close_impl): Use new.
      	(jit_unregister_code): Use delete.
      	* objfiles.c (objfile::objfile): Rename from allocate_objfile.
      	(~objfile): Rename from free_objfile.
      	(free_objfile_separate_debug, do_free_objfile_cleanup)
      	(free_all_objfiles, objfile_purge_solibs): Use delete.
      	* objfiles.h (struct objfile): Add constructor and destructor.
      	Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
      	(allocate_objfile, free_objfile): Don't declare.
      	(struct objstats): Add initializers.
      9e86da07
  18. 09 Sep, 2017 1 commit
    • John Baldwin's avatar
      Remove unnecessary function prototypes. · 481695ed
      John Baldwin authored
      These prototypes were required when compiling GDB as C but are not
      required for C++.
      
      gdb/ChangeLog:
      
      	* aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
      	prototype.
      	* aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
      	prototype.
      	* aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
      	prototype.
      	* aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
      	* ada-exp.y: Remove _initialize_ada_exp prototype.
      	* ada-lang.c: Remove _initialize_ada_language prototype.
      	* ada-tasks.c: Remove _initialize_tasks prototype.
      	* addrmap.c: Remove _initialize_addrmap prototype.
      	* agent.c: Remove _initialize_agent prototype.
      	* aix-thread.c: Remove _initialize_aix_thread prototype.
      	* alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
      	* alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
      	* alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
      	prototype.
      	* alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
      	* alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
      	* alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
      	* amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
      	prototype.
      	* amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
      	prototype.
      	* amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
      	* amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
      	* amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
      	* amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
      	prototype.
      	* amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
      	* amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
      	* amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
      	* amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
      	* amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
      	* amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
      	* amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
      	prototype.
      	* amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
      	prototype.
      	* annotate.c: Remove _initialize_annotate prototype.
      	* arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
      	* arc-tdep.c: Remove _initialize_arc_tdep prototype.
      	* arch-utils.c: Remove _initialize_gdbarch_utils prototype.
      	* arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
      	* arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
      	* arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
      	* arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
      	* arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
      	prototype.
      	* arm-tdep.c: Remove _initialize_arm_tdep prototype.
      	* arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
      	* auto-load.c: Remove _initialize_auto_load prototype.
      	* auxv.c: Remove _initialize_auxv prototype.
      	* avr-tdep.c: Remove _initialize_avr_tdep prototype.
      	* ax-gdb.c: Remove _initialize_ax_gdb prototype.
      	* bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
      	* bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
      	* break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
      	* break-catch-syscall.c: Remove _initialize_break_catch_syscall
      	prototype.
      	* break-catch-throw.c: Remove _initialize_break_catch_throw
      	prototype.
      	* breakpoint.c: Remove _initialize_breakpoint prototype.
      	* bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
      	* btrace.c: Remove _initialize_btrace prototype.
      	* charset.c: Remove _initialize_charset prototype.
      	* cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
      	* cli/cli-dump.c: Remove _initialize_cli_dump prototype.
      	* cli/cli-interp.c: Remove _initialize_cli_interp prototype.
      	* cli/cli-logging.c: Remove _initialize_cli_logging prototype.
      	* cli/cli-script.c: Remove _initialize_cli_script prototype.
      	* coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
      	* coffread.c: Remove _initialize_coffread prototype.
      	* compile/compile.c: Remove _initialize_compile prototype.
      	* complaints.c: Remove _initialize_complaints prototype.
      	* completer.c: Remove _initialize_completer prototype.
      	* copying.awk: Remove _initialize_copying prototype.
      	* copying.c: Regenerate.
      	* core-regset.c: Remove _initialize_core_regset prototype.
      	* corefile.c: Remove _initialize_core prototype.
      	* corelow.c: Remove _initialize_corelow prototype.
      	* cp-abi.c: Remove _initialize_cp_abi prototype.
      	* cp-namespace.c: Remove _initialize_cp_namespace prototype.
      	* cp-support.c: Remove _initialize_cp_support prototype.
      	* cp-valprint.c: Remove _initialize_cp_valprint prototype.
      	* cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
      	* cris-tdep.c: Remove _initialize_cris_tdep prototype.
      	* ctf.c: Remove _initialize_ctf prototype.
      	* d-lang.c: Remove _initialize_d_language prototype.
      	* darwin-nat-info.c: Remove _initialize_darwin_info_commands
      	prototype.
      	* darwin-nat.c: Remove _initialize_darwin_inferior prototype.
      	* dbxread.c: Remove _initialize_dbxread prototype.
      	* dcache.c: Remove _initialize_dcache prototype.
      	* demangle.c: Remove _initialize_demangler prototype.
      	* disasm-selftests.c: Remove _initialize_disasm_selftests
      	prototype.
      	* disasm.c: Remove _initialize_disasm prototype.
      	* dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
      	* dummy-frame.c: Remove _initialize_dummy_frame prototype.
      	* dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
      	prototype.
      	* dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
      	* dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
      	* dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
      	* dwarf2read.c: Remove _initialize_dwarf2_read prototype.
      	* elfread.c: Remove _initialize_elfread prototype.
      	* exec.c: Remove _initialize_exec prototype.
      	* extension.c: Remove _initialize_extension prototype.
      	* f-lang.c: Remove _initialize_f_language prototype.
      	* f-valprint.c: Remove _initialize_f_valprint prototype.
      	* fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
      	* fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
      	* filesystem.c: Remove _initialize_filesystem prototype.
      	* findcmd.c: Remove _initialize_mem_search prototype.
      	* fork-child.c: Remove _initialize_fork_child prototype.
      	* frame-base.c: Remove _initialize_frame_base prototype.
      	* frame-unwind.c: Remove _initialize_frame_unwind prototype.
      	* frame.c: Remove _initialize_frame prototype.
      	* frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
      	* frv-tdep.c: Remove _initialize_frv_tdep prototype.
      	* ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
      	* gcore.c: Remove _initialize_gcore prototype.
      	* gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
      	* gdbarch.c: Regenerate.
      	* gdbarch.sh: Remove _initialize_gdbarch prototype.
      	* gdbtypes.c: Remove _initialize_gdbtypes prototype.
      	* gnu-nat.c: Remove _initialize_gnu_nat prototype.
      	* gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
      	* gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
      	* go-lang.c: Remove _initialize_go_language prototype.
      	* go32-nat.c: Remove _initialize_go32_nat prototype.
      	* guile/guile.c: Remove _initialize_guile prototype.
      	* h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
      	* hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
      	* hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
      	* hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
      	* hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
      	* hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
      	* hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
      	* hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
      	* i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
      	* i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
      	prototype.
      	* i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
      	prototype.
      	* i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
      	* i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
      	* i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
      	* i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
      	* i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
      	* i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
      	* i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
      	* i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
      	* i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
      	* i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
      	* i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
      	* i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
      	* i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
      	* i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
      	* i386-tdep.c: Remove _initialize_i386_tdep prototype.
      	* i386-windows-nat.c: Remove _initialize_i386_windows_nat
      	prototype.
      	* ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
      	prototype.
      	* ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
      	* ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
      	* ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
      	* ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
      	* infcall.c: Remove _initialize_infcall prototype.
      	* infcmd.c: Remove _initialize_infcmd prototype.
      	* inferior.c: Remove _initialize_inferiors prototype.
      	* inflow.c: Remove _initialize_inflow prototype.
      	* infrun.c: Remove _initialize_infrun prototype.
      	* interps.c: Remove _initialize_interpreter prototype.
      	* iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
      	* jit.c: Remove _initialize_jit prototype.
      	* language.c: Remove _initialize_language prototype.
      	* linux-fork.c: Remove _initialize_linux_fork prototype.
      	* linux-nat.c: Remove _initialize_linux_nat prototype.
      	* linux-tdep.c: Remove _initialize_linux_tdep prototype.
      	* linux-thread-db.c: Remove _initialize_thread_db prototype.
      	* lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
      	* m2-lang.c: Remove _initialize_m2_language prototype.
      	* m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
      	* m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
      	* m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
      	* m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
      	* m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
      	* m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
      	* m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
      	* m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
      	* m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
      	* m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
      	* m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
      	* m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
      	* machoread.c: Remove _initialize_machoread prototype.
      	* macrocmd.c: Remove _initialize_macrocmd prototype.
      	* macroscope.c: Remove _initialize_macroscope prototype.
      	* maint.c: Remove _initialize_maint_cmds prototype.
      	* mdebugread.c: Remove _initialize_mdebugread prototype.
      	* memattr.c: Remove _initialize_mem prototype.
      	* mep-tdep.c: Remove _initialize_mep_tdep prototype.
      	* mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
      	* mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
      	* mi/mi-interp.c: Remove _initialize_mi_interp prototype.
      	* mi/mi-main.c: Remove _initialize_mi_main prototype.
      	* microblaze-linux-tdep.c: Remove
      	_initialize_microblaze_linux_tdep prototype.
      	* microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
      	* mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
      	* mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
      	* mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
      	* mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
      	* mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
      	* mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
      	* mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
      	* mips-tdep.c: Remove _initialize_mips_tdep prototype.
      	* mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
      	* mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
      	prototype.
      	* mipsread.c: Remove _initialize_mipsread prototype.
      	* mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
      	prototype.
      	* mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
      	* moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
      	* msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
      	* mt-tdep.c: Remove _initialize_mt_tdep prototype.
      	* nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
      	* nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
      	prototype.
      	* nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
      	* nto-procfs.c: Remove _initialize_procfs prototype.
      	* nto-tdep.c: Remove _initialize_nto_tdep prototype.
      	* objc-lang.c: Remove _initialize_objc_language prototype.
      	* objfiles.c: Remove _initialize_objfiles prototype.
      	* observer.c: Remove observer_test_first_notification_function,
      	observer_test_second_notification_function,
      	observer_test_third_notification_function, and
      	_initialize_observer prototypes.
      	* opencl-lang.c: Remove _initialize_opencl_language prototypes.
      	* osabi.c: Remove _initialize_gdb_osabi prototype.
      	* osdata.c: Remove _initialize_osdata prototype.
      	* p-valprint.c: Remove _initialize_pascal_valprint prototype.
      	* parse.c: Remove _initialize_parse prototype.
      	* ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
      	* ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
      	* ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
      	* ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
      	* ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
      	* ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
      	* ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
      	* ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
      	* printcmd.c: Remove _initialize_printcmd prototype.
      	* probe.c: Remove _initialize_probe prototype.
      	* proc-api.c: Remove _initialize_proc_api prototype.
      	* proc-events.c: Remove _initialize_proc_events prototype.
      	* proc-service.c: Remove _initialize_proc_service prototype.
      	* procfs.c: Remove _initialize_procfs prototype.
      	* psymtab.c: Remove _initialize_psymtab prototype.
      	* python/python.c: Remove _initialize_python prototype.
      	* ravenscar-thread.c: Remove _initialize_ravenscar prototype.
      	* record-btrace.c: Remove _initialize_record_btrace prototype.
      	* record-full.c: Remove _initialize_record_full prototype.
      	* record.c: Remove _initialize_record prototype.
      	* regcache.c: Remove _initialize_regcache prototype.
      	* reggroups.c: Remove _initialize_reggroup prototype.
      	* remote-notif.c: Remove _initialize_notif prototype.
      	* remote-sim.c: Remove _initialize_remote_sim prototype.
      	* remote.c: Remove _initialize_remote prototype.
      	* reverse.c: Remove _initialize_reverse prototype.
      	* rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
      	* rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
      	* rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
      	prototype.
      	* rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
      	* rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
      	* rust-exp.y: Remove _initialize_rust_exp prototype.
      	* rx-tdep.c: Remove _initialize_rx_tdep prototype.
      	* s390-linux-nat.c: Remove _initialize_s390_nat prototype.
      	* s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
      	* score-tdep.c: Remove _initialize_score_tdep prototype.
      	* selftest-arch.c: Remove _initialize_selftests_foreach_arch
      	prototype.
      	* ser-go32.c: Remove _initialize_ser_dos prototype.
      	* ser-mingw.c: Remove _initialize_ser_windows prototype.
      	* ser-pipe.c: Remove _initialize_ser_pipe prototype.
      	* ser-tcp.c: Remove _initialize_ser_tcp prototype.
      	* ser-unix.c: Remove _initialize_ser_hardwire prototype.
      	* serial.c: Remove _initialize_serial prototype.
      	* sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
      	* sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
      	* sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
      	* sh-tdep.c: Remove _initialize_sh_tdep prototype.
      	* skip.c: Remove _initialize_step_skip prototype.
      	* sol-thread.c: Remove _initialize_sol_thread prototype.
      	* solib-aix.c: Remove _initialize_solib_aix prototype.
      	* solib-darwin.c: Remove _initialize_darwin_solib prototype.
      	* solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
      	* solib-frv.c: Remove _initialize_frv_solib prototype.
      	* solib-spu.c: Remove _initialize_spu_solib prototype.
      	* solib-svr4.c: Remove _initialize_svr4_solib prototype.
      	* solib-target.c: Remove _initialize_solib_target prototype.
      	* solib.c: Remove _initialize_solib prototype.
      	* source.c: Remove _initialize_source prototype.
      	* sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
      	* sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
      	prototype.
      	* sparc-nat.c: Remove _initialize_sparc_nat prototype.
      	* sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
      	* sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
      	* sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
      	prototype.
      	* sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
      	* sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
      	* sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
      	* sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
      	prototype.
      	* sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
      	prototype.
      	* sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
      	prototype.
      	* sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
      	prototype.
      	* sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
      	* sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
      	prototype.
      	* sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
      	prototype.
      	* sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
      	prototype.
      	* sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
      	prototype.
      	* sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
      	prototype.
      	* spu-linux-nat.c: Remove _initialize_spu_nat prototype.
      	* spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
      	* spu-tdep.c: Remove _initialize_spu_tdep prototype.
      	* stabsread.c: Remove _initialize_stabsread prototype.
      	* stack.c: Remove _initialize_stack prototype.
      	* stap-probe.c: Remove _initialize_stap_probe prototype.
      	* std-regs.c: Remove _initialize_frame_reg prototype.
      	* symfile-debug.c: Remove _initialize_symfile_debug prototype.
      	* symfile-mem.c: Remove _initialize_symfile_mem prototype.
      	* symfile.c: Remove _initialize_symfile prototype.
      	* symmisc.c: Remove _initialize_symmisc prototype.
      	* symtab.c: Remove _initialize_symtab prototype.
      	* target-dcache.c: Remove _initialize_target_dcache prototype.
      	* target-descriptions.c: Remove _initialize_target_descriptions
      	prototype.
      	* thread.c: Remove _initialize_thread prototype.
      	* tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
      	prototype.
      	* tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
      	* tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
      	* tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
      	prototype.
      	* tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
      	* tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
      	* tracefile.c: Remove _initialize_tracefile prototype.
      	* tracepoint.c: Remove _initialize_tracepoint prototype.
      	* tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
      	* tui/tui-interp.c: Remove _initialize_tui_interp prototype.
      	* tui/tui-layout.c: Remove _initialize_tui_layout prototype.
      	* tui/tui-regs.c: Remove _initialize_tui_regs prototype.
      	* tui/tui-stack.c: Remove _initialize_tui_stack prototype.
      	* tui/tui-win.c: Remove _initialize_tui_win prototype.
      	* tui/tui.c: Remove _initialize_tui prototype.
      	* typeprint.c: Remove _initialize_typeprint prototype.
      	* user-regs.c: Remove _initialize_user_regs prototype.
      	* utils.c: Remove _initialize_utils prototype.
      	* v850-tdep.c: Remove _initialize_v850_tdep prototype.
      	* valarith.c: Remove _initialize_valarith prototype.
      	* valops.c: Remove _initialize_valops prototype.
      	* valprint.c: Remove _initialize_valprint prototype.
      	* value.c: Remove _initialize_values prototype.
      	* varobj.c: Remove _initialize_varobj prototype.
      	* vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
      	* vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
      	* vax-tdep.c: Remove _initialize_vax_tdep prototype.
      	* windows-nat.c: Remove _initialize_windows_nat,
      	_initialize_check_for_gdb_ini, and _initialize_loadable
      	prototypes.
      	* windows-tdep.c: Remove _initialize_windows_tdep prototype.
      	* xcoffread.c: Remove _initialize_xcoffread prototype.
      	* xml-support.c: Remove _initialize_xml_support prototype.
      	* xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
      	* xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
      	prototype.
      	* xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
      	prototype.
      	* xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
      481695ed
  19. 05 Sep, 2017 1 commit
    • Philippe Waroquiers's avatar
      Fix leak of auto_obstack objfile_per_bfd_storage->storage_obstack; · 5ca79eae
      Philippe Waroquiers authored
        commit 23732b1e
        Author: Pedro Alves <palves@redhat.com>
        Date:   Tue Jun 27 16:22:08 2017 +0100
      changed objfile_per_bfd_storage->storage_obstack
      from  'struct obstack storage_obstack;'
      to    'auto_obstack storage_obstack;'
      So the obstack is auto allocated when the  objfile_per_bfd_storage ctor is
      manually called by get_objfile_bfd_data).
      However, the ctor call was still followed by a manual call to
            obstack_init (&storage->storage_obstack);
      
      This results in a bunch of leaks detected by valgrind, such as:
      ==24665== 4,064 bytes in 1 blocks are definitely lost in loss record 11,469 of 11,590
      ==24665==    at 0x4C27BF5: malloc (vg_replace_malloc.c:299)
      ==24665==    by 0x5437B7: xmalloc (common-utils.c:44)
      ==24665==    by 0x77CAA7: _obstack_begin_worker (obstack.c:141)
      ==24665==    by 0x60168F: auto_obstack (gdb_obstack.h:70)
      ==24665==    by 0x60168F: get_objfile_bfd_data(objfile*, bfd*) (objfiles.h:188)
      ==24665==    by 0x601DB6: allocate_objfile(bfd*, char const*, enum_flags<objfile_flag>) (objfiles.c:423)
      ==24665==    by 0x647753: symbol_file_add_with_addrs(bfd*, char const*, enum_flags<symfile_add_flag>, section_addr_info*, enum_flags<objfile_flag>, objfile*) (symfile.c:1158)
      ==24665==    by 0x647C7B: symbol_file_add_separate(bfd*, char const*, enum_flags<symfile_add_flag>, objfile*) (symfile.c:1252)
      ==24665==    by 0x4C7D79: elf_symfile_read(objfile*, enum_flags<symfile_add_flag>) (elfread.c:1270)
      ==24665==    by 0x647CB4: read_symbols(objfile*, enum_flags<symfile_add_flag>) (symfile.c:861)
      ==24665==    by 0x647809: syms_from_objfile_1 (symfile.c:1062)
      
      -> remove the manual call to obstack_init.
      Reg-tested on Debian 8/amd64, tests results are the same before/after the patch.
      valgrind still show some leaks, but less.
      
      gdb/ChangeLog
      2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
      
      	* objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
      	call.
      5ca79eae
  20. 22 Aug, 2017 2 commits
    • Tom Tromey's avatar
      Change gdb_realpath to return a unique_xmalloc_ptr · 14278e1f
      Tom Tromey authored
      This changes gdb_realpath to return a unique_xmalloc_ptr and fixes up
      the callers.  This allows removing some cleanups.  This change by
      itself caused xfullpath.exp to fail; and attempting to fix that ran
      into various problems (like .get() being optimized out); so this patch
      also rewrites xfullpath.exp to be a C++ selftest instead.
      
      ChangeLog
      2017-08-22  Tom Tromey  <tom@tromey.com>
      
      	* exec.c (exec_file_attach): Update.
      	* linux-thread-db.c (try_thread_db_load): Update.
      	* guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
      	* utils.c (gdb_realpath): Change return type.
      	(gdb_realpath_keepfile): Update.
      	(gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
      	(_initialize_utils): Register the new self test.
      	* source.c (openp): Update.
      	(find_and_open_source): Update.
      	* nto-tdep.c (nto_find_and_open_solib): Update.
      	* main.c (set_gdb_data_directory): Update.
      	(captured_main_1): Update.
      	* dwarf2read.c (dwarf2_get_dwz_file): Update
      	(dw2_map_symbol_filenames): Update.
      	* auto-load.c (auto_load_safe_path_vec_update): Update.
      	(filename_is_in_auto_load_safe_path_vec): Change type of
      	"filename_realp".
      	(auto_load_objfile_script): Update.
      	(file_is_auto_load_safe): Update.  Use std::string.
      	* utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
      
      testsuite/ChangeLog
      2017-08-22  Tom Tromey  <tom@tromey.com>
      
      	* gdb.gdb/xfullpath.exp: Remove.
      14278e1f
    • Tom Tromey's avatar
      Change gdb_abspath to return a unique_xmalloc_ptr · e3e41d58
      Tom Tromey authored
      This changes gdb_abspath to return a unique_xmalloc_ptr, and fixes up
      the callers.  This allows the removal of a cleanup, and also puts
      ownership rules into the API, where they belong.
      
      ChangeLog
      2017-08-22  Tom Tromey  <tom@tromey.com>
      
      	* compile/compile.c (compile_file_command): Use
      	gdb::unique_xmalloc_ptr, std::string.
      	* utils.c (gdb_abspath): Change return type.
      	* source.c (openp): Update.
      	* objfiles.c (allocate_objfile): Update.
      	* main.c (set_gdb_data_directory): Update.
      	* utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
      e3e41d58
  21. 27 Jun, 2017 1 commit
    • Pedro Alves's avatar
      objfile_per_bfd_storage non-POD · 23732b1e
      Pedro Alves authored
      A following patch will want to add a std::vector to
      objfile_per_bfd_storage.  That makes it non-trivially
      constructible/destructible.  Since objfile_per_bfd_storage objects are
      allocated on an obstack, we need to call their ctors/dtors manually.
      This is what this patch does.  And then since we can now rely on
      ctors/dtors being run, make objfile_per_bfd_storage::storage_obstack
      be an auto_obstack.
      
      gdb/ChangeLog:
      2017-06-27  Pedro Alves  <palves@redhat.com>
      
      	* objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
      	bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
      	(free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
      	dtor.
      	* objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
      	'storage_obstack' field an auto_obstack.  In-class initialize all
      	non-bitfield fields.  Make minsyms_read bool.
      	* symfile.c (read_symbols): Adjust.
      23732b1e
  22. 05 Apr, 2017 1 commit
    • Pedro Alves's avatar
      -Wwrite-strings: The Rest · a121b7c1
      Pedro Alves authored
      This is the remainder boring constification that all looks more of less
      borderline obvious IMO.
      
      gdb/ChangeLog:
      2017-04-05  Pedro Alves  <palves@redhat.com>
      
      	* ada-exp.y (yyerror): Constify.
      	* ada-lang.c (bound_name, get_selections)
      	(ada_variant_discrim_type)
      	(ada_variant_discrim_name, ada_value_struct_elt)
      	(ada_lookup_struct_elt_type, is_unchecked_variant)
      	(ada_which_variant_applies, standard_exc, ada_get_next_arg)
      	(catch_ada_exception_command_split)
      	(catch_ada_assert_command_split, catch_assert_command)
      	(ada_op_name): Constify.
      	* ada-lang.h (ada_yyerror, get_selections)
      	(ada_variant_discrim_name, ada_value_struct_elt): Constify.
      	* arc-tdep.c (arc_print_frame_cache): Constify.
      	* arm-tdep.c (arm_skip_stub): Constify.
      	* ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
      	(gen_aggregate_elt_ref): Constify.
      	* bcache.c (print_bcache_statistics): Constify.
      	* bcache.h (print_bcache_statistics): Constify.
      	* break-catch-throw.c (catch_exception_command_1):
      	* breakpoint.c (struct ep_type_description::description):
      	Constify.
      	(add_solib_catchpoint): Constify.
      	(catch_fork_command_1): Add cast.
      	(add_catch_command): Constify.
      	* breakpoint.h (add_catch_command, add_solib_catchpoint):
      	Constify.
      	* bsd-uthread.c (bsd_uthread_state): Constify.
      	* buildsym.c (patch_subfile_names): Constify.
      	* buildsym.h (next_symbol_text_func, patch_subfile_names):
      	Constify.
      	* c-exp.y (yyerror): Constify.
      	(token::oper): Constify.
      	* c-lang.h (c_yyerror, cp_print_class_member): Constify.
      	* c-varobj.c (cplus_describe_child): Constify.
      	* charset.c (find_charset_names): Add cast.
      	(find_charset_names): Constify array and add const_cast.
      	* cli/cli-cmds.c (complete_command, cd_command): Constify.
      	(edit_command): Constify.
      	* cli/cli-decode.c (lookup_cmd): Constify.
      	* cli/cli-dump.c (dump_memory_command, dump_value_command):
      	Constify.
      	(struct dump_context): Constify.
      	(add_dump_command, restore_command): Constify.
      	* cli/cli-script.c (get_command_line): Constify.
      	* cli/cli-script.h (get_command_line): Constify.
      	* cli/cli-utils.c (check_for_argument): Constify.
      	* cli/cli-utils.h (check_for_argument): Constify.
      	* coff-pe-read.c (struct read_pe_section_data): Constify.
      	* command.h (lookup_cmd): Constify.
      	* common/print-utils.c (decimal2str): Constify.
      	* completer.c (gdb_print_filename): Constify.
      	* corefile.c (set_gnutarget): Constify.
      	* cp-name-parser.y (yyerror): Constify.
      	* cp-valprint.c (cp_print_class_member): Constify.
      	* cris-tdep.c (cris_register_name, crisv32_register_name):
      	Constify.
      	* d-exp.y (yyerror): Constify.
      	(struct token::oper): Constify.
      	* d-lang.h (d_yyerror): Constify.
      	* dbxread.c (struct header_file_location::name): Constify.
      	(add_old_header_file, add_new_header_file, last_function_name)
      	(dbx_next_symbol_text, add_bincl_to_list)
      	(find_corresponding_bincl_psymtab, set_namestring)
      	(find_stab_function_addr, read_dbx_symtab, start_psymtab)
      	(dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
      	* defs.h (command_line_input, print_address_symbolic)
      	(deprecated_readline_begin_hook): Constify.
      	* dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
      	Constify.
      	* event-top.c (handle_line_of_input): Constify and add cast.
      	* exceptions.c (catch_errors): Constify.
      	* exceptions.h (catch_errors): Constify.
      	* expprint.c (print_subexp_standard, op_string, op_name)
      	(op_name_standard, dump_raw_expression, dump_raw_expression):
      	* expression.h (op_name, op_string, dump_raw_expression):
      	Constify.
      	* f-exp.y (yyerror): Constify.
      	(struct token::oper): Constify.
      	(struct f77_boolean_val::name): Constify.
      	* f-lang.c (f_word_break_characters): Constify.
      	* f-lang.h (f_yyerror): Constify.
      	* fork-child.c (fork_inferior): Add cast.
      	* frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
      	(new_variant): Constify.
      	* gdbarch.sh (pstring_ptr, pstring_list): Constify.
      	* gdbarch.c: Regenerate.
      	* gdbcore.h (set_gnutarget): Constify.
      	* go-exp.y (yyerror): Constify.
      	(token::oper): Constify.
      	* go-lang.h (go_yyerror): Constify.
      	* go32-nat.c (go32_sysinfo): Constify.
      	* guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
      	* guile/scm-cmd.c (cmdscm_function): Constify.
      	* guile/scm-param.c (pascm_param_value): Constify.
      	* h8300-tdep.c (h8300_register_name, h8300s_register_name)
      	(h8300sx_register_name): Constify.
      	* hppa-tdep.c (hppa32_register_name, hppa64_register_name):
      	Constify.
      	* ia64-tdep.c (ia64_register_names): Constify.
      	* infcmd.c (construct_inferior_arguments): Constify.
      	(path_command, attach_post_wait): Constify.
      	* language.c (show_range_command, show_case_command)
      	(unk_lang_error): Constify.
      	* language.h (language_defn::la_error)
      	(language_defn::la_name_of_this): Constify.
      	* linespec.c (decode_line_2): Constify.
      	* linux-thread-db.c (thread_db_err_str): Constify.
      	* lm32-tdep.c (lm32_register_name): Constify.
      	* m2-exp.y (yyerror): Constify.
      	* m2-lang.h (m2_yyerror): Constify.
      	* m32r-tdep.c (m32r_register_names): Constify and make static.
      	* m68hc11-tdep.c (m68hc11_register_names): Constify.
      	* m88k-tdep.c (m88k_register_name): Constify.
      	* macroexp.c (appendmem): Constify.
      	* mdebugread.c (fdr_name, add_data_symbol, parse_type)
      	(upgrade_type, parse_external, parse_partial_symbols)
      	(mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
      	(new_symbol): Constify.
      	* memattr.c (mem_info_command): Constify.
      	* mep-tdep.c (register_name_from_keyword): Constify.
      	* mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
      	Constify.
      	* mi/mi-cmd-stack.c (list_args_or_locals): Constify.
      	* mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
      	* mi/mi-main.c (captured_mi_execute_command): Constify and add
      	cast.
      	(mi_execute_async_cli_command): Constify.
      	* mips-tdep.c (mips_register_name): Constify.
      	* mn10300-tdep.c (register_name, mn10300_generic_register_name)
      	(am33_register_name, am33_2_register_name)
      	* moxie-tdep.c (moxie_register_names): Constify.
      	* nat/linux-osdata.c (osdata_type): Constify fields.
      	* nto-tdep.c (nto_parse_redirection): Constify.
      	* objc-lang.c (lookup_struct_typedef, lookup_objc_class)
      	(lookup_child_selector): Constify.
      	(objc_methcall::name): Constify.
      	* objc-lang.h (lookup_objc_class, lookup_child_selector)
      	(lookup_struct_typedef): Constify.
      	* objfiles.c (pc_in_section): Constify.
      	* objfiles.h (pc_in_section): Constify.
      	* p-exp.y (struct token::oper): Constify.
      	(yyerror): Constify.
      	* p-lang.h (pascal_yyerror): Constify.
      	* parser-defs.h (op_name_standard): Constify.
      	(op_print::string): Constify.
      	(exp_descriptor::op_name): Constify.
      	* printcmd.c (print_address_symbolic): Constify.
      	* psymtab.c (print_partial_symbols): Constify.
      	* python/py-breakpoint.c (stop_func): Constify.
      	(bppy_get_expression): Constify.
      	* python/py-cmd.c (cmdpy_completer::name): Constify.
      	(cmdpy_function): Constify.
      	* python/py-event.c (evpy_add_attribute)
      	(gdbpy_initialize_event_generic): Constify.
      	* python/py-event.h (evpy_add_attribute)
      	(gdbpy_initialize_event_generic): Constify.
      	* python/py-evts.c (add_new_registry): Constify.
      	* python/py-finishbreakpoint.c (outofscope_func): Constify.
      	* python/py-framefilter.c (get_py_iter_from_func): Constify.
      	* python/py-inferior.c (get_buffer): Add cast.
      	* python/py-param.c (parm_constant::name): Constify.
      	* python/py-unwind.c (fprint_frame_id): Constify.
      	* python/python.c (gdbpy_parameter_value): Constify.
      	* remote-fileio.c (remote_fio_func_map): Make 'name' const.
      	* remote.c (memory_packet_config::name): Constify.
      	(show_packet_config_cmd, remote_write_bytes)
      	(remote_buffer_add_string):
      	* reverse.c (exec_reverse_once): Constify.
      	* rs6000-tdep.c (variant::name, variant::description): Constify.
      	* rust-exp.y (rustyyerror): Constify.
      	* rust-lang.c (rust_op_name): Constify.
      	* rust-lang.h (rustyyerror): Constify.
      	* serial.h (serial_ops::name): Constify.
      	* sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
      	(sh_sh3e_register_name, sh_sh2e_register_name)
      	(sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
      	(sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
      	(sh_sh4_register_name, sh_sh4_nofpu_register_name)
      	(sh_sh4al_dsp_register_name): Constify.
      	* sh64-tdep.c (sh64_register_name): Constify.
      	* solib-darwin.c (lookup_symbol_from_bfd): Constify.
      	* spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
      	* stabsread.c (patch_block_stabs, read_type_number)
      	(ref_map::stabs, ref_add, process_reference)
      	(symbol_reference_defined, define_symbol, define_symbol)
      	(error_type, read_type, read_member_functions, read_cpp_abbrev)
      	(read_one_struct_field, read_struct_fields, read_baseclasses)
      	(read_tilde_fields, read_struct_type, read_array_type)
      	(read_enum_type, read_sun_builtin_type, read_sun_floating_type)
      	(read_huge_number, read_range_type, read_args, common_block_start)
      	(find_name_end): Constify.
      	* stabsread.h (common_block_start, define_symbol)
      	(process_one_symbol, symbol_reference_defined, ref_add):
      	* symfile.c (get_section_index, add_symbol_file_command):
      	* symfile.h (get_section_index): Constify.
      	* target-descriptions.c (tdesc_type::name): Constify.
      	(tdesc_free_type): Add cast.
      	* target.c (find_default_run_target):
      	(add_deprecated_target_alias, find_default_run_target)
      	(target_announce_detach): Constify.
      	(do_option): Constify.
      	* target.h (add_deprecated_target_alias): Constify.
      	* thread.c (print_thread_info_1): Constify.
      	* top.c (deprecated_readline_begin_hook, command_line_input):
      	Constify.
      	(init_main): Add casts.
      	* top.h (handle_line_of_input): Constify.
      	* tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
      	* tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
      	(tfind_command): Rename to ...
      	(tfind_command_1): ... this and constify.
      	(tfind_command): New function.
      	(tfind_end_command, tfind_start_command): Adjust.
      	(encode_source_string): Constify.
      	* tracepoint.h (encode_source_string): Constify.
      	* tui/tui-data.c (tui_partial_win_by_name): Constify.
      	* tui/tui-data.h (tui_partial_win_by_name): Constify.
      	* tui/tui-source.c (tui_set_source_content_nil): Constify.
      	* tui/tui-source.h (tui_set_source_content_nil): Constify.
      	* tui/tui-win.c (parse_scrolling_args): Constify.
      	* tui/tui-windata.c (tui_erase_data_content): Constify.
      	* tui/tui-windata.h (tui_erase_data_content): Constify.
      	* tui/tui-winsource.c (tui_erase_source_content): Constify.
      	* tui/tui.c (tui_enable): Add cast.
      	* utils.c (defaulted_query): Constify.
      	(init_page_info): Add cast.
      	(puts_debug, subset_compare): Constify.
      	* utils.h (subset_compare): Constify.
      	* varobj.c (varobj_format_string): Constify.
      	* varobj.h (varobj_format_string): Constify.
      	* vax-tdep.c (vax_register_name): Constify.
      	* windows-nat.c (windows_detach): Constify.
      	* xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
      	* xml-support.c (gdb_xml_end_element): Constify.
      	* xml-tdesc.c (tdesc_start_reg): Constify.
      	* xstormy16-tdep.c (xstormy16_register_name): Constify.
      	* xtensa-tdep.c (xtensa_find_register_by_name): Constify.
      	* xtensa-tdep.h (xtensa_register_t::name): Constify.
      
      gdb/gdbserver/ChangeLog:
      2017-04-05  Pedro Alves  <palves@redhat.com>
      
      	* gdbreplay.c (sync_error): Constify.
      	* linux-x86-low.c (push_opcode): Constify.
      a121b7c1
  23. 01 Jan, 2017 1 commit
    • Joel Brobecker's avatar
      update copyright year range in GDB files · 61baf725
      Joel Brobecker authored
      This applies the second part of GDB's End of Year Procedure, which
      updates the copyright year range in all of GDB's files.
      
      gdb/ChangeLog:
      
              Update copyright year range in all GDB files.
      61baf725
  24. 26 Oct, 2016 1 commit
    • Pedro Alves's avatar
      Make symfile_add_flags and objfile->flags strongly typed · b15cc25c
      Pedro Alves authored
      This makes these flag types be "enum flag" types.  The benefit is
      making use of C++'s stronger typing -- mixing the flags types by
      mistake errors at compile time.
      
      This caught one old bug in symbol_file_add_main_1 already, fixed by
      this patch as well:
      
        @@ -1318,7 +1326,7 @@ symbol_file_add_main_1 (const char *args, int from_tty, int flags)
      	what is frameless.  */
           reinit_frame_cache ();
      
        -  if ((flags & SYMFILE_NO_READ) == 0)
        +  if ((add_flags & SYMFILE_NO_READ) == 0)
             set_initial_language ();
         }
      
      Above, "flags" are objfile flags, not symfile_add_flags.  So that was
      actually checking for "flag & OBJF_PSYMTABS_READ", which has the same
      value as SYMFILE_NO_READ...
      
      I moved the flags definitions to separate files to break circular
      dependencies.
      
      Built with --enable-targets=all and tested on x86-64 Fedora 23.
      
      gdb/ChangeLog:
      2016-10-26  Pedro Alves  <palves@redhat.com>
      
      	* coffread.c (coff_symfile_read): Use symfile_add_flags.
      	* dbxread.c (dbx_symfile_read): Ditto.
      	* elfread.c (elf_symfile_read): Ditto.
      	* inferior.h: Include symfile-add-flags.h.
      	(struct inferior) <symfile_flags>: Now symfile_add_flags.
      	* machoread.c (macho_add_oso_symfile, macho_symfile_read_all_oso)
      	(macho_symfile_read, mipscoff_symfile_read): Use
      	symfile_add_flags.
      	* objfile-flags.h: New file.
      	* objfiles.c (allocate_objfile): Use objfile_flags.
      	* objfiles.h: Include objfile-flags.h.
      	(struct objfile) <flags>: Now an objfile_flags.
      	(OBJF_REORDERED, OBJF_SHARED, OBJF_READNOW, OBJF_USERLOADED)
      	(OBJF_PSYMTABS_READ, OBJF_MAINLINE, OBJF_NOT_FILENAME): Delete.
      	Converted to an enum-flags in objfile-flags.h.
      	(allocate_objfile): Use objfile_flags.
      	* python/py-objfile.c (objfpy_add_separate_debug_file): Remove
      	unnecessary local.
      	* solib.c (solib_read_symbols, solib_add)
      	(reload_shared_libraries_1): Use symfile_add_flags.
      	* solib.h: Include "symfile-add-flags.h".
      	(solib_read_symbols): Use symfile_add_flags.
      	* symfile-add-flags.h: New file.
      	* symfile-debug.c (debug_sym_read): Use symfile_add_flags.
      	* symfile-mem.c (symbol_file_add_from_memory): Use
      	symfile_add_flags.
      	* symfile.c (read_symbols, syms_from_objfile_1)
      	(syms_from_objfile, finish_new_objfile): Use symfile_add_flags.
      	(symbol_file_add_with_addrs): Use symfile_add_flags and
      	objfile_flags.
      	(symbol_file_add_separate): Use symfile_add_flags.
      	(symbol_file_add_from_bfd, symbol_file_add): Use symfile_add_flags
      	and objfile_flags.
      	(symbol_file_add_main_1): : Use objfile_flags.  Fix add_flags vs
      	flags confusion.
      	(symbol_file_command): Use objfile_flags.
      	(add_symbol_file_command): Use symfile_add_flags and
      	objfile_flags.
      	(clear_symtab_users): Use symfile_add_flags.
      	* symfile.h: Include "symfile-add-flags.h" and "objfile-flags.h".
      	(struct sym_fns) <sym_read>: Use symfile_add_flags.
      	(clear_symtab_users): Use symfile_add_flags.
      	(enum symfile_add_flags): Delete, moved to symfile-add-flags.h and
      	converted to enum-flags.
      	(symbol_file_add, symbol_file_add_from_bfd)
      	(symbol_file_add_separate): Use symfile_add_flags.
      	* xcoffread.c (xcoff_initial_scan): Use symfile_add_flags.
      b15cc25c
  25. 06 Oct, 2016 1 commit
    • Tom Tromey's avatar
      Remove Java support · 9c37b5ae
      Tom Tromey authored
      This patch removes the Java support from gdb.  gcj has not seen much
      development or use for years now, and was recently removed from GCC.
      This patch changes gdb to follow; in the unlikely event that there are
      still users using gcj, they can continue to use an older gdb to debug.
      Or, they can debug in C++ mode.
      
      Built and regtested on x86-64 Fedora 24.
      
      2016-10-06  Tom Tromey  <tom@tromey.com>
      
      	* MAINTAINERS: Remove Java test maintainer.
      	* varobj.h (java_varobj_ops): Don't declare.
      	* valprint.h (struct value_print_options)
      	<pascal_static_field_print>: Update comment.
      	* utils.c (producer_is_gcc): Remove java reference.
      	* symtab.h (struct general_symbol_info): Remove java references.
      	(SYMBOL_SEARCH_NAME): Likewise.
      	* objfiles.c (allocate_objfile): Update comment.
      	* linespec.c (find_linespec_symbols): Remove java references.
      	* gnu-v3-abi.c (gnuv3_rtti_type, gnuv3_baseclass_offset): Remove
      	java references.
      	* gdbtypes.h (struct cplus_struct_type) <is_java>: Remove.
      	(TYPE_CPLUS_REALLY_JAVA): Remove.
      	* c-varobj.c (enum vsections): Update comment.
      	* symtab.c (symbol_set_language, symbol_set_names)
      	(symbol_natural_name, symbol_demangled_name)
      	(demangle_for_lookup, symbol_matches_domain)
      	(default_make_symbol_completion_list_break_on_1): Remove java
      	references.
      	(JAVA_PREFIX, JAVA_PREFIX_LEN): Remove.
      	* psymtab.c (match_partial_symbol, psymtab_search_name)
      	(lookup_partial_symbol): Remove java references.
      	* dwarf2read.c (find_slot_in_mapped_hash): Remove java references.
      	(add_partial_symbol, dwarf2_compute_name, dwarf2_physname)
      	(dwarf2_add_member_fn, is_vtable_name, read_structure_type)
      	(process_structure_scope, read_subroutine_type)
      	(read_subrange_type, load_partial_dies)
      	(new_symbol_full, determine_prefix, typename_concat)
      	(dwarf2_name): Remove java references.
      	(set_cu_language): Treat Java as C++.
      	* c-typeprint.c (c_type_print_args): Remove java reference.
      	* defs.h (enum language) <language_java>: Remove.
      	* Makefile.in (SFILES, HFILES_NO_SRCDIR, COMMON_OBS, YYFILES)
      	(YYOBJ, local-maintainer-clean): Don't mention java files.
      	* jv-exp.y, jv-lang.c, jv-lang.h, jv-typeprint.c, jv-valprint.c,
      	jv-varobj.c: Remove.
      
      2016-10-06  Tom Tromey  <tom@tromey.com>
      
      	* guile.texi (Types In Guile): Remove Java mentions.
      	* python.texi (Types In Python): Remove Java mentions.
      	* gdb.texinfo (Address Locations, Supported Languages)
      	(Index Section Format): Remove Java mentions.
      
      2016-10-06  Tom Tromey  <tom@tromey.com>
      
      	* gdb.compile/compile.exp: Change java tests to rust.
      	* gdb.base/setshow.exp: Change java tests to rust.
      	* gdb.base/default.exp: Remove java from language list.
      	* README (Examples): Update language example.
      	* gdb.python/py-lookup-type.exp (test_lookup_type): Remove java
      	test.
      	* lib/gdb.exp (skip_java_tests): Remove.
      	* lib/java.exp: Remove.
      	* gdb.java: Remove.
      9c37b5ae
  26. 23 Sep, 2016 1 commit
    • Tom Tromey's avatar
      Use std::vector in objfiles.c · cfe826d4
      Tom Tromey authored
      This patch changes a spot in objfiles.c to use a std::vector, removing
      a cleanup.
      
      2016-09-23  Tom Tromey  <tom@tromey.com>
      
      	* objfiles.c: Include <vector>.
      	(objfile_relocate): Use std::vector.
      cfe826d4
  27. 01 Jan, 2016 1 commit
  28. 25 Sep, 2015 2 commits
    • Simon Marchi's avatar
      Add some more casts (2/2) · 19ba03f4
      Simon Marchi authored
      See previous patch's description.
      
      gdb/ChangeLog:
      
      	* macrocmd.c (print_macro_callback): Add cast(s).
      	* macrotab.c (macro_bcache_str): Likewise.
      	(new_macro_definition): Likewise.
      	* main.c (captured_main): Likewise.
      	* maint.c (print_bfd_section_info): Likewise.
      	* mdebugread.c (mdebug_build_psymtabs): Likewise.
      	(basic_type): Likewise.
      	* memattr.c (mem_region_cmp): Likewise.
      	* memory-map.c (memory_map_start_memory): Likewise.
      	(memory_map_end_memory): Likewise.
      	(memory_map_start_property): Likewise.
      	(memory_map_end_property): Likewise.
      	(clear_result): Likewise.
      	* memrange.c (compare_mem_ranges): Likewise.
      	* mep-tdep.c (mep_analyze_frame_prologue): Likewise.
      	* mi/mi-cmd-var.c (mi_cmd_var_update_iter): Likewise.
      	* mi/mi-console.c (mi_console_file_delete): Likewise.
      	(mi_console_file_fputs): Likewise.
      	(mi_console_raw_packet): Likewise.
      	(mi_console_file_flush): Likewise.
      	(mi_console_set_raw): Likewise.
      	* mi/mi-interp.c (mi_interpreter_resume): Likewise.
      	(mi_new_thread): Likewise.
      	(mi_thread_exit): Likewise.
      	(mi_record_changed): Likewise.
      	(mi_inferior_added): Likewise.
      	(mi_inferior_appeared): Likewise.
      	(mi_inferior_exit): Likewise.
      	(mi_inferior_removed): Likewise.
      	(mi_interp_data): Likewise.
      	(mi_on_normal_stop): Likewise.
      	(mi_traceframe_changed): Likewise.
      	(mi_tsv_created): Likewise.
      	(mi_tsv_deleted): Likewise.
      	(mi_tsv_modified): Likewise.
      	(mi_breakpoint_created): Likewise.
      	(mi_breakpoint_deleted): Likewise.
      	(mi_breakpoint_modified): Likewise.
      	(mi_output_running_pid): Likewise.
      	(mi_inferior_count): Likewise.
      	(mi_solib_loaded): Likewise.
      	(mi_solib_unloaded): Likewise.
      	(mi_command_param_changed): Likewise.
      	(mi_memory_changed): Likewise.
      	(report_initial_inferior): Likewise.
      	(mi_ui_out): Likewise.
      	(mi_set_logging): Likewise.
      	* mi/mi-main.c (collect_cores): Likewise.
      	(print_one_inferior): Likewise.
      	(free_vector_of_ints): Likewise.
      	(free_splay_tree): Likewise.
      	(mi_execute_command): Likewise.
      	* mi/mi-out.c (mi_table_body): Likewise.
      	(mi_table_end): Likewise.
      	(mi_table_header): Likewise.
      	(mi_begin): Likewise.
      	(mi_end): Likewise.
      	(mi_field_int): Likewise.
      	(mi_field_string): Likewise.
      	(mi_field_fmt): Likewise.
      	(mi_flush): Likewise.
      	(mi_redirect): Likewise.
      	(field_separator): Likewise.
      	(mi_open): Likewise.
      	(mi_close): Likewise.
      	(mi_out_buffered): Likewise.
      	(mi_out_rewind): Likewise.
      	(mi_out_put): Likewise.
      	(mi_version): Likewise.
      	(mi_out_data_dtor): Likewise.
      	* mi/mi-parse.c (mi_parse_cleanup): Likewise.
      	* microblaze-tdep.c (microblaze_frame_cache): Likewise.
      	* minidebug.c (lzma_open): Likewise.
      	(lzma_pread): Likewise.
      	(lzma_close): Likewise.
      	(lzma_stat): Likewise.
      	* mips-linux-tdep.c (mips_linux_init_abi): Likewise.
      	* mips-sde-tdep.c (mips_sde_frame_cache): Likewise.
      	(mips_sde_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* mips-tdep.c (mips_insn16_frame_cache): Likewise.
      	(mips_micro_frame_cache): Likewise.
      	(mips_insn32_frame_cache): Likewise.
      	(mips_stub_frame_cache): Likewise.
      	(gdb_print_insn_mips): Likewise.
      	(value_of_mips_user_reg): Likewise.
      	(mips_gdbarch_init): Likewise.
      	* mips64obsd-tdep.c (mips64obsd_supply_gregset): Likewise.
      	* mipsnbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
      	(mipsnbsd_supply_gregset): Likewise.
      	* mn10300-linux-tdep.c (am33_supply_fpregset_method): Likewise.
      	(am33_collect_gregset_method): Likewise.
      	(am33_collect_fpregset_method): Likewise.
      	* mn10300-tdep.c (mn10300_analyze_frame_prologue): Likewise.
      	* moxie-tdep.c (moxie_frame_cache): Likewise.
      	* msp430-tdep.c (msp430_get_opcode_byte): Likewise.
      	(msp430_analyze_frame_prologue): Likewise.
      	* mt-tdep.c (mt_frame_unwind_cache): Likewise.
      	* nios2-linux-tdep.c (nios2_supply_gregset): Likewise.
      	(nios2_collect_gregset): Likewise.
      	* nios2-tdep.c (nios2_frame_unwind_cache): Likewise.
      	(nios2_stub_frame_cache): Likewise.
      	* objc-lang.c (find_methods): Likewise.
      	* objfiles.c (objfiles_pspace_data_cleanup): Likewise.
      	(get_objfile_pspace_data): Likewise.
      	(get_objfile_bfd_data): Likewise.
      	(objfile_bfd_data_free): Likewise.
      	(add_to_objfile_sections): Likewise.
      	(do_free_objfile_cleanup): Likewise.
      	(resume_section_map_updates_cleanup): Likewise.
      	* opencl-lang.c (builtin_opencl_type): Likewise.
      	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* osdata.c (osdata_start_osdata): Likewise.
      	(osdata_start_item): Likewise.
      	(osdata_start_column): Likewise.
      	(osdata_end_column): Likewise.
      	(clear_parsing_data): Likewise.
      	(osdata_free_cleanup): Likewise.
      	* parse.c (type_stack_cleanup): Likewise.
      	(exp_uses_objfile_iter): Likewise.
      	* ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
      	(ppc_linux_collect_gregset): Likewise.
      	(ppu2spu_prev_arch): Likewise.
      	(ppu2spu_this_id): Likewise.
      	(ppu2spu_prev_register): Likewise.
      	(ppu2spu_unwind_register): Likewise.
      	(ppu2spu_sniffer): Likewise.
      	(ppu2spu_dealloc_cache): Likewise.
      	(ppc_linux_init_abi): Likewise.
      	* ppcfbsd-tdep.c (ppcfbsd_sigtramp_frame_cache): Likewise.
      	* ppcobsd-tdep.c (ppcobsd_sigtramp_frame_cache): Likewise.
      	* progspace.c (restore_program_space): Likewise.
      	* psymtab.c (find_pc_sect_psymtab): Likewise.
      	(compare_psymbols): Likewise.
      	(psymbol_bcache_full): Likewise.
      	(allocate_psymtab): Likewise.
      	(discard_psymtabs_upto): Likewise.
      	* python/py-block.c (set_block): Likewise.
      	(del_objfile_blocks): Likewise.
      	* python/py-breakpoint.c (build_bp_list): Likewise.
      	* python/py-inferior.c (inferior_to_inferior_object): Likewise.
      	(build_inferior_list): Likewise.
      	(py_free_inferior): Likewise.
      	* python/py-objfile.c (py_free_objfile): Likewise.
      	(objfile_to_objfile_object): Likewise.
      	* python/py-prettyprint.c (py_restore_tstate): Likewise.
      	* python/py-progspace.c (py_free_pspace): Likewise.
      	(pspace_to_pspace_object): Likewise.
      	* python/py-symbol.c (set_symbol): Likewise.
      	(del_objfile_symbols): Likewise.
      	* python/py-symtab.c (set_sal): Likewise.
      	(set_symtab): Likewise.
      	(del_objfile_symtab): Likewise.
      	(del_objfile_sal): Likewise.
      	* python/py-type.c (save_objfile_types): Likewise.
      	(set_type): Likewise.
      	* python/py-unwind.c (pyuw_prev_register): Likewise.
      	(pyuw_on_new_gdbarch): Likewise.
      	* python/py-utils.c (py_decref): Likewise.
      	(py_xdecref): Likewise.
      	(gdb_py_generic_dict): Likewise.
      	* python/py-xmethods.c (gdbpy_free_xmethod_worker_data): Likewise.
      	(gdbpy_clone_xmethod_worker_data): Likewise.
      	(gdbpy_get_xmethod_arg_types): Likewise.
      	(gdbpy_get_xmethod_result_type): Likewise.
      	(gdbpy_invoke_xmethod): Likewise.
      	* python/python.c (gdbpy_apply_type_printers): Likewise.
      	(gdbpy_free_type_printers): Likewise.
      	* record-btrace.c (record_btrace_disable_callback): Likewise.
      	(bfcache_hash): Likewise.
      	(bfcache_eq): Likewise.
      	(btrace_get_frame_function): Likewise.
      	(record_btrace_frame_unwind_stop_reason): Likewise.
      	(record_btrace_frame_this_id): Likewise.
      	(record_btrace_frame_prev_register): Likewise.
      	(record_btrace_frame_dealloc_cache): Likewise.
      	* record-full.c (record_full_message_wrapper): Likewise.
      	(record_full_save_cleanups): Likewise.
      	* regcache.c (regcache_descr): Likewise.
      	(do_regcache_xfree): Likewise.
      	(do_regcache_invalidate): Likewise.
      	(do_cooked_read): Likewise.
      	(regcache_transfer_regset): Likewise.
      	* reggroups.c (reggroup_add): Likewise.
      	(reggroup_next): Likewise.
      	(reggroup_prev): Likewise.
      	* remote-fileio.c (do_remote_fileio_request): Likewise.
      	* remote-notif.c (remote_async_get_pending_events_handler): Likewise.
      	(do_notif_event_xfree): Likewise.
      	* remote.c (get_remote_arch_state): Likewise.
      	(remote_pspace_data_cleanup): Likewise.
      	(get_remote_exec_file): Likewise.
      	(set_pspace_remote_exec_file): Likewise.
      	(compare_pnums): Likewise.
      	(clear_threads_listing_context): Likewise.
      	(remote_newthread_step): Likewise.
      	(start_thread): Likewise.
      	(end_thread): Likewise.
      	(remove_child_of_pending_fork): Likewise.
      	(remove_stop_reply_for_inferior): Likewise.
      	(remove_stop_reply_of_remote_state): Likewise.
      	(remote_notif_remove_once_on_match): Likewise.
      	(stop_reply_match_ptid_and_ws): Likewise.
      	(kill_child_of_pending_fork): Likewise.
      	(register_remote_g_packet_guess): Likewise.
      	(remote_read_description_p): Likewise.
      	(remote_read_description): Likewise.
      	(free_actions_list_cleanup_wrapper): Likewise.
      	(remote_async_serial_handler): Likewise.
      	* rl78-tdep.c (rl78_get_opcode_byte): Likewise.
      	(rl78_analyze_frame_prologue): Likewise.
      	* rs6000-tdep.c (ppc_supply_gregset): Likewise.
      	(ppc_supply_fpregset): Likewise.
      	(ppc_supply_vsxregset): Likewise.
      	(ppc_supply_vrregset): Likewise.
      	(ppc_collect_gregset): Likewise.
      	(ppc_collect_fpregset): Likewise.
      	(ppc_collect_vsxregset): Likewise.
      	(ppc_collect_vrregset): Likewise.
      	(e500_move_ev_register): Likewise.
      	(do_regcache_raw_write): Likewise.
      	(rs6000_frame_cache): Likewise.
      	(rs6000_epilogue_frame_cache): Likewise.
      	(rs6000_gdbarch_init): Likewise.
      	* rx-tdep.c (rx_get_opcode_byte): Likewise.
      	(rx_analyze_frame_prologue): Likewise.
      	(rx_frame_type): Likewise.
      	(rx_frame_sniffer_common): Likewise.
      	* s390-linux-tdep.c (s390_check_for_saved): Likewise.
      	(s390_frame_unwind_cache): Likewise.
      	(s390_stub_frame_unwind_cache): Likewise.
      	(s390_sigtramp_frame_unwind_cache): Likewise.
      	* score-tdep.c (score_make_prologue_cache): Likewise.
      	* sentinel-frame.c (sentinel_frame_prev_register): Likewise.
      	(sentinel_frame_prev_arch): Likewise.
      	* ser-base.c (fd_event): Likewise.
      	(push_event): Likewise.
      	(ser_base_write): Likewise.
      	* ser-pipe.c (pipe_close): Likewise.
      	* serial.c (serial_write): Likewise.
      	* sh-tdep.c (sh_frame_cache): Likewise.
      	(sh_stub_this_id): Likewise.
      	* sh64-tdep.c (sh64_frame_cache): Likewise.
      	* solib-aix.c (get_solib_aix_inferior_data): Likewise.
      	(library_list_start_library): Likewise.
      	(library_list_start_list): Likewise.
      	(solib_aix_free_library_list): Likewise.
      	* solib-darwin.c (get_darwin_info): Likewise.
      	* solib-dsbt.c (get_dsbt_info): Likewise.
      	* solib-spu.c (append_ocl_sos): Likewise.
      	* solib-svr4.c (svr4_pspace_data_cleanup): Likewise.
      	(get_svr4_info): Likewise.
      	(library_list_start_library): Likewise.
      	(svr4_library_list_start_list): Likewise.
      	(hash_probe_and_action): Likewise.
      	(equal_probe_and_action): Likewise.
      	(svr4_update_solib_event_breakpoint): Likewise.
      	(set_solib_svr4_fetch_link_map_offsets): Likewise.
      	(svr4_fetch_link_map_offsets): Likewise.
      	(svr4_have_link_map_offsets): Likewise.
      	* solib-target.c (library_list_start_segment): Likewise.
      	(library_list_start_section): Likewise.
      	(library_list_start_library): Likewise.
      	(library_list_end_library): Likewise.
      	(library_list_start_list): Likewise.
      	(solib_target_free_library_list): Likewise.
      	* solib.c (solib_ops): Likewise.
      	(set_solib_ops): Likewise.
      	* sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise.
      	* sparc-tdep.c (sparc_frame_cache): Likewise.
      	(sparc32_frame_cache): Likewise.
      	(sparc32_supply_gregset): Likewise.
      	(sparc32_collect_gregset): Likewise.
      	(sparc32_supply_fpregset): Likewise.
      	(sparc32_collect_fpregset): Likewise.
      	* sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise.
      	* sparc64-tdep.c (sparc64_supply_gregset): Likewise.
      	(sparc64_collect_gregset): Likewise.
      	(sparc64_supply_fpregset): Likewise.
      	(sparc64_collect_fpregset): Likewise.
      	* sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_cache): Likewise.
      	* sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_cache): Likewise.
      	* sparc64obsd-tdep.c (sparc64obsd_frame_cache): Likewise.
      	(sparc64obsd_trapframe_cache): Likewise.
      	* sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_cache): Likewise.
      	* sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_cache): Likewise.
      	* spu-multiarch.c (spu_gdbarch): Likewise.
      	* spu-tdep.c (spu_frame_unwind_cache): Likewise.
      	(spu2ppu_prev_arch): Likewise.
      	(spu2ppu_this_id): Likewise.
      	(spu2ppu_prev_register): Likewise.
      	(spu2ppu_dealloc_cache): Likewise.
      	(spu_dis_asm_print_address): Likewise.
      	(gdb_print_insn_spu): Likewise.
      	(spu_get_overlay_table): Likewise.
      	* stabsread.c (rs6000_builtin_type): Likewise.
      	* stack.c (do_print_variable_and_value): Likewise.
      	* stap-probe.c (get_stap_base_address_1): Likewise.
      	* symfile-debug.c (debug_qf_has_symbols): Likewise.
      	(debug_qf_find_last_source_symtab): Likewise.
      	(debug_qf_forget_cached_source_info): Likewise.
      	(debug_qf_map_symtabs_matching_filename): Likewise.
      	(debug_qf_lookup_symbol): Likewise.
      	(debug_qf_print_stats): Likewise.
      	(debug_qf_dump): Likewise.
      	(debug_qf_relocate): Likewise.
      	(debug_qf_expand_symtabs_for_function): Likewise.
      	(debug_qf_expand_all_symtabs): Likewise.
      	(debug_qf_expand_symtabs_with_fullname): Likewise.
      	(debug_qf_map_matching_symbols): Likewise.
      	(debug_qf_expand_symtabs_matching): Likewise.
      	(debug_qf_find_pc_sect_compunit_symtab): Likewise.
      	(debug_qf_map_symbol_filenames): Likewise.
      	(debug_sym_get_probes): Likewise.
      	(debug_sym_new_init): Likewise.
      	(debug_sym_init): Likewise.
      	(debug_sym_read): Likewise.
      	(debug_sym_read_psymbols): Likewise.
      	(debug_sym_finish): Likewise.
      	(debug_sym_offsets): Likewise.
      	(debug_sym_read_linetable): Likewise.
      	(debug_sym_relocate): Likewise.
      	(uninstall_symfile_debug_logging): Likewise.
      	* symfile-mem.c (symbol_file_add_from_memory_wrapper): Likewise.
      	* symfile.c (place_section): Likewise.
      	(add_section_size_callback): Likewise.
      	(load_progress): Likewise.
      	(load_section_callback): Likewise.
      	(clear_memory_write_data): Likewise.
      	(allocate_symtab): Likewise.
      	* symmisc.c (maintenance_expand_file_matcher): Likewise.
      	* symtab.c (lookup_symtab_callback): Likewise.
      	(hash_demangled_name_entry): Likewise.
      	(eq_demangled_name_entry): Likewise.
      	(get_symbol_cache): Likewise.
      	(symbol_cache_cleanup): Likewise.
      	(set_symbol_cache_size): Likewise.
      	(symbol_cache_flush): Likewise.
      	(maintenance_print_symbol_cache): Likewise.
      	(maintenance_print_symbol_cache_statistics): Likewise.
      	(delete_filename_seen_cache): Likewise.
      	(output_partial_symbol_filename): Likewise.
      	(search_symbols_file_matches): Likewise.
      	(search_symbols_name_matches): Likewise.
      	(do_free_completion_list): Likewise.
      	(maybe_add_partial_symtab_filename): Likewise.
      	(get_main_info): Likewise.
      	(main_info_cleanup): Likewise.
      	* target-dcache.c (target_dcache_cleanup): Likewise.
      	(target_dcache_init_p): Likewise.
      	(target_dcache_invalidate): Likewise.
      	(target_dcache_get): Likewise.
      	(target_dcache_get_or_init): Likewise.
      	* target-descriptions.c (target_find_description): Likewise.
      	(tdesc_find_type): Likewise.
      	(tdesc_data_cleanup): Likewise.
      	(tdesc_find_arch_register): Likewise.
      	(tdesc_register_name): Likewise.
      	(tdesc_register_type): Likewise.
      	(tdesc_register_reggroup_p): Likewise.
      	(set_tdesc_pseudo_register_name): Likewise.
      	(set_tdesc_pseudo_register_type): Likewise.
      	(set_tdesc_pseudo_register_reggroup_p): Likewise.
      	(tdesc_use_registers): Likewise.
      	(free_target_description): Likewise.
      	* target-memory.c (compare_block_starting_address): Likewise.
      	(cleanup_request_data): Likewise.
      	(cleanup_write_requests_vector): Likewise.
      	* target.c (open_target): Likewise.
      	(cleanup_restore_target_terminal): Likewise.
      	(free_memory_read_result_vector): Likewise.
      	* thread.c (disable_thread_stack_temporaries): Likewise.
      	(finish_thread_state_cleanup): Likewise.
      	(do_restore_current_thread_cleanup): Likewise.
      	(restore_current_thread_cleanup_dtor): Likewise.
      	(set_thread_refcount): Likewise.
      	(tp_array_compar): Likewise.
      	(do_captured_thread_select): Likewise.
      	* tic6x-tdep.c (tic6x_frame_unwind_cache): Likewise.
      	(tic6x_stub_this_id): Likewise.
      	* tilegx-tdep.c (tilegx_frame_cache): Likewise.
      	* top.c (do_restore_instream_cleanup): Likewise.
      	(gdb_readline_wrapper_cleanup): Likewise.
      	(kill_or_detach): Likewise.
      	(print_inferior_quit_action): Likewise.
      	* tracefile-tfile.c (match_blocktype): Likewise.
      	(build_traceframe_info): Likewise.
      	* tracefile.c (trace_file_writer_xfree): Likewise.
      	* tracepoint.c (memrange_cmp): Likewise.
      	(do_collect_symbol): Likewise.
      	(do_clear_collection_list): Likewise.
      	(do_restore_current_traceframe_cleanup): Likewise.
      	(restore_current_traceframe_cleanup_dtor): Likewise.
      	(free_current_marker): Likewise.
      	(traceframe_info_start_memory): Likewise.
      	(traceframe_info_start_tvar): Likewise.
      	(free_result): Likewise.
      	* tramp-frame.c (tramp_frame_cache): Likewise.
      	* tui/tui-file.c (tui_file_delete): Likewise.
      	(tui_fileopen): Likewise.
      	(tui_sfileopen): Likewise.
      	(tui_file_isatty): Likewise.
      	(tui_file_rewind): Likewise.
      	(tui_file_put): Likewise.
      	(tui_file_fputs): Likewise.
      	(tui_file_get_strbuf): Likewise.
      	(tui_file_adjust_strbuf): Likewise.
      	(tui_file_flush): Likewise.
      	* tui/tui-layout.c (make_command_window): Likewise.
      	(make_data_window): Likewise.
      	(show_source_disasm_command): Likewise.
      	(show_data): Likewise.
      	(make_source_or_disasm_window): Likewise.
      	(show_source_or_disasm_and_command): Likewise.
      	* tui/tui-out.c (tui_field_int): Likewise.
      	(tui_field_string): Likewise.
      	(tui_field_fmt): Likewise.
      	(tui_text): Likewise.
      	* typeprint.c (hash_typedef_field): Likewise.
      	(eq_typedef_field): Likewise.
      	(do_free_typedef_hash): Likewise.
      	(copy_typedef_hash_element): Likewise.
      	(do_free_global_table): Likewise.
      	(find_global_typedef): Likewise.
      	(find_typedef_in_hash): Likewise.
      	* ui-file.c (ui_file_write_for_put): Likewise.
      	(do_ui_file_xstrdup): Likewise.
      	(mem_file_delete): Likewise.
      	(mem_file_rewind): Likewise.
      	(mem_file_put): Likewise.
      	(mem_file_write): Likewise.
      	(stdio_file_delete): Likewise.
      	(stdio_file_flush): Likewise.
      	(stdio_file_read): Likewise.
      	(stdio_file_write): Likewise.
      	(stdio_file_write_async_safe): Likewise.
      	(stdio_file_fputs): Likewise.
      	(stdio_file_isatty): Likewise.
      	(stdio_file_fseek): Likewise.
      	(tee_file_delete): Likewise.
      	(tee_file_flush): Likewise.
      	(tee_file_write): Likewise.
      	(tee_file_fputs): Likewise.
      	(tee_file_isatty): Likewise.
      	* ui-out.c (do_cleanup_table_end): Likewise.
      	(do_cleanup_end): Likewise.
      	* user-regs.c (user_reg_add): Likewise.
      	(user_reg_map_name_to_regnum): Likewise.
      	(usernum_to_user_reg): Likewise.
      	(maintenance_print_user_registers): Likewise.
      	* utils.c (do_bfd_close_cleanup): Likewise.
      	(do_fclose_cleanup): Likewise.
      	(do_obstack_free): Likewise.
      	(do_ui_file_delete): Likewise.
      	(do_ui_out_redirect_pop): Likewise.
      	(do_free_section_addr_info): Likewise.
      	(restore_integer): Likewise.
      	(do_unpush_target): Likewise.
      	(do_htab_delete_cleanup): Likewise.
      	(do_restore_ui_file): Likewise.
      	(do_value_free): Likewise.
      	(do_free_so): Likewise.
      	(free_current_contents): Likewise.
      	(do_regfree_cleanup): Likewise.
      	(core_addr_hash): Likewise.
      	(core_addr_eq): Likewise.
      	(do_free_char_ptr_vec): Likewise.
      	* v850-tdep.c (v850_frame_cache): Likewise.
      	* varobj.c (do_free_variable_cleanup): Likewise.
      	* vax-tdep.c (vax_supply_gregset): Likewise.
      	(vax_frame_cache): Likewise.
      	* vaxobsd-tdep.c (vaxobsd_sigtramp_frame_cache): Likewise.
      	* xml-support.c (gdb_xml_body_text): Likewise.
      	(gdb_xml_values_cleanup): Likewise.
      	(gdb_xml_start_element): Likewise.
      	(gdb_xml_start_element_wrapper): Likewise.
      	(gdb_xml_end_element): Likewise.
      	(gdb_xml_end_element_wrapper): Likewise.
      	(gdb_xml_cleanup): Likewise.
      	(gdb_xml_fetch_external_entity): Likewise.
      	(gdb_xml_parse_attr_enum): Likewise.
      	(xinclude_start_include): Likewise.
      	(xinclude_end_include): Likewise.
      	(xml_xinclude_default): Likewise.
      	(xml_xinclude_start_doctype): Likewise.
      	(xml_xinclude_end_doctype): Likewise.
      	(xml_xinclude_cleanup): Likewise.
      	(xml_fetch_content_from_file): Likewise.
      	* xml-syscall.c (free_syscalls_info): Likewise.
      	(syscall_start_syscall): Likewise.
      	* xml-tdesc.c (tdesc_end_arch): Likewise.
      	(tdesc_end_osabi): Likewise.
      	(tdesc_end_compatible): Likewise.
      	(tdesc_start_target): Likewise.
      	(tdesc_start_feature): Likewise.
      	(tdesc_start_reg): Likewise.
      	(tdesc_start_union): Likewise.
      	(tdesc_start_struct): Likewise.
      	(tdesc_start_flags): Likewise.
      	(tdesc_start_field): Likewise.
      	(tdesc_start_vector): Likewise.
      	(fetch_available_features_from_target): Likewise.
      	* xstormy16-tdep.c (xstormy16_frame_cache): Likewise.
      	* xtensa-tdep.c (xtensa_supply_gregset): Likewise.
      	(xtensa_frame_cache): Likewise.
      	(xtensa_frame_prev_register): Likewise.
      	(xtensa_extract_return_value): Likewise.
      19ba03f4
    • Simon Marchi's avatar
      Add casts to memory allocation related calls · 224c3ddb
      Simon Marchi authored
      Most allocation functions (if not all) return a void* pointing to the
      allocated memory.  In C++, we need to add an explicit cast when
      assigning the result to a pointer to another type (which is the case
      more often than not).
      
      The content of this patch is taken from Pedro's branch, from commit
      "(mostly) auto-generated patch to insert casts needed for C++".  I
      validated that the changes make sense and manually reflowed the code to
      make it respect the coding style.  I also found multiple places where I
      could use XNEW/XNEWVEC/XRESIZEVEC/etc.
      
      Thanks a lot to whoever did that automated script to insert casts, doing
      it completely by hand would have taken a ridiculous amount of time.
      
      Only files built on x86 with --enable-targets=all are modified.  This
      means that all other -nat.c files are untouched and will have to be
      dealt with later by using appropiate compilers.  Or maybe we can try to
      build them with a regular g++ just to know where to add casts, I don't
      know.
      
      I built-tested this with --enable-targets=all and reg-tested.
      
      Here's the changelog entry, which was not too bad to make despite the
      size, thanks to David Malcom's script.  I fixed some bits by hand, but
      there might be some wrong parts left (hopefully not).
      
      gdb/ChangeLog:
      
      	* aarch64-linux-tdep.c (aarch64_stap_parse_special_token): Add cast
      	to allocation result assignment.
      	* ada-exp.y (write_object_renaming): Likewise.
      	(write_ambiguous_var): Likewise.
      	(ada_nget_field_index): Likewise.
      	(write_var_or_type): Likewise.
      	* ada-lang.c (ada_decode_symbol): Likewise.
      	(ada_value_assign): Likewise.
      	(value_pointer): Likewise.
      	(cache_symbol): Likewise.
      	(add_nonlocal_symbols): Likewise.
      	(ada_name_for_lookup): Likewise.
      	(symbol_completion_add): Likewise.
      	(ada_to_fixed_type_1): Likewise.
      	(ada_get_next_arg): Likewise.
      	(defns_collected): Likewise.
      	* ada-lex.l (processId): Likewise.
      	(processString): Likewise.
      	* ada-tasks.c (read_known_tasks_array): Likewise.
      	(read_known_tasks_list): Likewise.
      	* ada-typeprint.c (decoded_type_name): Likewise.
      	* addrmap.c (addrmap_mutable_create_fixed): Likewise.
      	* amd64-tdep.c (amd64_push_arguments): Likewise.
      	(amd64_displaced_step_copy_insn): Likewise.
      	(amd64_classify_insn_at): Likewise.
      	(amd64_relocate_instruction): Likewise.
      	* amd64obsd-tdep.c (amd64obsd_sigtramp_p): Likewise.
      	* arch-utils.c (simple_displaced_step_copy_insn): Likewise.
      	(initialize_current_architecture): Likewise.
      	* arm-linux-tdep.c (arm_stap_parse_special_token): Likewise.
      	* arm-symbian-tdep.c (arm_symbian_osabi_sniffer): Likewise.
      	* arm-tdep.c (arm_exidx_new_objfile): Likewise.
      	(arm_push_dummy_call): Likewise.
      	(extend_buffer_earlier): Likewise.
      	(arm_adjust_breakpoint_address): Likewise.
      	(arm_skip_stub): Likewise.
      	* auto-load.c (filename_is_in_pattern): Likewise.
      	(maybe_add_script_file): Likewise.
      	(maybe_add_script_text): Likewise.
      	(auto_load_objfile_script_1): Likewise.
      	* auxv.c (ld_so_xfer_auxv): Likewise.
      	* ax-general.c (new_agent_expr): Likewise.
      	(grow_expr): Likewise.
      	(ax_reg_mask): Likewise.
      	* bcache.c (bcache_full): Likewise.
      	* breakpoint.c (program_breakpoint_here_p): Likewise.
      	* btrace.c (parse_xml_raw): Likewise.
      	* build-id.c (build_id_to_debug_bfd): Likewise.
      	* buildsym.c (end_symtab_with_blockvector): Likewise.
      	* c-exp.y (string_exp): Likewise.
      	(qualified_name): Likewise.
      	(write_destructor_name): Likewise.
      	(operator_stoken): Likewise.
      	(parse_number): Likewise.
      	(scan_macro_expansion): Likewise.
      	(yylex): Likewise.
      	(c_print_token): Likewise.
      	* c-lang.c (c_get_string): Likewise.
      	(emit_numeric_character): Likewise.
      	* charset.c (wchar_iterate): Likewise.
      	* cli/cli-cmds.c (complete_command): Likewise.
      	(make_command): Likewise.
      	* cli/cli-dump.c (restore_section_callback): Likewise.
      	(restore_binary_file): Likewise.
      	* cli/cli-interp.c (cli_interpreter_exec): Likewise.
      	* cli/cli-script.c (execute_control_command): Likewise.
      	* cli/cli-setshow.c (do_set_command): Likewise.
      	* coff-pe-read.c (add_pe_forwarded_sym): Likewise.
      	(read_pe_exported_syms): Likewise.
      	* coffread.c (coff_read_struct_type): Likewise.
      	(coff_read_enum_type): Likewise.
      	* common/btrace-common.c (btrace_data_append): Likewise.
      	* common/buffer.c (buffer_grow): Likewise.
      	* common/filestuff.c (gdb_fopen_cloexec): Likewise.
      	* common/format.c (parse_format_string): Likewise.
      	* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append): Likewise.
      	* common/xml-utils.c (xml_escape_text): Likewise.
      	* compile/compile-object-load.c (copy_sections): Likewise.
      	(compile_object_load): Likewise.
      	* compile/compile-object-run.c (compile_object_run): Likewise.
      	* completer.c (filename_completer): Likewise.
      	* corefile.c (read_memory_typed_address): Likewise.
      	(write_memory_unsigned_integer): Likewise.
      	(write_memory_signed_integer): Likewise.
      	(complete_set_gnutarget): Likewise.
      	* corelow.c (get_core_register_section): Likewise.
      	* cp-name-parser.y (d_grab): Likewise.
      	(allocate_info): Likewise.
      	(cp_new_demangle_parse_info): Likewise.
      	* cp-namespace.c (cp_scan_for_anonymous_namespaces): Likewise.
      	(cp_lookup_symbol_in_namespace): Likewise.
      	(lookup_namespace_scope): Likewise.
      	(find_symbol_in_baseclass): Likewise.
      	(cp_lookup_nested_symbol): Likewise.
      	(cp_lookup_transparent_type_loop): Likewise.
      	* cp-support.c (copy_string_to_obstack): Likewise.
      	(make_symbol_overload_list): Likewise.
      	(make_symbol_overload_list_namespace): Likewise.
      	(make_symbol_overload_list_adl_namespace): Likewise.
      	(first_component_command): Likewise.
      	* cp-valprint.c (cp_print_value): Likewise.
      	* ctf.c (ctf_xfer_partial): Likewise.
      	* d-exp.y (StringExp): Likewise.
      	* d-namespace.c (d_lookup_symbol_in_module): Likewise.
      	(lookup_module_scope): Likewise.
      	(find_symbol_in_baseclass): Likewise.
      	(d_lookup_nested_symbol): Likewise.
      	* dbxread.c (find_stab_function_addr): Likewise.
      	(read_dbx_symtab): Likewise.
      	(dbx_end_psymtab): Likewise.
      	(cp_set_block_scope): Likewise.
      	* dcache.c (dcache_alloc): Likewise.
      	* demangle.c (_initialize_demangler): Likewise.
      	* dicos-tdep.c (dicos_load_module_p): Likewise.
      	* dictionary.c (dict_create_hashed_expandable): Likewise.
      	(dict_create_linear_expandable): Likewise.
      	(expand_hashtable): Likewise.
      	(add_symbol_linear_expandable): Likewise.
      	* dwarf2-frame.c (add_cie): Likewise.
      	(add_fde): Likewise.
      	(dwarf2_build_frame_info): Likewise.
      	* dwarf2expr.c (dwarf_expr_grow_stack): Likewise.
      	(dwarf_expr_fetch_address): Likewise.
      	(add_piece): Likewise.
      	(execute_stack_op): Likewise.
      	* dwarf2loc.c (chain_candidate): Likewise.
      	(dwarf_entry_parameter_to_value): Likewise.
      	(read_pieced_value): Likewise.
      	(write_pieced_value): Likewise.
      	* dwarf2read.c (dwarf2_read_section): Likewise.
      	(add_type_unit): Likewise.
      	(read_comp_units_from_section): Likewise.
      	(fixup_go_packaging): Likewise.
      	(dwarf2_compute_name): Likewise.
      	(dwarf2_physname): Likewise.
      	(create_dwo_unit_in_dwp_v1): Likewise.
      	(create_dwo_unit_in_dwp_v2): Likewise.
      	(read_func_scope): Likewise.
      	(read_call_site_scope): Likewise.
      	(dwarf2_attach_fields_to_type): Likewise.
      	(process_structure_scope): Likewise.
      	(mark_common_block_symbol_computed): Likewise.
      	(read_common_block): Likewise.
      	(abbrev_table_read_table): Likewise.
      	(guess_partial_die_structure_name): Likewise.
      	(fixup_partial_die): Likewise.
      	(add_file_name): Likewise.
      	(dwarf2_const_value_data): Likewise.
      	(dwarf2_const_value_attr): Likewise.
      	(build_error_marker_type): Likewise.
      	(guess_full_die_structure_name): Likewise.
      	(anonymous_struct_prefix): Likewise.
      	(typename_concat): Likewise.
      	(dwarf2_canonicalize_name): Likewise.
      	(dwarf2_name): Likewise.
      	(write_constant_as_bytes): Likewise.
      	(dwarf2_fetch_constant_bytes): Likewise.
      	(copy_string): Likewise.
      	(parse_macro_definition): Likewise.
      	* elfread.c (elf_symfile_segments): Likewise.
      	(elf_rel_plt_read): Likewise.
      	(elf_gnu_ifunc_resolve_by_cache): Likewise.
      	(elf_gnu_ifunc_resolve_by_got): Likewise.
      	(elf_read_minimal_symbols): Likewise.
      	(elf_gnu_ifunc_record_cache): Likewise.
      	* event-top.c (top_level_prompt): Likewise.
      	(command_line_handler): Likewise.
      	* exec.c (resize_section_table): Likewise.
      	* expprint.c (print_subexp_standard): Likewise.
      	* fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
      	* findcmd.c (parse_find_args): Likewise.
      	* findvar.c (address_from_register): Likewise.
      	* frame.c (get_prev_frame_always): Likewise.
      	* gdb_bfd.c (gdb_bfd_ref): Likewise.
      	(get_section_descriptor): Likewise.
      	* gdb_obstack.c (obconcat): Likewise.
      	(obstack_strdup): Likewise.
      	* gdbtypes.c (lookup_function_type_with_arguments): Likewise.
      	(create_set_type): Likewise.
      	(lookup_unsigned_typename): Likewise.
      	(lookup_signed_typename): Likewise.
      	(resolve_dynamic_union): Likewise.
      	(resolve_dynamic_struct): Likewise.
      	(add_dyn_prop): Likewise.
      	(copy_dynamic_prop_list): Likewise.
      	(arch_flags_type): Likewise.
      	(append_composite_type_field_raw): Likewise.
      	* gdbtypes.h (INIT_FUNC_SPECIFIC): Likewise.
      	* gnu-v3-abi.c (gnuv3_rtti_type): Likewise.
      	* go-exp.y (string_exp): Likewise.
      	* go-lang.c (go_demangle): Likewise.
      	* guile/guile.c (compute_scheme_string): Likewise.
      	* guile/scm-cmd.c (gdbscm_parse_command_name): Likewise.
      	(gdbscm_canonicalize_command_name): Likewise.
      	* guile/scm-ports.c (ioscm_init_stdio_buffers): Likewise.
      	(ioscm_init_memory_port): Likewise.
      	(ioscm_reinit_memory_port): Likewise.
      	* guile/scm-utils.c (gdbscm_gc_xstrdup): Likewise.
      	(gdbscm_gc_dup_argv): Likewise.
      	* h8300-tdep.c (h8300_push_dummy_call): Likewise.
      	* hppa-tdep.c (internalize_unwinds): Likewise.
      	(read_unwind_info): Likewise.
      	* i386-cygwin-tdep.c (core_process_module_section): Likewise.
      	(windows_core_xfer_shared_libraries): Likewise.
      	* i386-tdep.c (i386_displaced_step_copy_insn): Likewise.
      	(i386_stap_parse_special_token_triplet): Likewise.
      	(i386_stap_parse_special_token_three_arg_disp): Likewise.
      	* i386obsd-tdep.c (i386obsd_sigtramp_p): Likewise.
      	* inf-child.c (inf_child_fileio_readlink): Likewise.
      	* inf-ptrace.c (inf_ptrace_fetch_register): Likewise.
      	(inf_ptrace_store_register): Likewise.
      	* infrun.c (follow_exec): Likewise.
      	(displaced_step_prepare_throw): Likewise.
      	(save_stop_context): Likewise.
      	(save_infcall_suspend_state): Likewise.
      	* jit.c (jit_read_descriptor): Likewise.
      	(jit_read_code_entry): Likewise.
      	(jit_symtab_line_mapping_add_impl): Likewise.
      	(finalize_symtab): Likewise.
      	(jit_unwind_reg_get_impl): Likewise.
      	* jv-exp.y (QualifiedName): Likewise.
      	* jv-lang.c (get_java_utf8_name): Likewise.
      	(type_from_class): Likewise.
      	(java_demangle_type_signature): Likewise.
      	(java_class_name_from_physname): Likewise.
      	* jv-typeprint.c (java_type_print_base): Likewise.
      	* jv-valprint.c (java_value_print): Likewise.
      	* language.c (add_language): Likewise.
      	* linespec.c (add_sal_to_sals_basic): Likewise.
      	(add_sal_to_sals): Likewise.
      	(decode_objc): Likewise.
      	(find_linespec_symbols): Likewise.
      	* linux-fork.c (fork_save_infrun_state): Likewise.
      	* linux-nat.c (linux_nat_detach): Likewise.
      	(linux_nat_fileio_readlink): Likewise.
      	* linux-record.c (record_linux_sockaddr): Likewise.
      	(record_linux_msghdr): Likewise.
      	(Do): Likewise.
      	* linux-tdep.c (linux_core_info_proc_mappings): Likewise.
      	(linux_collect_regset_section_cb): Likewise.
      	(linux_get_siginfo_data): Likewise.
      	* linux-thread-db.c (try_thread_db_load_from_pdir_1): Likewise.
      	(try_thread_db_load_from_dir): Likewise.
      	(thread_db_load_search): Likewise.
      	(info_auto_load_libthread_db): Likewise.
      	* m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise.
      	(m32c_m16c_pointer_to_address): Likewise.
      	* m68hc11-tdep.c (m68hc11_pseudo_register_write): Likewise.
      	* m68k-tdep.c (m68k_get_longjmp_target): Likewise.
      	* machoread.c (macho_check_dsym): Likewise.
      	* macroexp.c (resize_buffer): Likewise.
      	(gather_arguments): Likewise.
      	(maybe_expand): Likewise.
      	* macrotab.c (new_macro_key): Likewise.
      	(new_source_file): Likewise.
      	(new_macro_definition): Likewise.
      	* mdebugread.c (parse_symbol): Likewise.
      	(parse_type): Likewise.
      	(parse_partial_symbols): Likewise.
      	(psymtab_to_symtab_1): Likewise.
      	* mem-break.c (default_memory_insert_breakpoint): Likewise.
      	* mi/mi-cmd-break.c (mi_argv_to_format): Likewise.
      	* mi/mi-main.c (mi_cmd_data_read_memory): Likewise.
      	(mi_cmd_data_read_memory_bytes): Likewise.
      	(mi_cmd_data_write_memory_bytes): Likewise.
      	(mi_cmd_trace_frame_collected): Likewise.
      	* mi/mi-parse.c (mi_parse_argv): Likewise.
      	(mi_parse): Likewise.
      	* minidebug.c (lzma_open): Likewise.
      	(lzma_pread): Likewise.
      	* mips-tdep.c (mips_read_fp_register_single): Likewise.
      	(mips_print_fp_register): Likewise.
      	* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Likewise.
      	* mipsread.c (read_alphacoff_dynamic_symtab): Likewise.
      	* mt-tdep.c (mt_register_name): Likewise.
      	(mt_registers_info): Likewise.
      	(mt_push_dummy_call): Likewise.
      	* namespace.c (add_using_directive): Likewise.
      	* nat/linux-btrace.c (perf_event_read): Likewise.
      	(linux_enable_bts): Likewise.
      	* nat/linux-osdata.c (linux_common_core_of_thread): Likewise.
      	* nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Likewise.
      	* nto-tdep.c (nto_find_and_open_solib): Likewise.
      	(nto_parse_redirection): Likewise.
      	* objc-lang.c (objc_demangle): Likewise.
      	(find_methods): Likewise.
      	* objfiles.c (get_objfile_bfd_data): Likewise.
      	(set_objfile_main_name): Likewise.
      	(allocate_objfile): Likewise.
      	(objfile_relocate): Likewise.
      	(update_section_map): Likewise.
      	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* p-exp.y (exp): Likewise.
      	(yylex): Likewise.
      	* p-valprint.c (pascal_object_print_value): Likewise.
      	* parse.c (initialize_expout): Likewise.
      	(mark_completion_tag): Likewise.
      	(copy_name): Likewise.
      	(parse_float): Likewise.
      	(type_stack_reserve): Likewise.
      	* ppc-linux-tdep.c (ppc_stap_parse_special_token): Likewise.
      	(ppu2spu_prev_register): Likewise.
      	* ppc-ravenscar-thread.c (supply_register_at_address): Likewise.
      	* printcmd.c (printf_wide_c_string): Likewise.
      	(printf_pointer): Likewise.
      	* probe.c (parse_probes): Likewise.
      	* python/py-cmd.c (gdbpy_parse_command_name): Likewise.
      	(cmdpy_init): Likewise.
      	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Likewise.
      	* python/py-symtab.c (set_sal): Likewise.
      	* python/py-unwind.c (pyuw_sniffer): Likewise.
      	* python/python.c (python_interactive_command): Likewise.
      	(compute_python_string): Likewise.
      	* ravenscar-thread.c (get_running_thread_id): Likewise.
      	* record-full.c (record_full_exec_insn): Likewise.
      	(record_full_core_open_1): Likewise.
      	* regcache.c (regcache_raw_read_signed): Likewise.
      	(regcache_raw_read_unsigned): Likewise.
      	(regcache_cooked_read_signed): Likewise.
      	(regcache_cooked_read_unsigned): Likewise.
      	* remote-fileio.c (remote_fileio_func_open): Likewise.
      	(remote_fileio_func_rename): Likewise.
      	(remote_fileio_func_unlink): Likewise.
      	(remote_fileio_func_stat): Likewise.
      	(remote_fileio_func_system): Likewise.
      	* remote-mips.c (mips_xfer_memory): Likewise.
      	(mips_load_srec): Likewise.
      	(pmon_end_download): Likewise.
      	* remote.c (new_remote_state): Likewise.
      	(map_regcache_remote_table): Likewise.
      	(remote_register_number_and_offset): Likewise.
      	(init_remote_state): Likewise.
      	(get_memory_packet_size): Likewise.
      	(remote_pass_signals): Likewise.
      	(remote_program_signals): Likewise.
      	(remote_start_remote): Likewise.
      	(remote_check_symbols): Likewise.
      	(remote_query_supported): Likewise.
      	(extended_remote_attach): Likewise.
      	(process_g_packet): Likewise.
      	(store_registers_using_G): Likewise.
      	(putpkt_binary): Likewise.
      	(read_frame): Likewise.
      	(compare_sections_command): Likewise.
      	(remote_hostio_pread): Likewise.
      	(remote_hostio_readlink): Likewise.
      	(remote_file_put): Likewise.
      	(remote_file_get): Likewise.
      	(remote_pid_to_exec_file): Likewise.
      	(_initialize_remote): Likewise.
      	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
      	(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
      	* rs6000-tdep.c (ppc_displaced_step_copy_insn): Likewise.
      	(bfd_uses_spe_extensions): Likewise.
      	* s390-linux-tdep.c (s390_displaced_step_copy_insn): Likewise.
      	* score-tdep.c (score7_malloc_and_get_memblock): Likewise.
      	* solib-dsbt.c (decode_loadmap): Likewise.
      	(fetch_loadmap): Likewise.
      	(scan_dyntag): Likewise.
      	(enable_break): Likewise.
      	(dsbt_relocate_main_executable): Likewise.
      	* solib-frv.c (fetch_loadmap): Likewise.
      	(enable_break2): Likewise.
      	(frv_relocate_main_executable): Likewise.
      	* solib-spu.c (spu_relocate_main_executable): Likewise.
      	(spu_bfd_open): Likewise.
      	* solib-svr4.c (lm_info_read): Likewise.
      	(read_program_header): Likewise.
      	(find_program_interpreter): Likewise.
      	(scan_dyntag): Likewise.
      	(elf_locate_base): Likewise.
      	(open_symbol_file_object): Likewise.
      	(read_program_headers_from_bfd): Likewise.
      	(svr4_relocate_main_executable): Likewise.
      	* solib-target.c (solib_target_relocate_section_addresses): Likewise.
      	* solib.c (solib_find_1): Likewise.
      	(exec_file_find): Likewise.
      	(solib_find): Likewise.
      	* source.c (openp): Likewise.
      	(print_source_lines_base): Likewise.
      	(forward_search_command): Likewise.
      	* sparc-ravenscar-thread.c (supply_register_at_address): Likewise.
      	* spu-tdep.c (spu2ppu_prev_register): Likewise.
      	(spu_get_overlay_table): Likewise.
      	* stabsread.c (patch_block_stabs): Likewise.
      	(define_symbol): Likewise.
      	(again:): Likewise.
      	(read_member_functions): Likewise.
      	(read_one_struct_field): Likewise.
      	(read_enum_type): Likewise.
      	(common_block_start): Likewise.
      	* stack.c (read_frame_arg): Likewise.
      	(backtrace_command): Likewise.
      	* stap-probe.c (stap_parse_register_operand): Likewise.
      	* symfile.c (syms_from_objfile_1): Likewise.
      	(find_separate_debug_file): Likewise.
      	(load_command): Likewise.
      	(load_progress): Likewise.
      	(load_section_callback): Likewise.
      	(reread_symbols): Likewise.
      	(add_filename_language): Likewise.
      	(allocate_compunit_symtab): Likewise.
      	(read_target_long_array): Likewise.
      	(simple_read_overlay_table): Likewise.
      	* symtab.c (symbol_set_names): Likewise.
      	(resize_symbol_cache): Likewise.
      	(rbreak_command): Likewise.
      	(completion_list_add_name): Likewise.
      	(completion_list_objc_symbol): Likewise.
      	(add_filename_to_list): Likewise.
      	* target-descriptions.c (maint_print_c_tdesc_cmd): Likewise.
      	* target-memory.c (target_write_memory_blocks): Likewise.
      	* target.c (target_read_string): Likewise.
      	(read_whatever_is_readable): Likewise.
      	(target_read_alloc_1): Likewise.
      	(simple_search_memory): Likewise.
      	(target_fileio_read_alloc_1): Likewise.
      	* tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
      	* top.c (command_line_input): Likewise.
      	* tracefile-tfile.c (tfile_fetch_registers): Likewise.
      	* tracefile.c (tracefile_fetch_registers): Likewise.
      	* tracepoint.c (add_memrange): Likewise.
      	(init_collection_list): Likewise.
      	(add_aexpr): Likewise.
      	(trace_dump_actions): Likewise.
      	(parse_trace_status): Likewise.
      	(parse_tracepoint_definition): Likewise.
      	(parse_tsv_definition): Likewise.
      	(parse_static_tracepoint_marker_definition): Likewise.
      	* tui/tui-file.c (tui_sfileopen): Likewise.
      	(tui_file_adjust_strbuf): Likewise.
      	* tui/tui-io.c (tui_expand_tabs): Likewise.
      	* tui/tui-source.c (tui_set_source_content): Likewise.
      	* typeprint.c (find_global_typedef): Likewise.
      	* ui-file.c (do_ui_file_xstrdup): Likewise.
      	(ui_file_obsavestring): Likewise.
      	(mem_file_write): Likewise.
      	* utils.c (make_hex_string): Likewise.
      	(get_regcomp_error): Likewise.
      	(puts_filtered_tabular): Likewise.
      	(gdb_realpath_keepfile): Likewise.
      	(ldirname): Likewise.
      	(gdb_bfd_errmsg): Likewise.
      	(substitute_path_component): Likewise.
      	* valops.c (search_struct_method): Likewise.
      	(find_oload_champ_namespace_loop): Likewise.
      	* valprint.c (print_decimal_chars): Likewise.
      	(read_string): Likewise.
      	(generic_emit_char): Likewise.
      	* varobj.c (varobj_delete): Likewise.
      	(varobj_value_get_print_value): Likewise.
      	* vaxobsd-tdep.c (vaxobsd_sigtramp_sniffer): Likewise.
      	* windows-tdep.c (display_one_tib): Likewise.
      	* xcoffread.c (read_xcoff_symtab): Likewise.
      	(process_xcoff_symbol): Likewise.
      	(swap_sym): Likewise.
      	(scan_xcoff_symtab): Likewise.
      	(xcoff_initial_scan): Likewise.
      	* xml-support.c (gdb_xml_end_element): Likewise.
      	(xml_process_xincludes): Likewise.
      	(xml_fetch_content_from_file): Likewise.
      	* xml-syscall.c (xml_list_of_syscalls): Likewise.
      	* xstormy16-tdep.c (xstormy16_push_dummy_call): Likewise.
      
      gdb/gdbserver/ChangeLog:
      
      	* ax.c (gdb_parse_agent_expr): Add cast to allocation result
      	assignment.
      	(gdb_unparse_agent_expr): Likewise.
      	* hostio.c (require_data): Likewise.
      	(handle_pread): Likewise.
      	* linux-low.c (disable_regset): Likewise.
      	(fetch_register): Likewise.
      	(store_register): Likewise.
      	(get_dynamic): Likewise.
      	(linux_qxfer_libraries_svr4): Likewise.
      	* mem-break.c (delete_fast_tracepoint_jump): Likewise.
      	(set_fast_tracepoint_jump): Likewise.
      	(uninsert_fast_tracepoint_jumps_at): Likewise.
      	(reinsert_fast_tracepoint_jumps_at): Likewise.
      	(validate_inserted_breakpoint): Likewise.
      	(clone_agent_expr): Likewise.
      	* regcache.c (init_register_cache): Likewise.
      	* remote-utils.c (putpkt_binary_1): Likewise.
      	(decode_M_packet): Likewise.
      	(decode_X_packet): Likewise.
      	(look_up_one_symbol): Likewise.
      	(relocate_instruction): Likewise.
      	(monitor_output): Likewise.
      	* server.c (handle_search_memory): Likewise.
      	(handle_qxfer_exec_file): Likewise.
      	(handle_qxfer_libraries): Likewise.
      	(handle_qxfer): Likewise.
      	(handle_query): Likewise.
      	(handle_v_cont): Likewise.
      	(handle_v_run): Likewise.
      	(captured_main): Likewise.
      	* target.c (write_inferior_memory): Likewise.
      	* thread-db.c (try_thread_db_load_from_dir): Likewise.
      	* tracepoint.c (init_trace_buffer): Likewise.
      	(add_tracepoint_action): Likewise.
      	(add_traceframe): Likewise.
      	(add_traceframe_block): Likewise.
      	(cmd_qtdpsrc): Likewise.
      	(cmd_qtdv): Likewise.
      	(cmd_qtstatus): Likewise.
      	(response_source): Likewise.
      	(response_tsv): Likewise.
      	(cmd_qtnotes): Likewise.
      	(gdb_collect): Likewise.
      	(initialize_tracepoint): Likewise.
      224c3ddb