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 3 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
      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
  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. 28 Dec, 2018 1 commit
    • Tom Tromey's avatar
      Fix a crash in jit.c · 2cd8cc0b
      Tom Tromey authored
      A user at Mozilla pointed out a crash in jit.c.  In his situation, an
      inferior using the JIT API exec'd an executable that did not use it.
      This caused an assertion failure when jit.c:free_objfile_data called
      delete_breakpoint with NULL.
      
      This patch fixes the problem in the obvious way.  New test case
      included.
      
      gdb/ChangeLog
      2018-12-28  Tom Tromey  <tom@tromey.com>
      
      	* jit.c (free_objfile_data): Only delete breakpoint if non-null.
      
      gdb/testsuite/ChangeLog
      2018-12-28  Tom Tromey  <tom@tromey.com>
      	    Simon Marchi <simark@simark.ca>
      
      	* gdb.base/jit-exec.exp: New file.
      	* gdb.base/jit-exec.c: New file.
      	* gdb.base/jit-execd.c: New file.
      2cd8cc0b
  5. 29 May, 2018 1 commit
    • Weimin Pan's avatar
      Removing lookup_minimal_symbol_and_objfile · 64cc34d8
      Weimin Pan authored
      Function lookup_minimal_symbol_and_objfile iterates on all objfiles and
      calls lookup_minimal_symbol for each of them, effectively searching in all
      objfiles.  lookup_bound_minimal_symbol calls lookup_minimal_symbol with NULL,
      which also effectively searches all objfiles.  AFAIK, they do exactly the same
      thing, so we can get rid of one (and lookup_minimal_symbol_and_objfile happens
      to be the most inefficient because it ends up n^2 on the number of objfiles).
      
      Tested in both aarch64-linux-gnu and amd64-linux-gnu. No regressions.
      64cc34d8
  6. 30 Apr, 2018 1 commit
    • Tom Tromey's avatar
      Remove long_long_align_bit gdbarch attribute · e11fb955
      Tom Tromey authored
      This removes the long_long_align_bit gdbarch attribute in favor of
      type_align.  This uncovered two possible issues.
      
      First, arc-tdep.c claimed that long long alignment was 32 bits, but as
      discussed on the list, ARC has a maximum alignment of 32 bits, so I've
      added an arc_type_align function to account for this.
      
      Second, jit.c, the sole user of long_long_align_bit, was confusing
      "long long" with uint64_t.  The relevant structure is defined in the
      JIT API part of the manual as:
      
           struct jit_code_entry
           {
             struct jit_code_entry *next_entry;
             struct jit_code_entry *prev_entry;
             const char *symfile_addr;
             uint64_t symfile_size;
           };
      
      I've changed this code to use uint64_t.
      
      2018-04-30  Tom Tromey  <tom@tromey.com>
      
      	* jit.c (jit_read_code_entry): Use type_align.
      	* i386-tdep.c (i386_gdbarch_init): Don't call
      	set_gdbarch_long_long_align_bit.
      	* gdbarch.sh: Remove long_long_align_bit.
      	* gdbarch.c, gdbarch.h: Rebuild.
      	* arc-tdep.c (arc_type_align): New function.
      	(arc_gdbarch_init): Use arc_type_align.  Don't call
      	set_gdbarch_long_long_align_bit.
      e11fb955
  7. 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
  8. 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
  9. 21 Feb, 2018 1 commit
    • Yao Qi's avatar
      Class detached_regcache · c8ec2f33
      Yao Qi authored
      jit.c uses the regcache in a slightly different way, the regcache dosen't
      write through to target, but it has read and write methods.  If I apply
      regcache in record-full.c, it has the similar use pattern.  This patch
      adds a new class detached_regcache, a register buffer, but can be
      read and written.
      
      Since jit.c doesn't want to write registers through to target, it uses
      regcache as a readonly regcache (because only readonly regcache
      disconnects from the target), but it adds a hole in regcache
      (raw_set_cached_value) in order to modify a readonly regcache.  This patch
      fixes this hole completely.
      
      regcache inherits detached_regcache, and detached_regcache inherits
      readable_regcache.  The ideal design is that both detached_regcache and
      readable_regcache inherit reg_buffer, and regcache inherit
      detached_regcache and regcache_read (virtual inheritance).  I concern
      about the performance overhead of virtual inheritance, so I don't do it in
      the patch.
      
      gdb:
      
      2018-02-21  Yao Qi  <yao.qi@linaro.org>
      
      	* jit.c (struct jit_unwind_private) <regcache>: Change its type to
      	 reg_buffer_rw *.
      	(jit_unwind_reg_set_impl): Call raw_supply.
      	(jit_frame_sniffer): Use reg_buffer_rw.
      	* record-full.c (record_full_core_regbuf): Change its type.
      	(record_full_core_open_1): Use reg_buffer_rw.
      	(record_full_close): Likewise.
      	(record_full_core_fetch_registers): Use regcache->raw_supply.
      	(record_full_core_store_registers): Likewise.
      	* regcache.c (regcache::get_register_status): Move it to
      	reg_buffer.
      	(regcache_raw_set_cached_value): Remove.
      	(regcache::raw_set_cached_value): Remove.
      	(regcache::raw_write): Call raw_supply.
      	(regcache::raw_supply): Move it to reg_buffer_rw.
      	* regcache.h (regcache_raw_set_cached_value): Remove.
      	(reg_buffer_rw): New class.
      c8ec2f33
  10. 22 Jan, 2018 1 commit
    • Yao Qi's avatar
      Don't call gdbarch_pseudo_register_read_value in jit.c · 3f5a868b
      Yao Qi authored
      gdbarch_pseudo_register_read_value is not implemented in every gdbarch, so
      the predicate gdbarch_pseudo_register_read_value_p is needed before
      calling it.  However, there is no such guard in jit_frame_prev_register, I
      am wondering how does jit work on the arch without having gdbarch method
      pseudo_register_read_value.
      
      The proper way to get register value is to call cooked_read, and then
      create the value object from the buffer.
      
      gdb:
      
      2018-01-22  Yao Qi  <yao.qi@linaro.org>
      
      	* jit.c (jit_frame_prev_register): Call regcache::cooked_read
      	instead of gdbarch_pseudo_register_read_value.
      3f5a868b
  11. 02 Jan, 2018 1 commit
  12. 08 Nov, 2017 1 commit
    • Pedro Alves's avatar
      Per-language symbol name hashing algorithm · 5ffa0793
      Pedro Alves authored
      Currently, we have a mess of symbol name hashing/comparison routines.
      There's msymbol_hash for mangled names, and dict_hash and
      msymbol_hash_iw for demangled names.  Then there's strcmp_iw,
      strcmp_iw_ordered and Ada's full_match/wild_match, which all have to
      agree with the hashing routines.  That's why dict_hash is really about
      Ada names.  From the inconsistency department, minimal symbol hashing
      doesn't go via dict_hash, so Ada's wild matching can't ever work with
      minimal symbols.
      
      This patch starts fixing this, by doing two things:
      
      #1 - adds a language vector method to let each language decide how to
           compute a symbol name hash.
      
      #2 - makes dictionaries know the language of the symbols they hold,
           and then use the dictionaries language to decide which hashing
           method to use.
      
      For now, this is just scaffolding, since all languages install the
      default method.  The series will make C++ install its own hashing
      method later on, and will add per-language symbol name comparison
      routines too.
      
      This patch was originally based on a patch that Keith wrote for the
      libcc1/C++ WIP support.
      
      gdb/ChangeLog:
      2017-11-08  Keith Seitz  <keiths@redhat.com>
      	    Pedro Alves  <palves@redhat.com>
      
      	* ada-lang.c (ada_language_defn): Install
      	default_search_name_hash.
      	* buildsym.c (struct buildsym_compunit): <language>: New field.
      	(finish_block_internal): Pass language when creating dictionaries.
      	(start_buildsym_compunit, start_symtab): New language parameters.
      	Use them.
      	(restart_symtab): Pass down compilation unit's language.
      	* buildsym.h (enum language): Forward declare.
      	(start_symtab): New 'language' parameter.
      	* c-lang.c (c_language_defn, cplus_language_defn)
      	(asm_language_defn, minimal_language_defn): Install
      	default_search_name_hash.
      	* coffread.c (coff_start_symtab): Adjust.
      	* d-lang.c (d_language_defn): Install default_search_name_hash.
      	* dbxread.c (struct symloc): Add 'pst_language' field.
      	(PST_LANGUAGE): Define.
      	(start_psymtab, read_ofile_symtab): Use it.
      	(process_one_symbol): New 'language' parameter.  Pass it down.
      	* dictionary.c (struct dictionary) <language>: New field.
      	(DICT_LANGUAGE): Define.
      	(dict_create_hashed, dict_create_hashed_expandable)
      	(dict_create_linear, dict_create_linear_expandable): New parameter
      	'language'.  Set the dictionary's language.
      	(iter_match_first_hashed): Adjust to rename.
      	(insert_symbol_hashed): Assert we don't see mismatching
      	languages.  Adjust to rename.
      	(dict_hash): Rename to ...
      	(default_search_name_hash): ... this and make extern.
      	* dictionary.h (struct language_defn): Forward declare.
      	(dict_create_hashed): New parameter 'language'.
      	* dwarf2read.c (dwarf2_start_symtab): Pass down language.
      	* f-lang.c (f_language_defn): Install default_search_name_hash.
      	* go-lang.c (go_language_defn): Install default_search_name_hash.
      	* jit.c (finalize_symtab): Pass compunit's language to dictionary
      	creation.
      	* language.c (unknown_language_defn, auto_language_defn):
      	* language.h (language_defn::la_search_name_hash): New field.
      	(default_search_name_hash): Declare.
      	* m2-lang.c (m2_language_defn): Install default_search_name_hash.
      	* mdebugread.c (new_block): New parameter 'language'.
      	* mdebugread.c (parse_symbol): Pass symbol language to block
      	allocation.
      	(psymtab_to_symtab_1): Pass down language.
      	(new_symtab): Pass compunit's language to block allocation.
      	* objc-lang.c (objc_language_defn): Install
      	default_search_name_hash.
      	* opencl-lang.c (opencl_language_defn):
      	* p-lang.c (pascal_language_defn): Install
      	default_search_name_hash.
      	* rust-lang.c (rust_language_defn): Install
      	default_search_name_hash.
      	* stabsread.h (enum language): Forward declare.
      	(process_one_symbol): Add 'language' parameter.
      	* symtab.c (search_name_hash): New function.
      	* symtab.h (search_name_hash): Declare.
      	* xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
      5ffa0793
  13. 07 Nov, 2017 1 commit
    • Tom Tromey's avatar
      Constify add_com · 0b39b52e
      Tom Tromey authored
      This changes add_com to take a cmd_const_cfunc_ftype, and then fixes
      up all the command implementations.
      
      In most cases this is trivial.
      
      In a couple of places I had to again introduce a temporary non-const
      overload.  These overloads will be removed when add_info is
      constified.
      
      gdb/ChangeLog
      2017-11-07  Tom Tromey  <tom@tromey.com>
      
      	* solib.h (no_shared_libraries): Constify.
      	* frame.h (return_command): Constify.
      	* cli/cli-cmds.h (quit_command): Constify.
      	* top.h (quit_command, execute_command): Constify.
      	* target.h (flash_erase_command): Constify.
      	* inferior.h (set_inferior_args, attach_command): Constify.
      	* tracepoint.h (start_tracing, stop_tracing): Constify.
      	* breakpoint.h (break_command, tbreak_command)
      	(hbreak_command_wrapper, thbreak_command_wrapper)
      	(rbreak_command_wrapper, watch_command_wrapper)
      	(awatch_command_wrapper, rwatch_command_wrapper)
      	(get_tracepoint_by_number): Constify.
      	* symtab.c (info_variables_command, rbreak_command)
      	(symtab_symbol_info): Constify.
      	(info_variables_command): Add non-const overload.
      	* top.c (dont_repeat_command): Constify.
      	* breakpoint.c (ignore_command, commands_command)
      	(condition_command, tbreak_command, hbreak_command)
      	(thbreak_command, clear_command, break_command)
      	(info_breakpoints_command, watch_command, rwatch_command)
      	(awatch_command, trace_command, ftrace_command, strace_command)
      	(trace_pass_command, break_range_command, dprintf_command)
      	(agent_printf_command, get_tracepoint_by_number)
      	(watch_maybe_just_location, trace_pass_command): Constify.
      	(info_breakpoints_command): Add non-const overload.
      	* tracefile.c (tsave_command): Constify.
      	* infcmd.c (attach_command, disconnect_command, signal_command)
      	(queue_signal_command, stepi_command, nexti_command)
      	(finish_command, next_command, step_command, until_command)
      	(advance_command, jump_command, continue_command, run_command)
      	(start_command, starti_command, interrupt_command)
      	(run_command_1, set_inferior_args, step_1): Constify.
      	* inferior.c (add_inferior_command, remove_inferior_command)
      	(clone_inferior_command): Constify.
      	* linux-fork.c (checkpoint_command, restart_command): Constify.
      	* windows-nat.c (signal_event_command): Constify.
      	* guile/guile.c (guile_repl_command, guile_command): Constify.
      	* printcmd.c (x_command, display_command, printf_command)
      	(output_command, set_command, call_command, print_command)
      	(eval_command): Constify.
      	(non_const_set_command): Remove.
      	(_initialize_printcmd): Update.
      	* source.c (forward_search_command, reverse_search_command):
      	Constify.
      	* jit.c (jit_reader_load_command, jit_reader_unload_command):
      	Constify.
      	* infrun.c (handle_command): Constify.
      	* memattr.c (mem_command): Constify.
      	* stack.c (return_command, up_command, up_silently_command)
      	(down_command, down_silently_command, frame_command)
      	(backtrace_command, func_command, backtrace_command_1): Constify.
      	(backtrace_command): Add non-const overload.
      	* remote-sim.c (simulator_command): Constify.
      	* exec.c (set_section_command): Constify.
      	* tracepoint.c (tdump_command, trace_variable_command)
      	(tstatus_command, tstop_command, tstart_command)
      	(end_actions_pseudocommand, while_stepping_pseudocommand)
      	(collect_pseudocommand, teval_pseudocommand, actions_command)
      	(start_tracing, stop_tracing): Constify.
      	* value.c (init_if_undefined_command): Constify.
      	* tui/tui-stack.c (tui_update_command): Constify.
      	* tui/tui-win.c (tui_refresh_all_command)
      	(tui_set_tab_width_command, tui_set_win_height_command)
      	(tui_set_focus_command, tui_scroll_forward_command)
      	(tui_scroll_backward_command, tui_scroll_left_command)
      	(tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
      	(tui_set_win_height): Constify.
      	* tui/tui-layout.c (tui_layout_command): Constify.
      	* procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
      	(proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
      	(proc_untrace_sysexit_cmd): Constify.
      	* remote.c (threadlist_test_cmd, threadinfo_test_cmd)
      	(threadset_test_cmd, threadlist_update_test_cmd)
      	(threadalive_test): Constify.
      	* objc-lang.c (print_object_command): Constify.
      	* command.h (add_com): Constify.
      	* cli/cli-dump.c (restore_command): Constify.
      	* cli/cli-cmds.c (pwd_command, echo_command, quit_command)
      	(help_command, complete_command, shell_command, edit_command)
      	(list_command, disassemble_command, make_command)
      	(apropos_command, alias_command): Constify.
      	* cli/cli-script.c (document_command, define_command)
      	(while_command, if_command, validate_comname): Constify.
      	* cli/cli-decode.c (struct cmd_list_element): Change type of
      	"fun".
      	* target.c (do_monitor_command, flash_erase_command): Constify.
      	* regcache.c (reg_flush_command): Constify.
      	* reverse.c (reverse_step, reverse_next, reverse_stepi)
      	(reverse_nexti, reverse_continue, reverse_finish)
      	(save_bookmark_command, goto_bookmark_command)
      	(exec_reverse_once): Constify.
      	* python/python.c (python_interactive_command, python_command):
      	Constify.
      	* typeprint.c (ptype_command, whatis_command, whatis_exp):
      	Constify.
      	* solib.c (sharedlibrary_command, no_shared_libraries): Constify.
      	* gcore.c (gcore_command): Constify.
      0b39b52e
  14. 02 Nov, 2017 2 commits
    • Yao Qi's avatar
      Construct readonly regcache without address space · f26ae15b
      Yao Qi authored
      The address space is useless to readonly regcache, so this patch removes
      the parameter to construct readonly regcache.
      
      address_space was added in regcache by 6c95b8df, but for read-write
      regcache.  regcache::aspace is used for various breakpoint/watchpoint
      checking, and these regcache are not read-only regcache.
      
      gdb:
      
      2017-11-02  Yao Qi  <yao.qi@linaro.org>
      
      	* frame.c (do_frame_register_read): Remove aspace.
      	* jit.c (jit_frame_sniffer): Likwise.
      	* ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
      	* regcache.c (regcache::regcache): Pass nullptr.
      	(regcache_print): Caller updated.
      	* regcache.h (regcache::regcache): Remove one constructor
      	parameter aspace.
      f26ae15b
    • Yao Qi's avatar
      const-fy regcache::m_aspace · 8b86c959
      Yao Qi authored
      regcache::m_aspace is a const, never changed during the lifetime of
      regcache object.  The address_space object is a const object too.
      
      gdb:
      
      2017-11-02  Yao Qi  <yao.qi@linaro.org>
      
      	* breakpoint.c (insert_single_step_breakpoints): Update.
      	* frame.c (struct frame_info) <aspace>: Add const.
      	(frame_save_as_regcache): Add const.
      	(get_frame_address_space): Return const address_space *.
      	* frame.h (get_frame_address_space): Update declaration.
      	* infrun.c (struct step_over_info) <aspace>: Add const.
      	(set_step_over_info): Make aspace const.
      	(displaced_step_prepare_throw): Change variable const.
      	(resume): Likewise.
      	(proceed): Likewise.
      	(adjust_pc_after_break): Likewise.
      	(save_waitstatus): Likewise.
      	(handle_signal_stop): Likewise.
      	(keep_going_pass_signal): Likewise.
      	* jit.c (jit_frame_sniffer): Add const.
      	* mips-tdep.c (mips_single_step_through_delay): Likewise.
      	* ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
      	* record-full.c (record_full_wait_1): Likewise.
      	* regcache.c (regcache::regcache): Change parameter to const.
      	* regcache.h (regcache::regcache): Likewise.
      	(regcache::aspace): Return const address_space *.
      	(regcache) <m_aspace>: Add const.
      8b86c959
  15. 25 Oct, 2017 1 commit
    • Yao Qi's avatar
      s/get_regcache_arch (regcache)/regcache->arch ()/g · ac7936df
      Yao Qi authored
      This patches removes get_regcache_arch, and use regache->arch () instead.
      The motivation of this change is that I am going to move some basic stuff
      into a base class of regcache.  I don't need to update "client" code
      regcache->arch ().  On the other hand, this patch shortens the code a
      little bit.
      
      gdb:
      
      2017-10-25  Yao Qi  <yao.qi@linaro.org>
      
      	* aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
      	regcache->arch () instead get_regcache_arch.
      	* aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
      	Likewise.
      	(aarch64_fbsd_store_inferior_registers): Likewise.
      	* aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
      	(store_gregs_to_thread): Likewise.
      	(fetch_fpregs_from_thread): Likewise.
      	(store_fpregs_to_thread): Likewise.
      	* aarch64-tdep.c (aarch64_extract_return_value): Likewise.
      	(aarch64_store_return_value): Likewise.
      	(aarch64_software_single_step): Likewise.
      	* aix-thread.c (aix_thread_wait): Likewise.
      	(supply_reg32): Likewise.
      	(supply_sprs64): Likewise.
      	(supply_sprs32): Likewise.
      	(fill_gprs64): Likewise.
      	(fill_gprs32): Likewise.
      	(fill_sprs64): Likewise.
      	(fill_sprs32): Likewise.
      	(store_regs_user_thread): Likewise.
      	(store_regs_kernel_thread): Likewise.
      	* alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
      	(alphabsd_store_inferior_registers): Likewise.
      	* alpha-tdep.c (alpha_extract_return_value): Likewise.
      	(alpha_store_return_value): Likewise.
      	(alpha_deal_with_atomic_sequence): Likewise.
      	(alpha_next_pc): Likewise.
      	(alpha_software_single_step): Likewise.
      	* amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
      	(amd64bsd_store_inferior_registers): Likewise.
      	* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
      	Likewise.
      	(amd64_linux_store_inferior_registers): Likewise.
      	* amd64-nat.c (amd64_supply_native_gregset): Likewise.
      	(amd64_collect_native_gregset): Likewise.
      	* amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
      	(amd64obsd_collect_uthread): Likewise.
      	* amd64-tdep.c (amd64_supply_fpregset): Likewise.
      	(amd64_collect_fpregset): Likewise.
      	(amd64_supply_fxsave): Likewise.
      	(amd64_supply_xsave): Likewise.
      	(amd64_collect_fxsave): Likewise.
      	(amd64_collect_xsave): Likewise.
      	* arc-tdep.c (arc_write_pc): Likewise.
      	* arch-utils.c (default_skip_permanent_breakpoint): Likewise.
      	* arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
      	(arm_fbsd_store_inferior_registers): Likewise.
      	* arm-linux-nat.c (fetch_vfp_regs): Likewise.
      	(store_vfp_regs): Likewise.
      	(arm_linux_fetch_inferior_registers): Likewise.
      	(arm_linux_store_inferior_registers): Likewise.
      	* arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
      	(arm_linux_sigreturn_next_pc): Likewise.
      	(arm_linux_get_next_pcs_syscall_next_pc): Likewise.
      	* arm-nbsd-nat.c (arm_supply_gregset): Likewise.
      	(fetch_register): Likewise.
      	(store_register): Likewise.
      	* arm-tdep.c (arm_is_thumb): Likewise.
      	(displaced_in_arm_mode): Likewise.
      	(bx_write_pc): Likewise.
      	(arm_get_next_pcs_addr_bits_remove): Likewise.
      	(arm_software_single_step): Likewise.
      	(arm_extract_return_value): Likewise.
      	(arm_store_return_value): Likewise.
      	(arm_write_pc): Likewise.
      	* bfin-tdep.c (bfin_extract_return_value): Likewise.
      	* bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
      	(bsd_uthread_store_registers): Likewise.
      	* core-regset.c (fetch_core_registers): Likewise.
      	* corelow.c (get_core_registers): Likewise.
      	* cris-tdep.c (cris_store_return_value): Likewise.
      	(cris_extract_return_value): Likewise.
      	(find_step_target): Likewise.
      	(find_step_target): Likewise.
      	(cris_software_single_step): Likewise.
      	* ctf.c (ctf_fetch_registers): Likewise.
      	* darwin-nat.c (cancel_breakpoint): Likewise.
      	* fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
      	* frv-tdep.c (frv_extract_return_value): Likewise.
      	* ft32-tdep.c (ft32_store_return_value): Likewise.
      	(ft32_extract_return_value): Likewise.
      	* go32-nat.c (fetch_register): Likewise.
      	(go32_fetch_registers): Likewise.
      	(go32_store_registers): Likewise.
      	(store_register): Likewise.
      	* h8300-tdep.c (h8300_extract_return_value): Likewise.
      	(h8300_store_return_value): Likewise.
      	* hppa-linux-nat.c (fetch_register): Likewise.
      	(store_register): Likewise.
      	(hppa_linux_fetch_inferior_registers): Likewise.
      	(hppa_linux_store_inferior_registers): Likewise.
      	* i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
      	(i386_darwin_store_inferior_registers): Likewise.
      	* i386-gnu-nat.c (gnu_fetch_registers): Likewise.
      	(gnu_store_registers): Likewise.
      	* i386-linux-nat.c (fetch_register): Likewise.
      	(store_register): Likewise.
      	(supply_gregset): Likewise.
      	(fill_gregset): Likewise.
      	(i386_linux_fetch_inferior_registers): Likewise.
      	(i386_linux_store_inferior_registers): Likewise.
      	(i386_linux_resume): Likewise.
      	* i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
      	Likewise.
      	* i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
      	* i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
      	* i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
      	(i386obsd_collect_uthread): Likewise.
      	* i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
      	(i386_supply_gregset): Likewise.
      	(i386_collect_gregset): Likewise.
      	(i386_supply_fpregset): Likewise.
      	(i386_collect_fpregset): Likewise.
      	(i386_mpx_bd_base): Likewise.
      	* i386-v4-nat.c	(supply_fpregset): Likewise.
      	(fill_fpregset): Likewise.
      	* i387-tdep.c (i387_supply_fsave): Likewise.
      	(i387_collect_fsave): Likewise.
      	(i387_supply_fxsave): Likewise.
      	(i387_collect_fxsave): Likewise.
      	(i387_supply_xsave): Likewise.
      	(i387_collect_xsave): Likewise.
      	* ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
      	(ia64_linux_store_registers): Likewise.
      	* ia64-tdep.c (ia64_access_rse_reg): Likewise.
      	(ia64_extract_return_value): Likewise.
      	(ia64_store_return_value): Likewise.
      	(find_func_descr): Likewise.
      	* inf-child.c (inf_child_fetch_inferior_registers): Likewise.
      	* inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
      	(inf_ptrace_store_registers): Likewise.
      	* infrun.c (use_displaced_stepping): Likewise.
      	(displaced_step_prepare_throw): Likewise.
      	(resume): Likewise.
      	(proceed): Likewise.
      	(do_target_wait): Likewise.
      	(adjust_pc_after_break): Likewise.
      	(handle_inferior_event_1): Likewise.
      	(handle_signal_stop): Likewise.
      	(save_infcall_suspend_state): Likewise.
      	(restore_infcall_suspend_state): Likewise.
      	* iq2000-tdep.c (iq2000_extract_return_value): Likewise.
      	* jit.c (jit_frame_prev_register): Likewise.
      	* linux-nat.c (save_stop_reason): Likewise.
      	(linux_nat_wait_1): Likewise.
      	(resume_stopped_resumed_lwps): Likewise.
      	* linux-record.c (record_linux_sockaddr): Likewise.
      	(record_linux_msghdr): Likewise.
      	(record_linux_system_call): Likewise.
      	* linux-tdep.c (linux_collect_thread_registers): Likewise.
      	* lm32-tdep.c (lm32_extract_return_value): Likewise.
      	(lm32_store_return_value): Likewise.
      	* m32c-tdep.c (m32c_read_flg): Likewise.
      	(m32c_pseudo_register_read): Likewise.
      	(m32c_pseudo_register_write): Likewise.
      	* m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
      	(m32r_linux_collect_gregset): Likewise.
      	* m32r-tdep.c (m32r_store_return_value): Likewise.
      	(m32r_extract_return_value): Likewise.
      	* m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
      	(m68kbsd_collect_fpregset): Likewise.
      	* m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
      	* m68k-linux-nat.c (fetch_register): Likewise.
      	(old_fetch_inferior_registers): Likewise.
      	(old_store_inferior_registers): Likewise.
      	(store_regs): Likewise.
      	* m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
      	(m68k_svr4_store_return_value): Likewise.
      	* m88k-tdep.c (m88k_store_arguments): Likewise.
      	* mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
      	(mi_cmd_data_write_register_values): Likewise.
      	* mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
      	(mips_fbsd_store_inferior_registers): Likewise.
      	* mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
      	(mips_fbsd_supply_gregs): Likewise.
      	(mips_fbsd_collect_fpregs): Likewise.
      	(mips_fbsd_collect_gregs): Likewise.
      	(mips_fbsd_supply_fpregset): Likewise.
      	(mips_fbsd_collect_fpregset): Likewise.
      	(mips_fbsd_supply_gregset): Likewise.
      	(mips_fbsd_collect_gregset): Likewise.
      	* mips-linux-nat.c (supply_gregset): Likewise.
      	(fill_gregset): Likewise.
      	(supply_fpregset): Likewise.
      	(fill_fpregset): Likewise.
      	* mips-linux-tdep.c (mips_supply_gregset): Likewise.
      	(mips_fill_gregset): Likewise.
      	(mips_supply_fpregset): Likewise.
      	(mips_fill_fpregset): Likewise.
      	(mips64_supply_gregset): Likewise.
      	(micromips_linux_sigframe_validate): Likewise.
      	* mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
      	(mipsnbsd_fetch_inferior_registers): Likewise.
      	(mipsnbsd_store_inferior_registers): Likewise.
      	* mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
      	(mipsnbsd_supply_gregset): Likewise.
      	(mipsnbsd_iterate_over_regset_sections): Likewise.
      	(mipsnbsd_supply_reg): Likewise.
      	(mipsnbsd_supply_fpreg): Likewise.
      	* mips-tdep.c (mips_in_frame_stub): Likewise.
      	(mips_dummy_id): Likewise.
      	(is_octeon_bbit_op): Likewise.
      	(micromips_bc1_pc): Likewise.
      	(extended_mips16_next_pc): Likewise.
      	(mips16_next_pc): Likewise.
      	(deal_with_atomic_sequence): Likewise.
      	* moxie-tdep.c (moxie_process_readu): Likewise.
      	* nios2-tdep.c (nios2_get_next_pc): Likewise.
      	* nto-procfs.c (procfs_store_registers): Likewise.
      	* ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
      	(ppcfbsd_store_inferior_registers): Likewise.
      	* ppc-linux-nat.c (fetch_vsx_register): Likewise.
      	(fetch_altivec_register): Likewise.
      	(get_spe_registers): Likewise.
      	(fetch_spe_register): Likewise.
      	(fetch_altivec_registers): Likewise.
      	(fetch_all_gp_regs): Likewise.
      	(fetch_all_fp_regs): Likewise.
      	(store_vsx_register): Likewise.
      	(store_altivec_register): Likewise.
      	(set_spe_registers): Likewise.
      	(store_spe_register): Likewise.
      	(store_altivec_registers): Likewise.
      	(store_all_gp_regs): Likewise.
      	(store_all_fp_regs): Likewise.
      	* ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
      	(ppc_linux_collect_gregset): Likewise.
      	(ppc_canonicalize_syscall): Likewise.
      	(ppc_linux_record_signal): Likewise.
      	(ppu2spu_prev_register): Likewise.
      	* ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
      	* ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
      	(ppcobsd_store_registers): Likewise.
      	* ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
      	Likewise.
      	(ppc_ravenscar_generic_store_registers): Likewise.
      	* procfs.c (procfs_fetch_registers): Likewise.
      	(procfs_store_registers): Likewise.
      	* ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
      	(ravenscar_store_registers): Likewise.
      	(ravenscar_prepare_to_store): Likewise.
      	* record-btrace.c (record_btrace_fetch_registers): Likewise.
      	* record-full.c (record_full_wait_1): Likewise.
      	(record_full_registers_change): Likewise.
      	(record_full_store_registers): Likewise.
      	(record_full_core_fetch_registers): Likewise.
      	(record_full_save): Likewise.
      	(record_full_goto_insn): Likewise.
      	* regcache.c (regcache_register_size): Likewise.
      	(get_regcache_arch): Remove.
      	(regcache_read_pc): Likewise.
      	* regcache.h (get_regcache_arch): Remove.
      	* remote-sim.c (gdbsim_fetch_register): Likewise.
      	(gdbsim_store_register): Likewise.
      	* remote.c (fetch_register_using_p): Likewise.
      	(send_g_packet): Likewise.
      	(remote_prepare_to_store): Likewise.
      	(store_registers_using_G): Likewise.
      	* reverse.c (save_bookmark_command): Likewise.
      	(goto_bookmark_command): Likewise.
      	* rs6000-aix-tdep.c (branch_dest): Likewise.
      	* rs6000-nat.c (rs6000_ptrace64): Likewise.
      	(fetch_register): Likewise.
      	* rs6000-tdep.c (ppc_supply_reg): Likewise.
      	(ppc_collect_reg): Likewise.
      	(ppc_collect_gregset): Likewise.
      	(ppc_collect_fpregset): Likewise.
      	(ppc_collect_vsxregset): Likewise.
      	(ppc_collect_vrregset): Likewise.
      	(ppc_displaced_step_hw_singlestep): Likewise.
      	(rs6000_pseudo_register_read): Likewise.
      	(rs6000_pseudo_register_write): Likewise.
      	* s390-linux-nat.c (supply_gregset): Likewise.
      	(fill_gregset): Likewise.
      	(s390_linux_fetch_inferior_registers): Likewise.
      	* s390-linux-tdep.c (s390_write_pc): Likewise.
      	(s390_software_single_step): Likewise.
      	(s390_all_but_pc_registers_record): Likewise.
      	(s390_linux_syscall_record): Likewise.
      	* sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
      	* sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
      	(shnbsd_store_inferior_registers): Likewise.
      	* sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
      	(sh_extract_return_value_fpu): Likewise.
      	(sh_store_return_value_nofpu): Likewise.
      	(sh_corefile_supply_regset): Likewise.
      	(sh_corefile_collect_regset): Likewise.
      	* sh64-tdep.c (sh64_extract_return_value): Likewise.
      	(sh64_store_return_value): Likewise.
      	* sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
      	* sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
      	(sparc_store_inferior_registers): Likewise.
      	* sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
      	(sparc_ravenscar_prepare_to_store): Likewise.
      	* sparc-tdep.c (sparc32_store_arguments): Likewise.
      	(sparc_analyze_control_transfer): Likewise.
      	(sparc_step_trap): Likewise.
      	(sparc_software_single_step): Likewise.
      	(sparc32_gdbarch_init): Likewise.
      	(sparc_supply_rwindow): Likewise.
      	(sparc_collect_rwindow): Likewise.
      	* sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
      	* sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
      	(sparc64nbsd_collect_gregset): Likewise.
      	(sparc64nbsd_supply_fpregset): Likewise.
      	(sparc64nbsd_collect_fpregset): Likewise.
      	* sparc64-tdep.c (sparc64_store_arguments): Likewise.
      	(sparc64_supply_gregset): Likewise.
      	(sparc64_collect_gregset): Likewise.
      	(sparc64_supply_fpregset): Likewise.
      	(sparc64_collect_fpregset): Likewise.
      	* spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
      	* spu-tdep.c (spu_unwind_sp): Likewise.
      	(spu2ppu_prev_register): Likewise.
      	(spu_memory_remove_breakpoint): Likewise.
      	* stack.c (return_command): Likewise.
      	* tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
      	* tracefile-tfile.c (tfile_fetch_registers): Likewise.
      	* tracefile.c (trace_save_ctf): Likewise.
      	* windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
      	(do_windows_store_inferior_registers): Likewise.
      	(windows_resume): Likewise.
      	* xtensa-linux-nat.c (fill_gregset): Likewise.
      	(supply_gregset_reg): Likewise.
      	* xtensa-tdep.c (xtensa_register_write_masked): Likewise.
      	(xtensa_register_read_masked): Likewise.
      	(xtensa_supply_gregset): Likewise.
      	(xtensa_extract_return_value): Likewise.
      	(xtensa_store_return_value): Likewise.
      ac7936df
  16. 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
  17. 27 Sep, 2017 1 commit
    • Ulrich Weigand's avatar
      Make init_type/arch_type take a size in bits · 77b7c781
      Ulrich Weigand authored
      This changes the interfaces to init_type and arch_type to take the
      type length in bits as input (instead of as bytes).  The routines
      assert that the length is a multiple of TARGET_CHAR_BIT.
      
      For consistency, arch_flags_type is changed likewise, so that now
      all type creation interfaces always use length in bits.
      
      All callers are updated in the straightforward manner.
      
      The assert actually found a bug in read_range_type, where the
      init_integer_type routine was called with a wrong argument (probably
      a bug introduced with the conversion to use init_integer_type).
      
      gdb/ChangeLog
      2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* gdbtypes.c (init_type): Change incoming argument from
      	length-in-bytes to length-in-bits.  Assert length is a
      	multiple of TARGET_CHAR_BITS.
      	(arch_type, arch_flags_type): Likewise.
      	(init_integer_type): Update call to init_type.
      	(init_character_type): Likewise.
      	(init_boolean_type): Likewise.
      	(init_float_type): Likewise.
      	(init_decfloat_type): Likewise.
      	(init_complex_type): Likewise.
      	(init_pointer_type): Likewise.
      	(objfile_type): Likewise.
      	(arch_integer_type): Update call to arch_type.
      	(arch_character_type): Likewise.
      	(arch_boolean_type): Likewise.
      	(arch_float_type): Likewise.
      	(arch_decfloat_type): Likewise.
      	(arch_complex_type): Likewise.
      	(arch_pointer_type): Likewise.
      	(gdbtypes_post_init): Likewise.
      
      	* dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
      	(read_base_type): Likewise.
      	* mdebugread.c (basic_type): Likewise.
      	* stabsread.c (dbx_init_float_type): Likewise.
      	(rs6000_builtin_type): Likewise.
      	(read_range_type): Likewise.  Also, fix call to init_integer_type
      	with erroneous length argument.
      
      	* ada-lang.c (ada_language_arch_info): Update call to arch_type.
      	* d-lang.c (build_d_types): Likewise.
      	* f-lang.c (build_fortran_types): Likewise.
      	* go-lang.c (build_go_types): Likewise.
      	* opencl-lang.c (build_opencl_types): Likewise.
      	* jit.c (finalize_symtab): Likewise.
      	* gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
      	(build_std_type_info_type): Likewise.
      	* target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
      	update call to arch_flags_type.
      
      	* linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
      	arch_type.
      	* fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
      	* windows-tdep.c (windows_get_tlb_type): Likewise.
      
      	* avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
      	* ft32-tdep.c (ft32_gdbarch_init): Likewise.
      	* m32c-tdep.c (make_types): Likewise.
      	* rl78-tdep.c (rl78_gdbarch_init): Likewise.
      	(rl78_psw_type): Update call to arch_flags_type.
      	* m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
      	* rx-tdep.c (rx_psw_type): Likewise.
      	(rx_fpsw_type): Likewise.
      	* sparc-tdep.c (sparc_psr_type): Likewise.
      	(sparc_fsr_type): Likewise.
      	* sparc64-tdep.c (sparc64_pstate_type): Likewise.
      	(sparc64_ccr_type): Likewise.
      	(sparc64_fsr_type): Likewise.
      	(sparc64_fprs_type): Likewise.
      77b7c781
  18. 26 Sep, 2017 2 commits
    • Tom Tromey's avatar
      Remove regcache_xfree · c0e383c6
      Tom Tromey authored
      This removes regcache_xfree in favor of plain "delete".
      
      gdb/ChangeLog
      2017-09-25  Tom Tromey  <tom@tromey.com>
      
      	* spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
      	* regcache.h (regcache_xfree): Don't declare.
      	* regcache.c (regcache_xfree): Remove.
      	(do_regcache_xfree): Use delete.
      	* ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
      	* linux-fork.c (free_fork): Use delete.
      	(fork_save_infrun_state): Likewise.
      	* jit.c (jit_dealloc_cache): Use delete.
      	* infrun.c (discard_infcall_suspend_state): Use delete.
      c0e383c6
    • Tom Tromey's avatar
      Remove regcache_xmalloc · 791199cc
      Tom Tromey authored
      This patch removes regcache_xmalloc in favor of plain "new".
      
      gdb/ChangeLog
      2017-09-25  Tom Tromey  <tom@tromey.com>
      
      	* regcache.h (regcache_xmalloc): Don't declare.
      	(regcache_raw_set_cached_value): Update comment.
      	* regcache.c (regcache_xmalloc): Remove.
      	* ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
      	* jit.c (jit_frame_sniffer): Use new.
      	* frame.c (frame_save_as_regcache): Use new.
      791199cc
  19. 19 Sep, 2017 1 commit
    • Yao Qi's avatar
      Use DISABLE_COPY_AND_ASSIGN · d6541620
      Yao Qi authored
      We have many classes that copy cotr and assignment operator are deleted,
      so this patch replaces these existing mechanical code with macro
      DISABLE_COPY_AND_ASSIGN.
      
      gdb:
      
      2017-09-19  Yao Qi  <yao.qi@linaro.org>
      
      	* annotate.h (struct annotate_arg_emitter): Use
      	DISABLE_COPY_AND_ASSIGN.
      	* common/refcounted-object.h (refcounted_object): Likewise.
      	* completer.h (struct completion_result): Likewise.
      	* dwarf2read.c (struct dwarf2_per_objfile): Likewise.
      	* filename-seen-cache.h (filename_seen_cache): Likewise.
      	* gdbcore.h (thread_section_name): Likewise.
      	* gdb_regex.h (compiled_regex): Likewise.
      	* gdbthread.h (scoped_restore_current_thread): Likewise.
      	* inferior.h (scoped_restore_current_inferior): Likewise.
      	* jit.c (jit_reader): Likewise.
      	* linespec.h (struct linespec_result): Likewise.
      	* mi/mi-parse.h (struct mi_parse): Likewise.
      	* nat/fork-inferior.c (execv_argv): Likewise.
      	* progspace.h (scoped_restore_current_program_space): Likewise.
      	* python/python-internal.h (class gdbpy_enter): Likewise.
      	* regcache.h (regcache): Likewise.
      	* target-descriptions.c (struct tdesc_reg): Likewise.
      	(struct tdesc_type): Likewise.
      	(struct tdesc_feature): Likewise.
      	* ui-out.h (ui_out_emit_type): Likewise.
      d6541620
  20. 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
  21. 03 Aug, 2017 1 commit
    • Tom Tromey's avatar
      Use unique_xmalloc_ptr in jit.c · 7c218e6c
      Tom Tromey authored
      This removes some cleanups from jit.c by using unique_xmalloc_ptr
      instead.
      
      ChangeLog
      2017-08-03  Tom Tromey  <tom@tromey.com>
      
      	* jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
      7c218e6c
  22. 12 Apr, 2017 1 commit
    • Tom Tromey's avatar
      Introduce gdb_dlhandle_up · 0e8621a0
      Tom Tromey authored
      This introduces gdb_dlhandle_up, a unique_ptr that can close a
      dlopen'd library.  All the functions working with dlopen handles are
      updated to use this new type.
      
      I did not try to build this on Windows.
      
      gdb/ChangeLog
      2017-04-12  Tom Tromey  <tom@tromey.com>
      
      	* jit.c (struct jit_reader): Declare separately.  Add constructor
      	and destructor.  Change type of "handle".
      	(loaded_jit_reader): Define separately.
      	(jit_reader_load): Update.  New "new".
      	(jit_reader_unload_command): Use "delete".
      	* gdb-dlfcn.h (struct dlclose_deleter): New.
      	(gdb_dlhandle_up): New typedef.
      	(gdb_dlopen, gdb_dlsym): Update types.
      	(gdb_dlclose): Remove.
      	* gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
      	(gdb_dlsym): Change type of "handle".
      	(make_cleanup_dlclose): Remove.
      	(dlclose_deleter::operator()): Rename from gdb_dlclose.
      	* compile/compile-c-support.c (load_libcc): Update.
      0e8621a0
  23. 11 Jan, 2017 1 commit
    • Tom Tromey's avatar
      Use class to manage BFD reference counts · 192b62ce
      Tom Tromey authored
      This introduces a new specialization of gdb::ref_ptr that can be used
      to manage BFD reference counts.  Then it changes most places in gdb to
      use this new class, rather than explicit reference-counting or
      cleanups.  This patch removes make_cleanup_bfd_unref.
      
      If you look you will see a couple of spots using "release" where a use
      of gdb_bfd_ref_ptr would be cleaner.  These will be fixed in the next
      patch.
      
      I think this patch fixes some latent bugs.  For example, it seems to
      me that previously objfpy_add_separate_debug_file leaked a BFD.
      
      I'm not 100% certain that the macho_symfile_read_all_oso change is
      correct.  The existing code here is hard for me to follow.  One goal
      of this sort of automated reference counting, though, is to make it
      more difficult to make logic errors; so hopefully the code is clear
      now.
      
      2017-01-10  Tom Tromey  <tom@tromey.com>
      
      	* windows-tdep.c (windows_xfer_shared_library): Update.
      	* windows-nat.c (windows_make_so): Update.
      	* utils.h (make_cleanup_bfd_unref): Remove.
      	* utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
      	* symfile.h (symfile_bfd_open)
      	(find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
      	* symfile.c (read_symbols, symbol_file_add)
      	(separate_debug_file_exists): Update.
      	(symfile_bfd_open): Return gdb_bfd_ref_ptr.
      	(generic_load, reread_symbols): Update.
      	* symfile-mem.c (symbol_file_add_from_memory): Update.
      	* spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
      	(spu_symbol_file_add_from_memory): Update.
      	* solist.h (struct target_so_ops) <bfd_open>: Return
      	gdb_bfd_ref_ptr.
      	(solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
      	* solib.c (solib_bfd_fopen, solib_bfd_open): Return
      	gdb_bfd_ref_ptr.
      	(solib_map_sections, reload_shared_libraries_1): Update.
      	* solib-svr4.c (enable_break): Update.
      	* solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
      	* solib-frv.c (enable_break2): Update.
      	* solib-dsbt.c (enable_break): Update.
      	* solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
      	gdb_bfd_ref_ptr.
      	(darwin_solib_get_all_image_info_addr_at_init): Update.
      	(darwin_bfd_open): Return gdb_bfd_ref_ptr.
      	* solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
      	* record-full.c (record_full_save): Update.
      	* python/py-objfile.c (objfpy_add_separate_debug_file): Update.
      	* procfs.c (insert_dbx_link_bpt_in_file): Update.
      	* minidebug.c (find_separate_debug_file_in_section): Return
      	gdb_bfd_ref_ptr.
      	* machoread.c (macho_add_oso_symfile): Change abfd to
      	gdb_bfd_ref_ptr.
      	(macho_symfile_read_all_oso): Update.
      	(macho_check_dsym): Return gdb_bfd_ref_ptr.
      	(macho_symfile_read): Update.
      	* jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
      	(jit_bfd_try_read_symtab): Update.
      	* gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
      	(gdb_bfd_openw, gdb_bfd_openr_iovec)
      	(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
      	gdb_bfd_ref_ptr.
      	(gdb_bfd_ref_policy): New struct.
      	(gdb_bfd_ref_ptr): New typedef.
      	* gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
      	(gdb_bfd_openw, gdb_bfd_openr_iovec)
      	(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
      	gdb_bfd_ref_ptr.
      	* gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
      	* gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
      	(gcore_command): Update.
      	* exec.c (exec_file_attach): Update.
      	* elfread.c (elf_symfile_read): Update.
      	* dwarf2read.c (dwarf2_get_dwz_file): Update.
      	(try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
      	(open_and_init_dwo_file): Update.
      	(open_dwp_file): Return gdb_bfd_ref_ptr.
      	(open_and_init_dwp_file): Update.
      	* corelow.c (core_open): Update.
      	* compile/compile-object-load.c (compile_object_load): Update.
      	* common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
      	* coffread.c (coff_symfile_read): Update.
      	* cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
      	gdb_bfd_ref_ptr.  Rename.
      	(dump_bfd_file, restore_command): Update.
      	* build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
      	* build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
      	(find_separate_debug_file_by_buildid): Update.
      192b62ce
  24. 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
  25. 06 Oct, 2016 1 commit
    • Pedro Alves's avatar
      Fix PR11094: JIT breakpoint is not properly recreated on reruns · 4a556533
      Pedro Alves authored
      Even though this was supposedly in the gdb 7.2 timeframe, the testcase
      in PR11094 crashes current GDB with a segfault:
      
        Program received signal SIGSEGV, Segmentation fault.
        0x00000000005ee894 in event_location_to_string (location=0x0) at
        src/gdb/location.c:412
        412       if (EL_STRING (location) == NULL)
        (top-gdb) bt
        #0  0x00000000005ee894 in event_location_to_string (location=0x0) at
        src/gdb/location.c:412
        #1  0x000000000057411a in print_breakpoint_location (b=0x18288e0, loc=0x0) at
        src/gdb/breakpoint.c:6201
        #2  0x000000000057483f in print_one_breakpoint_location (b=0x18288e0,
        loc=0x182cf10, loc_number=0, last_loc=0x7fffffffd258, allflag=1)
            at src/gdb/breakpoint.c:6473
        #3  0x00000000005751e1 in print_one_breakpoint (b=0x18288e0,
        last_loc=0x7fffffffd258, allflag=1) at
        src/gdb/breakpoint.c:6707
        #4  0x000000000057589c in breakpoint_1 (args=0x0, allflag=1, filter=0x0) at
        src/gdb/breakpoint.c:6947
        #5  0x0000000000575aa8 in maintenance_info_breakpoints (args=0x0, from_tty=0)
        at src/gdb/breakpoint.c:7026
        [...]
      
      This is GDB trying to print the location spec of the JIT event
      breakpoint, but that's an internal breakpoint without one.
      
      If I add a NULL check, then we see that the JIT breakpoint is now
      pending (because its location has shlib_disabled set):
      
        (gdb) maint info breakpoints
        Num     Type           Disp Enb Address            What
        [...]
        -8      jit events     keep y   <PENDING>           inf 1
        [...]
      
      But that's incorrect.  GDB should have managed to recreate the JIT
      breakpoint's location for the second run.  So the problem is
      elsewhere.
      
      The problem is that if the JIT loads at the same address on the second
      run, we never recreate the JIT breakpoint, because we hit this early
      return:
      
        static int
        jit_breakpoint_re_set_internal (struct gdbarch *gdbarch,
      				  struct jit_program_space_data *ps_data)
        {
          [...]
          if (ps_data->cached_code_address == addr)
            return 0;
      
          [...]
            delete_breakpoint (ps_data->jit_breakpoint);
          [...]
          ps_data->jit_breakpoint = create_jit_event_breakpoint (gdbarch, addr);
      
      Fix this by deleting the breakpoint and discarding the cached code
      address when the objfile where the previous JIT breakpoint was found
      is deleted/unloaded in the first place.
      
      The test that was originally added for PR11094 doesn't trip on this
      because:
      
        #1 - It doesn't test the case of the JIT descriptor's address _not_
             changing between reruns.
      
        #2 - And then it doesn't do "maint info breakpoints", or really
             anything with the JIT at all.
      
        #3 - and even then, to trigger the problem the JIT descriptor needs
             to be in a separate library, while the current test puts it in
             the main program.
      
      The patch extends the test to cover all combinations of these
      scenarios.
      
      gdb/ChangeLog:
      2016-10-06  Pedro Alves  <palves@redhat.com>
      
      	* jit.c (free_objfile_data): Delete the JIT breakpoint and clear
      	the cached code address.
      
      gdb/testsuite/ChangeLog:
      2016-10-06  Pedro Alves  <palves@redhat.com>
      
      	* gdb.base/jit-simple-dl.c: New file.
      	* gdb.base/jit-simple-jit.c: New file, factored out from ...
      	* gdb.base/jit-simple.c: ... this.
      	* gdb.base/jit-simple.exp (jit_run): Delete.
      	(build_jit): New proc.
      	(jit_test_reread): Recompile either the main program or the shared
      	library, depending on what is being tested.  Skip changing address
      	if caller wants to.  Compare before/after addresses.  If testing
      	standalone, explicitly load the binary.  Test "maint info
      	breakpoints".
      	(top level): Add "standalone vs shared lib" and "change address"
      	vs "same address" axes.
      4a556533
  26. 14 Jul, 2016 1 commit
    • Tom Tromey's avatar
      Remove unused variables · 78cc6c2d
      Tom Tromey authored
      This patch removes set-but-unused variables.  This holds all the
      removals I consider to be simple and relatively uncontroversial.
      
      2016-07-14  Tom Tromey  <tom@tromey.com>
      
      	* mips-tdep.c (micromips_scan_prologue): Remove "frame_addr".
      	(mips_o32_push_dummy_call): Remove "stack_used_p".
      	* aarch64-tdep.c (aarch64_record_data_proc_imm): Remove
      	"insn_bit28".
      	* rust-lang.c (rust_print_type): Remove "len".
      	* rust-exp.y (super_name): Remove "current_len".
      	* python/py-framefilter.c (py_print_type): Remove "type".
      	* mdebugread.c (parse_partial_symbols): Remove
      	"past_first_source_file".
      	<N_SO>: Remove "valu", "first_so_symnum", "prev_textlow_not_set".
      	* m2-valprint.c (m2_print_unbounded_array): Remove
      	"content_type".
      	(m2_val_print): Remove "i".
      	* linespec.c (unexpected_linespec_error): Remove "cleanup".
      	* f-valprint.c (f_val_print): Remove "i".
      	* elfread.c (elf_symtab_read): Remove "offset".
      	* dwarf2-frame.c (dwarf2_fetch_cfa_info): Remove "addr_size".
      	* jit.c (jit_dealloc_cache): Remove "i" and "frame_arch".
      78cc6c2d
  27. 13 Jul, 2016 1 commit
    • Tom Tromey's avatar
      Fix PR cli/18053 · 6571a381
      Tom Tromey authored
      PR cli/18053 concerns a couple of minor bugs in the JIT debuginfo
      support.  First, jit-reader-load should use filename completion and
      support tilde expansion.  Second, the help for jit-reader-unload is
      incorrect.  While working on this I also realized that
      jit-reader-unload should use the no-op completer, so I've included
      that as well.
      
      Built and regtested on x86-64 Fedora 23.  A completer test for
      jit-reader-load is included, but not a tilde-expansion test, as I
      couldn't think of a reliable way to test that.
      
      2016-07-13  Tom Tromey  <tom@tromey.com>
      
      	PR cli/18053:
      	* jit.c (jit_reader_load_command): Use tilde_expand.
      	(_initialize_jit): Fix help for jit-reader-unload.  Set completer
      	for new commands.
      
      2016-07-13  Tom Tromey  <tom@tromey.com>
      
      	PR cli/18053:
      	* gdb.base/jit-so.exp (one_jit_test): Add jit-reader-load
      	completion test.
      6571a381
  28. 01 Jul, 2016 1 commit
    • Pedro Alves's avatar
      Extend JIT-reader test and fix GDB problems that exposes · 20aa2c60
      Pedro Alves authored
      The jit-reader.exp test isn't really exercising the jit-reader's
      unwinder API at all.  This commit address that, and then fixes GDB
      problems exposed.
      
      - The custom JIT reader provided for the jit-reader.exp testcase
        always rejects the jitted function's frame...
      
        This is because the custom JIT reader in the testcase never ever
        sets state->code_begin/end, so the bounds check in
        gdb.base/jitreader.c:unwind_frame:
      
         if (this_ip >= state->code_end || this_ip < state->code_begin)
           return GDB_FAIL;
      
        tends to fail, unless you're "lucky" (because it references
        uninitialized data).
      
        The result is that GDB is always actually using a built-in unwinder
        for the jitted function.
      
      - The provided unwinder doesn't do anything that GDB's built-in
        unwinder can't do.
      
        IOW, we can't really tell whether the JIT reader's unwinder is
        working or not.
      
        I fixed that by making the jitted function mangle its own stack
        pointer with a xor, and then teaching the jit unwinder to demangle
        it back (another xor).  So now "backtrace" with GDB's built-in
        unwinder fails while with the jit unwinder, it succeeds.
      
      - GDB crashes after unloading the JIT reader, and flushing frames...
      
        I made the testcase use the "flushregs" command after unloading the
        JIT reader, to force the JIT frames to be flushed.  However, that
        crashes GDB...
      
        When reinit_frame_cache tears down a frame's cache, it calls its
        unwinder's dealloc_cache method, which for JIT frames ends up in
        jit.c:jit_dealloc_cache.  This function calls each of the frame's
        gdb_reg_value's "free" pointer:
      
         for (i = 0; i < gdbarch_num_regs (frame_arch); i++)
           if (priv_data->registers[i] && priv_data->registers[i]->free)
             priv_data->registers[i]->free (priv_data->registers[i]);
      
        and the problem is these gdb_reg_value instances have been returned
        by the JIT reader that has been already unloaded, and their "free"
        function pointers likely point to functions in the DSO that has
        already been unloaded...
      
        A fix for that could be to call reinit_frame_cache in
        jit_reader_unload_command _before_ unloading the jit reader DSO so
        that the jit reader is given a chance to clean up the gdb_reg_values
        before it is unloaded.  However, the fix for the point below makes
        this unnecessary, because it stops jit.c from keeping around
        gdb_reg_values in the first place.
      
      - However, it still makes sense to clear the frame cache when loading
        or unloading a JIT unwinder.
      
        This makes testing a JIT unwinder a bit simpler.
      
      - Not only the frame cache actually -- gdb is not unloading the
        jit-registered objfiles when the JIT reader is unloaded, and not
        loading the already-registered descriptors when a JIT reader is
        loaded.
      
        The new test exercises unloading the jit reader, loading it back
        again, and then making sure the JIT reader's unwinder works again.
        Without the unload/re-load of already-read descriptors, the newly
        loaded JIT would have no idea where the new function is, because
        it's stored at symbol read time.
      
      - I added a couple "info frame" calls to the test, and that
        crashes GDB...
      
        The problem is that jit_frame_prev_register assumes it'll only be
        called for raw registers, so when it gets a pseudo register number,
        the "priv->registers[reg]" access is really an out-of-bounds access.
      
        To fix that, I made jit_frame_prev_register use
        gdbarch_pseudo_register_read_value for reading the pseudo-registers.
        However, that works with a regcache and we don't have one.  To fix
        that, I made the JIT unwinder store a regcache in its cache instead
        of an array of gdb_reg_value pointers.
      
      gdb/ChangeLog:
      2016-07-01  Pedro Alves  <palves@redhat.com>
      	    Tom Tromey  <tom@tromey.com>
      
      	* jit.c (jit_reader_load_command): Call reinit_frame_cache and
      	jit_inferior_created_hook.
      	(jit_reader_unload_command): Call reinit_frame_cache and
      	jit_inferior_exit_hook.
      	* jit.c (struct jit_unwind_private) <registers>: Delete field.
      	<regcache>: New field.
      	(jit_unwind_reg_set_impl): Set the register's value in the
      	regcache.  Free the passed-in gdb_reg_value.
      	(jit_dealloc_cache): Adjust to free the regcache.
      	(jit_frame_sniffer): Allocate a regcache instead of an array of
      	gdb_reg_value pointers.
      	(jit_frame_this_id): Adjust.
      	(jit_frame_prev_register): Read raw registers off of the regcache
      	instead of from the gdb_reg_value pointer array.  Use
      	gdbarch_pseudo_register_read_value to read pseudo registers.
      	* regcache.c (regcache_raw_set_cached_value): New function,
      	factored out from ...
      	(regcache_raw_write): ... here.
      	* regcache.h (regcache_raw_set_cached_value): Declare.
      
      gdb/testsuite/ChangeLog:
      2016-07-01  Pedro Alves  <palves@redhat.com>
      
      	* gdb.base/jit-reader.exp (info_registers_current_frame): New
      	procedure.
      	(jit_reader_test): Test the jit reader's unwinder.
      	* gdb.base/jithost.c (jit_function_00_code): New global.
      	(main): Use memcpy to fill in the mmapped code, instead of poking
      	bytes manually here.
      	* gdb.base/jitreader.c (enum register_mapping) <AMD64_RBP>: New
      	value.
      	(read_debug_info): Save the function's range.
      	(read_sp): New function.
      	(unwind_frame): Use it.  Also unwind RBP.
      	(get_frame_id): Use read_sp.
      	(gdb_init_reader): Use calloc instead of malloc.
      	* lib/gdb.exp (get_hexadecimal_valueof): Add optional 'test'
      	parameter.  Use gdb_test_multiple.
      20aa2c60
  29. 31 Mar, 2016 1 commit
    • Yichao Yu's avatar
      Fix PR gdb/19858: GDB doesn't register the JIT libraries on attach · 9bb84c9f
      Yichao Yu authored
      Ref: https://sourceware.org/ml/gdb/2016-03/msg00023.html
      
      GDB currently fails to fetch the list of already-registered JIT
      modules on attach.
      
      Nothing is calling jit_inferior_init, which is what is responsible for
      walking the JIT object list at init time.
      
      Despite the misleading naming, jit_inferior_created_hook ->
      jit_inferior_init is only called when the inferior execs.
      
      This regressed with the fix for PR gdb/13431 (03bef283):
       https://sourceware.org/ml/gdb-patches/2012-02/msg00023.html
      
       which
      removed the inferior_created (jit_inferior_created_observer)
      observer.
      
      Adding an inferior_created observer back fixes the issue.
      
      In turn, this exposes a bug in jit_breakpoint_re_set_internal as well,
      which is returning the wrong result when we already have the
      breakpoint at the right address.
      
      gdb/ChangeLog:
      2016-03-31  Yichao Yu  <yyc1992@gmail.com>
      
      	PR gdb/19858
      	* jit.c (jit_breakpoint_re_set_internal): Return 0 if we already
      	got the breakpoint at the right address.
      	(jit_inferior_created): New function.
      	(_initialize_jit): Install jit_inferior_created as
      	inferior_created observer.
      
      Signed-off-by: default avatarPedro Alves <palves@redhat.com>
      9bb84c9f
  30. 01 Jan, 2016 1 commit
  31. 29 Oct, 2015 2 commits
    • Simon Marchi's avatar
      Add a cast in jit_target_read_impl · cb0a2700
      Simon Marchi authored
      We could change the signature of the function.  However, it would
      require changing gdb_target_read in jit-reader.h, which is an exported
      interface.  It's probably better to just add a cast in our code than to
      break other people's code.
      
      gdb/ChangeLog:
      
      	* jit.c (jit_target_read_impl): Add cast.
      cb0a2700
    • Simon Marchi's avatar
      Cast gdb_dlsym return value · 15cf126c
      Simon Marchi authored
      gdb/ChangeLog:
      
      	* jit.c (jit_reader_load): Add cast.
      15cf126c
  32. 09 Oct, 2015 1 commit
    • Simon Marchi's avatar
      Change some void* to gdb_byte* · 7c543f7b
      Simon Marchi authored
      There are a bunch of places where a void* is implicitely casted into a
      gdb_byte*.  The auto-insert-casts script added explicit casts at those
      places.  However, in many cases, it makes more sense to just change the
      void* to a gdb_byte*.
      
      gdb/ChangeLog:
      
      	* aarch64-tdep.c (stack_item_t): Change type of data to gdb_byte*.
      	* arm-tdep.c (struct stack_item): Likewise.
      	(push_stack_item): Add gdb_byte* cast.
      	* avr-tdep.c (struct stack_item): Change type of data to gdb_byte*.
      	(push_stack_item): Add gdb_byte* cast.
      	* cli/cli-dump.c (dump_memory_to_file): Change type of buf to gdb_byte*
      	and add cast.
      	* cris-tdep.c (struct stack_item): Change type of data to gdb_byte*.
      	(push_stack_item): Add gdb_byte* cast.
      	* gcore.c (gcore_copy_callback): Change type of memhunk to gdb_byte* and
      	add cast.
      	* gdbtypes.h (print_scalar_formatted): Change type of first parameter to
      	gdb_byte*.
      	* h8300-tdep.c (h8300_extract_return_value): Change type of valbuf to
      	gdb_byte* and remove unnecessary cast.
      	(h8300h_extract_return_value): Likewise.
      	(h8300_store_return_value): Change type of valbuf to gdb_byte*.
      	(h8300h_store_return_value): Likewise.
      	* iq2000-tdep.c (iq2000_extract_return_value): Change type of valbuf to
      	gdb_byte* and remove unnecessary cast.
      	* jit.c (jit_reader_try_read_symtab): Change type of gdb_mem to gdb_byte*
      	and add cast.
      	* m32r-tdep.c (m32r_store_return_value): Change type of valbuf to
      	gdb_byte* and remove unnecessary cast.
      	(m32r_extract_return_value): Change type of dst to gdb_byte* and remove
      	valbuf.
      	* mep-tdep.c (mep_pseudo_cr32_read): Change type of buf to gdb_byte*.
      	(mep_pseudo_cr64_read): Likewise.
      	(mep_pseudo_csr_write): Likewise.
      	(mep_pseudo_cr32_write): Likewise.
      	(mep_pseudo_cr64_write): Likewise.
      	* mi/mi-main.c (mi_cmd_data_write_memory): Change type of buffer to
      	gdb_byte* and add cast.
      	* moxie-tdep.c (moxie_store_return_value): Change type of valbuf to
      	gdb_byte* and remove unnecessary cast.
      	(moxie_extract_return_value): Change type of dst to gdb_byte* and remove
      	valbuf.
      	* p-valprint.c (print_scalar_formatted): Change type of valaddr to
      	gdb_byte*.
      	* printcmd.c (void): Likewise.
      	* python/py-inferior.c (infpy_read_memory): Change type of buffer to
      	gdb_byte* and add cast.
      	(infpy_write_memory): Likewise.
      	(infpy_search_memory): Likewise.
      	* regcache.c (regcache_raw_write_signed): Change type of buf to gdb_byte*
      	and add cast.
      	(regcache_raw_write_unsigned): Likewise.
      	(regcache_cooked_write_signed): Likewise.
      	(regcache_cooked_write_unsigned): Likewise.
      	* sh64-tdep.c (h64_extract_return_value): Change type of valbuf to
      	gdb_byte*.
      7c543f7b
  33. 25 Sep, 2015 2 commits
    • Simon Marchi's avatar
      Add some more casts (1/2) · 9a3c8263
      Simon Marchi authored
      Note: I needed to split this patch in two, otherwise it's too big for
      the mailing list.
      
      This patch adds explicit casts to situations where a void pointer is
      assigned to a pointer to the "real" type.  Building in C++ mode requires
      those assignments to use an explicit cast.  This includes, for example:
      
       - callback arguments (cleanups, comparison functions, ...)
       - data attached to some object (objfile, program space, etc) in the form
         of a void pointer
       - "user data" passed to some function
      
      This patch comes from the commit "(mostly) auto-generated patch to insert
      casts needed for C++", taken from Pedro's C++ branch.
      
      Only files built on x86 with --enable-targets=all are modified, so the
      native files for other arches will need to be dealt with separately.
      
      I built-tested this with --enable-targets=all and reg-tested.  To my
      surprise, a test case (selftest.exp) had to be adjusted.
      
      Here's the ChangeLog entry.  Again, this was relatively quick to make
      despite the length, thanks to David Malcom's script, although I don't
      believe it's very useful information in that particular case...
      
      gdb/ChangeLog:
      
      	* aarch64-tdep.c (aarch64_make_prologue_cache): Add cast(s).
      	(aarch64_make_stub_cache): Likewise.
      	(value_of_aarch64_user_reg): Likewise.
      	* ada-lang.c (ada_inferior_data_cleanup): Likewise.
      	(get_ada_inferior_data): Likewise.
      	(get_ada_pspace_data): Likewise.
      	(ada_pspace_data_cleanup): Likewise.
      	(ada_complete_symbol_matcher): Likewise.
      	(ada_exc_search_name_matches): Likewise.
      	* ada-tasks.c (get_ada_tasks_pspace_data): Likewise.
      	(get_ada_tasks_inferior_data): Likewise.
      	* addrmap.c (addrmap_mutable_foreach_worker): Likewise.
      	(splay_obstack_alloc): Likewise.
      	(splay_obstack_free): Likewise.
      	* alpha-linux-tdep.c (alpha_linux_supply_gregset): Likewise.
      	(alpha_linux_collect_gregset): Likewise.
      	(alpha_linux_supply_fpregset): Likewise.
      	(alpha_linux_collect_fpregset): Likewise.
      	* alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind_cache): Likewise.
      	* alpha-tdep.c (alpha_lds): Likewise.
      	(alpha_sts): Likewise.
      	(alpha_sigtramp_frame_unwind_cache): Likewise.
      	(alpha_heuristic_frame_unwind_cache): Likewise.
      	(alpha_supply_int_regs): Likewise.
      	(alpha_fill_int_regs): Likewise.
      	(alpha_supply_fp_regs): Likewise.
      	(alpha_fill_fp_regs): Likewise.
      	* alphanbsd-tdep.c (alphanbsd_supply_fpregset): Likewise.
      	(alphanbsd_aout_supply_gregset): Likewise.
      	(alphanbsd_supply_gregset): Likewise.
      	* amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
      	(amd64_x32_linux_init_abi): Likewise.
      	* amd64-nat.c (amd64_supply_native_gregset): Likewise.
      	(amd64_collect_native_gregset): Likewise.
      	* amd64-tdep.c (amd64_frame_cache): Likewise.
      	(amd64_sigtramp_frame_cache): Likewise.
      	(amd64_epilogue_frame_cache): Likewise.
      	(amd64_supply_fxsave): Likewise.
      	(amd64_supply_xsave): Likewise.
      	(amd64_collect_fxsave): Likewise.
      	(amd64_collect_xsave): Likewise.
      	* amd64-windows-tdep.c (amd64_windows_frame_cache): Likewise.
      	* amd64obsd-tdep.c (amd64obsd_trapframe_cache): Likewise.
      	* arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
      	(arm_linux_collect_gregset): Likewise.
      	(arm_linux_supply_nwfpe): Likewise.
      	(arm_linux_collect_nwfpe): Likewise.
      	(arm_linux_supply_vfp): Likewise.
      	(arm_linux_collect_vfp): Likewise.
      	* arm-tdep.c (arm_find_mapping_symbol): Likewise.
      	(arm_prologue_unwind_stop_reason): Likewise.
      	(arm_prologue_this_id): Likewise.
      	(arm_prologue_prev_register): Likewise.
      	(arm_exidx_data_free): Likewise.
      	(arm_find_exidx_entry): Likewise.
      	(arm_stub_this_id): Likewise.
      	(arm_m_exception_this_id): Likewise.
      	(arm_m_exception_prev_register): Likewise.
      	(arm_normal_frame_base): Likewise.
      	(gdb_print_insn_arm): Likewise.
      	(arm_objfile_data_free): Likewise.
      	(arm_record_special_symbol): Likewise.
      	(value_of_arm_user_reg): Likewise.
      	* armbsd-tdep.c (armbsd_supply_fpregset): Likewise.
      	(armbsd_supply_gregset): Likewise.
      	* auto-load.c (auto_load_pspace_data_cleanup): Likewise.
      	(get_auto_load_pspace_data): Likewise.
      	(hash_loaded_script_entry): Likewise.
      	(eq_loaded_script_entry): Likewise.
      	(clear_section_scripts): Likewise.
      	(collect_matching_scripts): Likewise.
      	* auxv.c (auxv_inferior_data_cleanup): Likewise.
      	(get_auxv_inferior_data): Likewise.
      	* avr-tdep.c (avr_frame_unwind_cache): Likewise.
      	* ax-general.c (do_free_agent_expr_cleanup): Likewise.
      	* bfd-target.c (target_bfd_xfer_partial): Likewise.
      	(target_bfd_xclose): Likewise.
      	(target_bfd_get_section_table): Likewise.
      	* bfin-tdep.c (bfin_frame_cache): Likewise.
      	* block.c (find_block_in_blockvector): Likewise.
      	(call_site_for_pc): Likewise.
      	(block_find_non_opaque_type_preferred): Likewise.
      	* break-catch-sig.c (signal_catchpoint_insert_location): Likewise.
      	(signal_catchpoint_remove_location): Likewise.
      	(signal_catchpoint_breakpoint_hit): Likewise.
      	(signal_catchpoint_print_one): Likewise.
      	(signal_catchpoint_print_mention): Likewise.
      	(signal_catchpoint_print_recreate): Likewise.
      	* break-catch-syscall.c (get_catch_syscall_inferior_data): Likewise.
      	* breakpoint.c (do_cleanup_counted_command_line): Likewise.
      	(bp_location_compare_addrs): Likewise.
      	(get_first_locp_gte_addr): Likewise.
      	(check_tracepoint_command): Likewise.
      	(do_map_commands_command): Likewise.
      	(get_breakpoint_objfile_data): Likewise.
      	(free_breakpoint_probes): Likewise.
      	(do_captured_breakpoint_query): Likewise.
      	(compare_breakpoints): Likewise.
      	(bp_location_compare): Likewise.
      	(bpstat_remove_breakpoint_callback): Likewise.
      	(do_delete_breakpoint_cleanup): Likewise.
      	* bsd-uthread.c (bsd_uthread_set_supply_uthread): Likewise.
      	(bsd_uthread_set_collect_uthread): Likewise.
      	(bsd_uthread_activate): Likewise.
      	(bsd_uthread_fetch_registers): Likewise.
      	(bsd_uthread_store_registers): Likewise.
      	* btrace.c (check_xml_btrace_version): Likewise.
      	(parse_xml_btrace_block): Likewise.
      	(parse_xml_btrace_pt_config_cpu): Likewise.
      	(parse_xml_btrace_pt_raw): Likewise.
      	(parse_xml_btrace_pt): Likewise.
      	(parse_xml_btrace_conf_bts): Likewise.
      	(parse_xml_btrace_conf_pt): Likewise.
      	(do_btrace_data_cleanup): Likewise.
      	* c-typeprint.c (find_typedef_for_canonicalize): Likewise.
      	* charset.c (cleanup_iconv): Likewise.
      	(do_cleanup_iterator): Likewise.
      	* cli-out.c (cli_uiout_dtor): Likewise.
      	(cli_table_begin): Likewise.
      	(cli_table_body): Likewise.
      	(cli_table_end): Likewise.
      	(cli_table_header): Likewise.
      	(cli_begin): Likewise.
      	(cli_end): Likewise.
      	(cli_field_int): Likewise.
      	(cli_field_skip): Likewise.
      	(cli_field_string): Likewise.
      	(cli_field_fmt): Likewise.
      	(cli_spaces): Likewise.
      	(cli_text): Likewise.
      	(cli_message): Likewise.
      	(cli_wrap_hint): Likewise.
      	(cli_flush): Likewise.
      	(cli_redirect): Likewise.
      	(out_field_fmt): Likewise.
      	(field_separator): Likewise.
      	(cli_out_set_stream): Likewise.
      	* cli/cli-cmds.c (compare_symtabs): Likewise.
      	* cli/cli-dump.c (call_dump_func): Likewise.
      	(restore_section_callback): Likewise.
      	* cli/cli-script.c (clear_hook_in_cleanup): Likewise.
      	(do_restore_user_call_depth): Likewise.
      	(do_free_command_lines_cleanup): Likewise.
      	* coff-pe-read.c (get_section_vmas): Likewise.
      	(pe_as16): Likewise.
      	(pe_as32): Likewise.
      	* coffread.c (coff_symfile_read): Likewise.
      	* common/agent.c (agent_look_up_symbols): Likewise.
      	* common/filestuff.c (do_close_cleanup): Likewise.
      	* common/format.c (free_format_pieces_cleanup): Likewise.
      	* common/vec.c (vec_o_reserve): Likewise.
      	* compile/compile-c-support.c (print_one_macro): Likewise.
      	* compile/compile-c-symbols.c (hash_symbol_error): Likewise.
      	(eq_symbol_error): Likewise.
      	(del_symbol_error): Likewise.
      	(error_symbol_once): Likewise.
      	(gcc_convert_symbol): Likewise.
      	(gcc_symbol_address): Likewise.
      	(hash_symname): Likewise.
      	(eq_symname): Likewise.
      	* compile/compile-c-types.c (hash_type_map_instance): Likewise.
      	(eq_type_map_instance): Likewise.
      	(insert_type): Likewise.
      	(convert_type): Likewise.
      	* compile/compile-object-load.c (munmap_listp_free_cleanup): Likewise.
      	(setup_sections): Likewise.
      	(link_hash_table_free): Likewise.
      	(copy_sections): Likewise.
      	* compile/compile-object-run.c (do_module_cleanup): Likewise.
      	* compile/compile.c (compile_print_value): Likewise.
      	(do_rmdir): Likewise.
      	(cleanup_compile_instance): Likewise.
      	(cleanup_unlink_file): Likewise.
      	* completer.c (free_completion_tracker): Likewise.
      	* corelow.c (add_to_spuid_list): Likewise.
      	* cp-namespace.c (reset_directive_searched): Likewise.
      	* cp-support.c (reset_directive_searched): Likewise.
      	* cris-tdep.c (cris_sigtramp_frame_unwind_cache): Likewise.
      	(cris_frame_unwind_cache): Likewise.
      	* d-lang.c (builtin_d_type): Likewise.
      	* d-namespace.c (reset_directive_searched): Likewise.
      	* dbxread.c (dbx_free_symfile_info): Likewise.
      	(do_free_bincl_list_cleanup): Likewise.
      	* disasm.c (hash_dis_line_entry): Likewise.
      	(eq_dis_line_entry): Likewise.
      	(dis_asm_print_address): Likewise.
      	(fprintf_disasm): Likewise.
      	(do_ui_file_delete): Likewise.
      	* doublest.c (convert_floatformat_to_doublest): Likewise.
      	* dummy-frame.c (pop_dummy_frame_bpt): Likewise.
      	(dummy_frame_prev_register): Likewise.
      	(dummy_frame_this_id): Likewise.
      	* dwarf2-frame-tailcall.c (cache_hash): Likewise.
      	(cache_eq): Likewise.
      	(cache_find): Likewise.
      	(tailcall_frame_this_id): Likewise.
      	(dwarf2_tailcall_prev_register_first): Likewise.
      	(tailcall_frame_prev_register): Likewise.
      	(tailcall_frame_dealloc_cache): Likewise.
      	(tailcall_frame_prev_arch): Likewise.
      	* dwarf2-frame.c (dwarf2_frame_state_free): Likewise.
      	(dwarf2_frame_set_init_reg): Likewise.
      	(dwarf2_frame_init_reg): Likewise.
      	(dwarf2_frame_set_signal_frame_p): Likewise.
      	(dwarf2_frame_signal_frame_p): Likewise.
      	(dwarf2_frame_set_adjust_regnum): Likewise.
      	(dwarf2_frame_adjust_regnum): Likewise.
      	(clear_pointer_cleanup): Likewise.
      	(dwarf2_frame_cache): Likewise.
      	(find_cie): Likewise.
      	(dwarf2_frame_find_fde): Likewise.
      	* dwarf2expr.c (dwarf_expr_address_type): Likewise.
      	(free_dwarf_expr_context_cleanup): Likewise.
      	* dwarf2loc.c (locexpr_find_frame_base_location): Likewise.
      	(locexpr_get_frame_base): Likewise.
      	(loclist_find_frame_base_location): Likewise.
      	(loclist_get_frame_base): Likewise.
      	(dwarf_expr_dwarf_call): Likewise.
      	(dwarf_expr_get_base_type): Likewise.
      	(dwarf_expr_push_dwarf_reg_entry_value): Likewise.
      	(dwarf_expr_get_obj_addr): Likewise.
      	(entry_data_value_coerce_ref): Likewise.
      	(entry_data_value_copy_closure): Likewise.
      	(entry_data_value_free_closure): Likewise.
      	(get_frame_address_in_block_wrapper): Likewise.
      	(dwarf2_evaluate_property): Likewise.
      	(dwarf2_compile_property_to_c): Likewise.
      	(needs_frame_read_addr_from_reg): Likewise.
      	(needs_frame_get_reg_value): Likewise.
      	(needs_frame_frame_base): Likewise.
      	(needs_frame_frame_cfa): Likewise.
      	(needs_frame_tls_address): Likewise.
      	(needs_frame_dwarf_call): Likewise.
      	(needs_dwarf_reg_entry_value): Likewise.
      	(get_ax_pc): Likewise.
      	(locexpr_read_variable): Likewise.
      	(locexpr_read_variable_at_entry): Likewise.
      	(locexpr_read_needs_frame): Likewise.
      	(locexpr_describe_location): Likewise.
      	(locexpr_tracepoint_var_ref): Likewise.
      	(locexpr_generate_c_location): Likewise.
      	(loclist_read_variable): Likewise.
      	(loclist_read_variable_at_entry): Likewise.
      	(loclist_describe_location): Likewise.
      	(loclist_tracepoint_var_ref): Likewise.
      	(loclist_generate_c_location): Likewise.
      	* dwarf2read.c (line_header_hash_voidp): Likewise.
      	(line_header_eq_voidp): Likewise.
      	(dwarf2_has_info): Likewise.
      	(dwarf2_get_section_info): Likewise.
      	(locate_dwz_sections): Likewise.
      	(hash_file_name_entry): Likewise.
      	(eq_file_name_entry): Likewise.
      	(delete_file_name_entry): Likewise.
      	(dw2_setup): Likewise.
      	(dw2_get_file_names_reader): Likewise.
      	(dw2_find_pc_sect_compunit_symtab): Likewise.
      	(hash_signatured_type): Likewise.
      	(eq_signatured_type): Likewise.
      	(add_signatured_type_cu_to_table): Likewise.
      	(create_debug_types_hash_table): Likewise.
      	(lookup_dwo_signatured_type): Likewise.
      	(lookup_dwp_signatured_type): Likewise.
      	(lookup_signatured_type): Likewise.
      	(hash_type_unit_group): Likewise.
      	(eq_type_unit_group): Likewise.
      	(get_type_unit_group): Likewise.
      	(process_psymtab_comp_unit_reader): Likewise.
      	(sort_tu_by_abbrev_offset): Likewise.
      	(process_skeletonless_type_unit): Likewise.
      	(psymtabs_addrmap_cleanup): Likewise.
      	(dwarf2_read_symtab): Likewise.
      	(psymtab_to_symtab_1): Likewise.
      	(die_hash): Likewise.
      	(die_eq): Likewise.
      	(load_full_comp_unit_reader): Likewise.
      	(reset_die_in_process): Likewise.
      	(free_cu_line_header): Likewise.
      	(handle_DW_AT_stmt_list): Likewise.
      	(hash_dwo_file): Likewise.
      	(eq_dwo_file): Likewise.
      	(hash_dwo_unit): Likewise.
      	(eq_dwo_unit): Likewise.
      	(create_dwo_cu_reader): Likewise.
      	(create_dwo_unit_in_dwp_v1): Likewise.
      	(create_dwo_unit_in_dwp_v2): Likewise.
      	(lookup_dwo_unit_in_dwp): Likewise.
      	(dwarf2_locate_dwo_sections): Likewise.
      	(dwarf2_locate_common_dwp_sections): Likewise.
      	(dwarf2_locate_v2_dwp_sections): Likewise.
      	(hash_dwp_loaded_cutus): Likewise.
      	(eq_dwp_loaded_cutus): Likewise.
      	(lookup_dwo_cutu): Likewise.
      	(abbrev_table_free_cleanup): Likewise.
      	(dwarf2_free_abbrev_table): Likewise.
      	(find_partial_die_in_comp_unit): Likewise.
      	(free_line_header_voidp): Likewise.
      	(follow_die_offset): Likewise.
      	(follow_die_sig_1): Likewise.
      	(free_heap_comp_unit): Likewise.
      	(free_stack_comp_unit): Likewise.
      	(dwarf2_free_objfile): Likewise.
      	(per_cu_offset_and_type_hash): Likewise.
      	(per_cu_offset_and_type_eq): Likewise.
      	(get_die_type_at_offset): Likewise.
      	(partial_die_hash): Likewise.
      	(partial_die_eq): Likewise.
      	(dwarf2_per_objfile_free): Likewise.
      	(hash_strtab_entry): Likewise.
      	(eq_strtab_entry): Likewise.
      	(add_string): Likewise.
      	(hash_symtab_entry): Likewise.
      	(eq_symtab_entry): Likewise.
      	(delete_symtab_entry): Likewise.
      	(cleanup_mapped_symtab): Likewise.
      	(add_indices_to_cpool): Likewise.
      	(hash_psymtab_cu_index): Likewise.
      	(eq_psymtab_cu_index): Likewise.
      	(add_address_entry_worker): Likewise.
      	(unlink_if_set): Likewise.
      	(write_one_signatured_type): Likewise.
      	(save_gdb_index_command): Likewise.
      	* elfread.c (elf_symtab_read): Likewise.
      	(elf_gnu_ifunc_cache_hash): Likewise.
      	(elf_gnu_ifunc_cache_eq): Likewise.
      	(elf_gnu_ifunc_record_cache): Likewise.
      	(elf_gnu_ifunc_resolve_by_cache): Likewise.
      	(elf_get_probes): Likewise.
      	(probe_key_free): Likewise.
      	* f-lang.c (builtin_f_type): Likewise.
      	* frame-base.c (frame_base_append_sniffer): Likewise.
      	(frame_base_set_default): Likewise.
      	(frame_base_find_by_frame): Likewise.
      	* frame-unwind.c (frame_unwind_prepend_unwinder): Likewise.
      	(frame_unwind_append_unwinder): Likewise.
      	(frame_unwind_find_by_frame): Likewise.
      	* frame.c (frame_addr_hash): Likewise.
      	(frame_addr_hash_eq): Likewise.
      	(frame_stash_find): Likewise.
      	(do_frame_register_read): Likewise.
      	(unwind_to_current_frame): Likewise.
      	(frame_cleanup_after_sniffer): Likewise.
      	* frv-linux-tdep.c (frv_linux_sigtramp_frame_cache): Likewise.
      	* frv-tdep.c (frv_frame_unwind_cache): Likewise.
      	* ft32-tdep.c (ft32_frame_cache): Likewise.
      	* gcore.c (do_bfd_delete_cleanup): Likewise.
      	(gcore_create_callback): Likewise.
      	* gdb_bfd.c (hash_bfd): Likewise.
      	(eq_bfd): Likewise.
      	(gdb_bfd_open): Likewise.
      	(free_one_bfd_section): Likewise.
      	(gdb_bfd_ref): Likewise.
      	(gdb_bfd_unref): Likewise.
      	(get_section_descriptor): Likewise.
      	(gdb_bfd_map_section): Likewise.
      	(gdb_bfd_crc): Likewise.
      	(gdb_bfd_mark_parent): Likewise.
      	(gdb_bfd_record_inclusion): Likewise.
      	(gdb_bfd_requires_relocations): Likewise.
      	(print_one_bfd): Likewise.
      	* gdbtypes.c (type_pair_hash): Likewise.
      	(type_pair_eq): Likewise.
      	(builtin_type): Likewise.
      	(objfile_type): Likewise.
      	* gnu-v3-abi.c (vtable_ptrdiff_type): Likewise.
      	(vtable_address_point_offset): Likewise.
      	(gnuv3_get_vtable): Likewise.
      	(hash_value_and_voffset): Likewise.
      	(eq_value_and_voffset): Likewise.
      	(compare_value_and_voffset): Likewise.
      	(compute_vtable_size): Likewise.
      	(gnuv3_get_typeid_type): Likewise.
      	* go-lang.c (builtin_go_type): Likewise.
      	* guile/scm-block.c (bkscm_hash_block_smob): Likewise.
      	(bkscm_eq_block_smob): Likewise.
      	(bkscm_objfile_block_map): Likewise.
      	(bkscm_del_objfile_blocks): Likewise.
      	* guile/scm-breakpoint.c (bpscm_build_bp_list): Likewise.
      	* guile/scm-disasm.c (gdbscm_disasm_read_memory_worker): Likewise.
      	(gdbscm_disasm_print_address): Likewise.
      	* guile/scm-frame.c (frscm_hash_frame_smob): Likewise.
      	(frscm_eq_frame_smob): Likewise.
      	(frscm_inferior_frame_map): Likewise.
      	(frscm_del_inferior_frames): Likewise.
      	* guile/scm-gsmob.c (gdbscm_add_objfile_ref): Likewise.
      	* guile/scm-objfile.c (ofscm_handle_objfile_deleted): Likewise.
      	(ofscm_objfile_smob_from_objfile): Likewise.
      	* guile/scm-ports.c (ioscm_write): Likewise.
      	(ioscm_file_port_delete): Likewise.
      	(ioscm_file_port_rewind): Likewise.
      	(ioscm_file_port_put): Likewise.
      	(ioscm_file_port_write): Likewise.
      	* guile/scm-progspace.c (psscm_handle_pspace_deleted): Likewise.
      	(psscm_pspace_smob_from_pspace): Likewise.
      	* guile/scm-safe-call.c (scscm_recording_pre_unwind_handler): Likewise.
      	(scscm_recording_unwind_handler): Likewise.
      	(gdbscm_with_catch): Likewise.
      	(scscm_call_0_body): Likewise.
      	(scscm_call_1_body): Likewise.
      	(scscm_call_2_body): Likewise.
      	(scscm_call_3_body): Likewise.
      	(scscm_call_4_body): Likewise.
      	(scscm_apply_1_body): Likewise.
      	(scscm_eval_scheme_string): Likewise.
      	(gdbscm_safe_eval_string): Likewise.
      	(scscm_source_scheme_script): Likewise.
      	(gdbscm_safe_source_script): Likewise.
      	* guile/scm-string.c (gdbscm_call_scm_to_stringn): Likewise.
      	(gdbscm_call_scm_from_stringn): Likewise.
      	* guile/scm-symbol.c (syscm_hash_symbol_smob): Likewise.
      	(syscm_eq_symbol_smob): Likewise.
      	(syscm_get_symbol_map): Likewise.
      	(syscm_del_objfile_symbols): Likewise.
      	* guile/scm-symtab.c (stscm_hash_symtab_smob): Likewise.
      	(stscm_eq_symtab_smob): Likewise.
      	(stscm_objfile_symtab_map): Likewise.
      	(stscm_del_objfile_symtabs): Likewise.
      	* guile/scm-type.c (tyscm_hash_type_smob): Likewise.
      	(tyscm_eq_type_smob): Likewise.
      	(tyscm_type_map): Likewise.
      	(tyscm_copy_type_recursive): Likewise.
      	(save_objfile_types): Likewise.
      	* guile/scm-utils.c (extract_arg): Likewise.
      	* h8300-tdep.c (h8300_frame_cache): Likewise.
      	* hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind_cache): Likewise.
      	* hppa-tdep.c (compare_unwind_entries): Likewise.
      	(find_unwind_entry): Likewise.
      	(hppa_frame_cache): Likewise.
      	(hppa_stub_frame_unwind_cache): Likewise.
      	* hppanbsd-tdep.c (hppanbsd_supply_gregset): Likewise.
      	* hppaobsd-tdep.c (hppaobsd_supply_gregset): Likewise.
      	(hppaobsd_supply_fpregset): Likewise.
      	* i386-cygwin-tdep.c (core_process_module_section): Likewise.
      	* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
      	* i386-tdep.c (i386_frame_cache): Likewise.
      	(i386_epilogue_frame_cache): Likewise.
      	(i386_sigtramp_frame_cache): Likewise.
      	(i386_supply_gregset): Likewise.
      	(i386_collect_gregset): Likewise.
      	(i386_gdbarch_init): Likewise.
      	* i386obsd-tdep.c (i386obsd_aout_supply_regset): Likewise.
      	(i386obsd_trapframe_cache): Likewise.
      	* i387-tdep.c (i387_supply_fsave): Likewise.
      	(i387_collect_fsave): Likewise.
      	(i387_supply_fxsave): Likewise.
      	(i387_collect_fxsave): Likewise.
      	(i387_supply_xsave): Likewise.
      	(i387_collect_xsave): Likewise.
      	* ia64-tdep.c (ia64_frame_cache): Likewise.
      	(ia64_sigtramp_frame_cache): Likewise.
      	* infcmd.c (attach_command_continuation): Likewise.
      	(attach_command_continuation_free_args): Likewise.
      	* inferior.c (restore_inferior): Likewise.
      	(delete_thread_of_inferior): Likewise.
      	* inflow.c (inflow_inferior_data_cleanup): Likewise.
      	(get_inflow_inferior_data): Likewise.
      	(inflow_inferior_exit): Likewise.
      	* infrun.c (displaced_step_clear_cleanup): Likewise.
      	(restore_current_uiout_cleanup): Likewise.
      	(release_stop_context_cleanup): Likewise.
      	(do_restore_infcall_suspend_state_cleanup): Likewise.
      	(do_restore_infcall_control_state_cleanup): Likewise.
      	(restore_inferior_ptid): Likewise.
      	* inline-frame.c (block_starting_point_at): Likewise.
      	* iq2000-tdep.c (iq2000_frame_cache): Likewise.
      	* jit.c (get_jit_objfile_data): Likewise.
      	(get_jit_program_space_data): Likewise.
      	(jit_object_close_impl): Likewise.
      	(jit_find_objf_with_entry_addr): Likewise.
      	(jit_breakpoint_deleted): Likewise.
      	(jit_unwind_reg_set_impl): Likewise.
      	(jit_unwind_reg_get_impl): Likewise.
      	(jit_dealloc_cache): Likewise.
      	(jit_frame_sniffer): Likewise.
      	(jit_frame_prev_register): Likewise.
      	(jit_prepend_unwinder): Likewise.
      	(jit_inferior_exit_hook): Likewise.
      	(free_objfile_data): Likewise.
      	* jv-lang.c (jv_per_objfile_free): Likewise.
      	(get_dynamics_objfile): Likewise.
      	(get_java_class_symtab): Likewise.
      	(builtin_java_type): Likewise.
      	* language.c (language_string_char_type): Likewise.
      	(language_bool_type): Likewise.
      	(language_lookup_primitive_type): Likewise.
      	(language_lookup_primitive_type_as_symbol): Likewise.
      	* linespec.c (hash_address_entry): Likewise.
      	(eq_address_entry): Likewise.
      	(iterate_inline_only): Likewise.
      	(iterate_name_matcher): Likewise.
      	(decode_line_2_compare_items): Likewise.
      	(collect_one_symbol): Likewise.
      	(compare_symbols): Likewise.
      	(compare_msymbols): Likewise.
      	(add_symtabs_to_list): Likewise.
      	(collect_symbols): Likewise.
      	(compare_msyms): Likewise.
      	(add_minsym): Likewise.
      	(cleanup_linespec_result): Likewise.
      	* linux-fork.c (inferior_call_waitpid_cleanup): Likewise.
      	* linux-nat.c (delete_lwp_cleanup): Likewise.
      	(count_events_callback): Likewise.
      	(select_event_lwp_callback): Likewise.
      	(resume_stopped_resumed_lwps): Likewise.
      	* linux-tdep.c (get_linux_gdbarch_data): Likewise.
      	(invalidate_linux_cache_inf): Likewise.
      	(get_linux_inferior_data): Likewise.
      	(linux_find_memory_regions_thunk): Likewise.
      	(linux_make_mappings_callback): Likewise.
      	(linux_corefile_thread_callback): Likewise.
      	(find_mapping_size): Likewise.
      	* linux-thread-db.c (find_new_threads_callback): Likewise.
      	* lm32-tdep.c (lm32_frame_cache): Likewise.
      	* m2-lang.c (builtin_m2_type): Likewise.
      	* m32c-tdep.c (m32c_analyze_frame_prologue): Likewise.
      	* m32r-linux-tdep.c (m32r_linux_sigtramp_frame_cache): Likewise.
      	(m32r_linux_supply_gregset): Likewise.
      	(m32r_linux_collect_gregset): Likewise.
      	* m32r-tdep.c (m32r_frame_unwind_cache): Likewise.
      	* m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise.
      	* m68k-tdep.c (m68k_frame_cache): Likewise.
      	* m68kbsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
      	(m68kbsd_supply_gregset): Likewise.
      	* m68klinux-tdep.c (m68k_linux_sigtramp_frame_cache): Likewise.
      	* m88k-tdep.c (m88k_frame_cache): Likewise.
      	(m88k_supply_gregset): Likewise.
      
      gdb/gdbserver/ChangeLog:
      
      	* dll.c (match_dll): Add cast(s).
      	(unloaded_dll): Likewise.
      	* linux-low.c (second_thread_of_pid_p): Likewise.
      	(delete_lwp_callback): Likewise.
      	(count_events_callback): Likewise.
      	(select_event_lwp_callback): Likewise.
      	(linux_set_resume_request): Likewise.
      	* server.c (accumulate_file_name_length): Likewise.
      	(emit_dll_description): Likewise.
      	(handle_qxfer_threads_worker): Likewise.
      	(visit_actioned_threads): Likewise.
      	* thread-db.c (any_thread_of): Likewise.
      	* tracepoint.c (same_process_p): Likewise.
      	(match_blocktype): Likewise.
      	(build_traceframe_info_xml): Likewise.
      
      gdb/testsuite/ChangeLog:
      
      	* gdb.gdb/selftest.exp (do_steps_and_nexts): Adjust expected
      	source line.
      9a3c8263
    • 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