1. 17 Jan, 2019 1 commit
    • Tom Tromey's avatar
      Replace "the the" with "the" · 6471e7d2
      Tom Tromey authored
      This replaces "the the" with "the" in various comments.
      
      Tested by rebuilding.  This didn't test the solib-dsbt.c change, but
      it looks harmless.
      
      gdb/ChangeLog
      2019-01-17  Tom Tromey  <tromey@bapiya>
      
      	* valprint.c: Replace "the the" with "the".
      	* symtab.c: Replace "the the" with "the".
      	* solib.c: Replace "the the" with "the".
      	* solib-dsbt.c: Replace "the the" with "the".
      	* linespec.c: Replace "the the" with "the".
      	* dwarf2loc.h: Replace "the the" with "the".
      	* amd64-windows-tdep.c: Replace "the the" with "the".
      	* aarch64-tdep.c: Replace "the the" with "the".
      6471e7d2
  2. 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
  3. 18 Jun, 2018 1 commit
    • Tom Tromey's avatar
      Use unique_xmalloc_ptr in two solib functions · 309822ca
      Tom Tromey authored
      This removes a couple of cleanups by using unique_xmalloc_ptr instead.
      These two changes are combined because the two functions are very
      similar.
      
      gdb/ChangeLog
      2018-06-18  Tom Tromey  <tom@tromey.com>
      
      	* solib-frv.c (frv_relocate_main_executable): Use
      	unique_xmalloc_ptr.
      	* solib-dsbt.c (dsbt_relocate_main_executable): Use
      	unique_xmalloc_ptr.
      309822ca
  4. 07 Jun, 2018 1 commit
    • Pedro Alves's avatar
      target_stack -> current_top_target() throughout · 8b88a78e
      Pedro Alves authored
      The recent C++ification of target_ops replaced references to the old
      "current_target" squashed target throughout with references to a
      "target_stack" pointer.  I had picked the "target_stack" name very
      early in the multi-target work, and managed to stick with it, even
      though it's a bit of a misnomer, since it isn't really a "target
      stack" object, but a pointer into the current top target in the stack.
      As I'm splitting more pieces off of the multi-target branch, I've come
      to think that it's better to rename it now.  A following patch will
      introduce a new class to represent a target stack, and "target_stack"
      would be _its_ ideal name.  (In the branch, the class is called
      a_target_stack to work around the clash.)
      
      Thus this commit renames target_stack to current_top_target and
      replaces all references throughout.  Also, while at it,
      current_top_target is made a function instead of a pointer, to make it
      possible to change its internal implementation without leaking
      implementation details out.  In a couple patches, the implementation
      of the function will change to refer to a target stack object, and
      then further down the multi-target work, it'll change again to find
      the right target stack for the current inferior.
      
      gdb/ChangeLog:
      2018-06-07  Pedro Alves  <palves@redhat.com>
      
      	* target.h (target_stack): Delete.
      	(current_top_target): Declare function.
      	* target.c (target_stack): Delete.
      	(g_current_top_target): New.
      	(current_top_target): New function.
      	* auxv.c: Use current_top_target instead of target_stack
      	throughout.
      	* avr-tdep.c: Likewise.
      	* breakpoint.c: Likewise.
      	* corefile.c: Likewise.
      	* elfread.c: Likewise.
      	* eval.c: Likewise.
      	* exceptions.c: Likewise.
      	* frame.c: Likewise.
      	* gdbarch-selftests.c: Likewise.
      	* gnu-v3-abi.c: Likewise.
      	* ia64-tdep.c: Likewise.
      	* ia64-vms-tdep.c: Likewise.
      	* infcall.c: Likewise.
      	* infcmd.c: Likewise.
      	* infrun.c: Likewise.
      	* linespec.c: Likewise.
      	* linux-tdep.c: Likewise.
      	* minsyms.c: Likewise.
      	* ppc-linux-nat.c: Likewise.
      	* ppc-linux-tdep.c: Likewise.
      	* procfs.c: Likewise.
      	* regcache.c: Likewise.
      	* remote.c: Likewise.
      	* rs6000-tdep.c: Likewise.
      	* s390-linux-nat.c: Likewise.
      	* s390-tdep.c: Likewise.
      	* solib-aix.c: Likewise.
      	* solib-darwin.c: Likewise.
      	* solib-dsbt.c: Likewise.
      	* solib-spu.c: Likewise.
      	* solib-svr4.c: Likewise.
      	* solib-target.c: Likewise.
      	* sparc-tdep.c: Likewise.
      	* sparc64-tdep.c: Likewise.
      	* spu-tdep.c: Likewise.
      	* symfile.c: Likewise.
      	* symtab.c: Likewise.
      	* target-descriptions.c: Likewise.
      	* target-memory.c: Likewise.
      	* target.c: Likewise.
      	* target.h: Likewise.
      	* tracefile-tfile.c: Likewise.
      	* tracepoint.c: Likewise.
      	* valops.c: Likewise.
      	* valprint.c: Likewise.
      	* value.c: Likewise.
      	* windows-tdep.c: Likewise.
      	* mi/mi-main.c: Likewise.
      8b88a78e
  5. 02 May, 2018 1 commit
    • Pedro Alves's avatar
      Convert struct target_ops to C++ · f6ac5f3d
      Pedro Alves authored
      I.e., use C++ virtual methods and inheritance instead of tables of
      function pointers.
      
      Unfortunately, there's no way to do a smooth transition.  ALL native
      targets in the tree must be converted at the same time.  I've tested
      all I could with cross compilers and with help from GCC compile farm,
      but naturally I haven't been able to test many of the ports.  Still, I
      made a best effort to port everything over, and while I expect some
      build problems due to typos and such, which should be trivial to fix,
      I don't expect any design problems.
      
      * Implementation notes:
      
      - The flattened current_target is gone.  References to current_target
        or current_target.beneath are replaced with references to
        target_stack (the top of the stack) directly.
      
      - To keep "set debug target" working, this adds a new debug_stratum
        layer that sits on top of the stack, prints the debug, and delegates
        to the target beneath.
      
        In addition, this makes the shortname and longname properties of
        target_ops be virtual methods instead of data fields, and makes the
        debug target defer those to the target beneath.  This is so that
        debug code sprinkled around that does "if (debugtarget) ..."  can
        transparently print the name of the target beneath.
      
        A patch later in the series actually splits out the
        shortname/longname methods to a separate structure, but I preferred
        to keep that chance separate as it is associated with changing a bit
        the design of how targets are registered and open.
      
      - Since you can't check whether a C++ virtual method is overridden,
        the old method of checking whether a target_ops implements a method
        by comparing the function pointer must be replaced with something
        else.
      
        Some cases are fixed by adding a parallel "can_do_foo" target_ops
        methods.  E.g.,:
      
          +  for (t = target_stack; t != NULL; t = t->beneath)
      	 {
          -      if (t->to_create_inferior != NULL)
          +      if (t->can_create_inferior ())
      	    break;
      	 }
      
        Others are fixed by changing void return type to bool or int return
        type, and have the default implementation return false or -1, to
        indicate lack of support.
      
      - make-target-delegates was adjusted to generate C++ classes and
        methods.
      
        It needed tweaks to grok "virtual" in front of the target method
        name, and for the fact that methods are no longer function pointers.
        (In particular, the current code parsing the return type was simple
        because it could simply parse up until the '(' in '(*to_foo)'.
      
        It now generates a couple C++ classes that inherit target_ops:
        dummy_target and debug_target.
      
        Since we need to generate the class declarations as well, i.e., we
        need to emit methods twice, we now generate the code in two passes.
      
      - The core_target global is renamed to avoid conflict with the
        "core_target" class.
      
      - ctf/tfile targets
      
        init_tracefile_ops is replaced by a base class that is inherited by
        both ctf and tfile.
      
      - bsd-uthread
      
        The bsd_uthread_ops_hack hack is gone.  It's not needed because
        nothing was extending a target created by bsd_uthread_target.
      
      - remote/extended-remote targets
      
        This is a first pass, just enough to C++ify target_ops.
      
        A later pass will convert more free functions to methods, and make
        remote_state be truly per remote instance, allowing multiple
        simultaneous instances of remote targets.
      
      - inf-child/"native" is converted to an actual base class
        (inf_child_target), that is inherited by all native targets.
      
      - GNU/Linux
      
        The old weird double-target linux_ops mechanism in linux-nat.c, is
        gone, replaced by adding a few virtual methods to linux-nat.h's
        target_ops, called low_XXX, that the concrete linux-nat
        implementations override.  Sort of like gdbserver's
        linux_target_ops, but simpler, for requiring only one
        target_ops-like hierarchy, which spares implementing the same method
        twice when we need to forward the method to a low implementation.
        The low target simply reimplements the target_ops method directly in
        that case.
      
        There are a few remaining linux-nat.c hooks that would be better
        converted to low_ methods like above too.  E.g.:
      
         linux_nat_set_new_thread (t, x86_linux_new_thread);
         linux_nat_set_new_fork (t, x86_linux_new_fork);
         linux_nat_set_forget_process
      
        That'll be done in a follow up patch.
      
      - We can no longer use functions like x86_use_watchpoints to install
        custom methods on an arbitrary base target.
      
        The patch replaces instances of such a pattern with template mixins.
        For example memory_breakpoint_target defined in target.h, or
        x86_nat_target in x86-nat.h.
      
      - linux_trad_target, MIPS and Alpha GNU/Linux
      
        The code in the new linux-nat-trad.h/c files which was split off of
        inf-ptrace.h/c recently, is converted to a C++ base class, and used
        by the MIPS and Alpha GNU/Linux ports.
      
      - BSD targets
      
        The
      
          $architecture x NetBSD/OpenBSD/FreeBSD
      
        support matrix complicates things a bit.  There's common BSD target
        code, and there's common architecture-specific code shared between
        the different BSDs.  Currently, all that is stiched together to form
        a final target, via the i386bsd_target, x86bsd_target,
        fbsd_nat_add_target functions etc.
      
        This introduces new fbsd_nat_target, obsd_nat_target and
        nbsd_nat_target classes that serve as base/prototype target for the
        corresponding BSD variant.
      
        And introduces generic i386/AMD64 BSD targets, to be used as
        template mixin to build a final target.  Similarly, a generic SPARC
        target is added, used by both BSD and Linux ports.
      
      - bsd_kvm_add_target, BSD libkvm target
      
        I considered making bsd_kvm_supply_pcb a virtual method, and then
        have each port inherit bsd_kvm_target and override that method, but
        that was resulting in lots of unjustified churn, so I left the
        function pointer mechanism alone.
      
      gdb/ChangeLog:
      2018-05-02  Pedro Alves  <palves@redhat.com>
      	    John Baldwin  <jhb@freebsd.org>
      
      	* target.h (enum strata) <debug_stratum>: New.
      	(struct target_ops) <all delegation methods>: Replace by C++
      	virtual methods, and drop "to_" prefix.  All references updated
      	throughout.
      	<to_shortname, to_longname, to_doc, to_data,
      	to_have_steppable_watchpoint, to_have_continuable_watchpoint,
      	to_has_thread_control, to_attach_no_wait>: Delete, replaced by
      	virtual methods.  All references updated throughout.
      	<can_attach, supports_terminal_ours, can_create_inferior,
      	get_thread_control_capabilities, attach_no_wait>: New
      	virtual methods.
      	<insert_breakpoint, remove_breakpoint>: Now
      	TARGET_DEFAULT_NORETURN methods.
      	<info_proc>: Now returns bool.
      	<to_magic>: Delete.
      	(OPS_MAGIC): Delete.
      	(current_target): Delete.  All references replaced by references
      	to ...
      	(target_stack): ... this.  New.
      	(target_shortname, target_longname): Adjust.
      	(target_can_run): Now a function declaration.
      	(default_child_has_all_memory, default_child_has_memory)
      	(default_child_has_stack, default_child_has_registers)
      	(default_child_has_execution): Remove target_ops parameter.
      	(complete_target_initialization): Delete.
      	(memory_breakpoint_target): New template class.
      	(test_target_ops): Refactor as a C++ class with virtual methods.
      	* make-target-delegates (NAME_PART): Tighten.
      	(POINTER_PART, CP_SYMBOL): New.
      	(SIMPLE_RETURN_PART): Reimplement.
      	(VEC_RETURN_PART): Expect less.
      	(RETURN_PART, VIRTUAL_PART): New.
      	(METHOD): Adjust to C++ virtual methods.
      	(scan_target_h): Remove reference to C99.
      	(dname): Output "target_ops::" prefix.
      	(write_function_header): Adjust to output a C++ class method.
      	(write_declaration): New.
      	(write_delegator): Adjust to output a C++ class method.
      	(tdname): Output "dummy_target::" prefix.
      	(write_tdefault, write_debugmethod): Adjust to output a C++ class
      	method.
      	(tdefault_names, debug_names): Delete.
      	(return_types, tdefaults, styles, argtypes_array): New.
      	(top level): All methods are delegators.
      	(print_class): New.
      	(top level): Print dummy_target and debug_target classes.
      	* target-delegates.c: Regenerate.
      	* target-debug.h (target_debug_print_enum_info_proc_what)
      	(target_debug_print_thread_control_capabilities)
      	(target_debug_print_thread_info_p): New.
      	* target.c (dummy_target): Delete.
      	(the_dummy_target, the_debug_target): New.
      	(target_stack): Now extern.
      	(set_targetdebug): Push/unpush debug target.
      	(default_child_has_all_memory, default_child_has_memory)
      	(default_child_has_stack, default_child_has_registers)
      	(default_child_has_execution): Remove target_ops parameter.
      	(complete_target_initialization): Delete.
      	(add_target_with_completer): No longer call
      	complete_target_initialization.
      	(target_supports_terminal_ours): Use regular delegation.
      	(update_current_target): Delete.
      	(push_target): No longer check magic number.  Don't call
      	update_current_target.
      	(unpush_target): Don't call update_current_target.
      	(target_is_pushed): No longer check magic number.
      	(target_require_runnable): Skip for all stratums over
      	process_stratum.
      	(target_ops::info_proc): New.
      	(target_info_proc): Use find_target_at and
      	find_default_run_target.
      	(target_supports_disable_randomization): Use regular delegation.
      	(target_get_osdata): Use find_target_at.
      	(target_ops::open, target_ops::close, target_ops::can_attach)
      	(target_ops::attach, target_ops::can_create_inferior)
      	(target_ops::create_inferior, target_ops::can_run)
      	(target_can_run): New.
      	(default_fileio_target): Use regular delegation.
      	(target_ops::fileio_open, target_ops::fileio_pwrite)
      	(target_ops::fileio_pread, target_ops::fileio_fstat)
      	(target_ops::fileio_close, target_ops::fileio_unlink)
      	(target_ops::fileio_readlink): New.
      	(target_fileio_open_1, target_fileio_unlink)
      	(target_fileio_readlink): Always call the target method.  Handle
      	FILEIO_ENOSYS.
      	(return_zero, return_zero_has_execution): Delete.
      	(init_dummy_target): Delete.
      	(dummy_target::dummy_target, dummy_target::shortname)
      	(dummy_target::longname, dummy_target::doc)
      	(debug_target::debug_target, debug_target::shortname)
      	(debug_target::longname, debug_target::doc): New.
      	(target_supports_delete_record): Use regular delegation.
      	(setup_target_debug): Delete.
      	(maintenance_print_target_stack): Skip debug_stratum.
      	(initialize_targets): Instantiate the_dummy_target and
      	the_debug_target.
      	* auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
      	use target_stack.
      	(target_auxv_search, fprint_target_auxv): Adjust.
      	(info_auxv_command): Adjust to use target_stack.
      	* auxv.h (target_auxv_parse): Remove 'ops' parameter.
      	* exceptions.c (print_flush): Handle a NULL target_stack.
      	* regcache.c (target_ops_no_register): Refactor as class with
      	virtual methods.
      
      	* exec.c (exec_target): New class.
      	(exec_ops): Now an exec_target.
      	(exec_open, exec_close_1, exec_get_section_table)
      	(exec_xfer_partial, exec_files_info, exec_has_memory)
      	(exec_make_note_section): Refactor as exec_target methods.
      	(exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
      	Delete.
      	(exec_target::find_memory_regions): New.
      	(_initialize_exec): Don't call init_exec_ops.
      	* gdbcore.h (exec_file_clear): Delete.
      
      	* corefile.c (core_target): Delete.
      	(core_file_command): Adjust.
      	* corelow.c (core_target): New class.
      	(the_core_target): New.
      	(core_close): Remove target_ops parameter.
      	(core_close_cleanup): Adjust.
      	(core_target::close): New.
      	(core_open, core_detach, get_core_registers, core_files_info)
      	(core_xfer_partial, core_thread_alive, core_read_description)
      	(core_pid_to_str, core_thread_name, core_has_memory)
      	(core_has_stack, core_has_registers, core_info_proc): Rework as
      	core_target methods.
      	(ignore, core_remove_breakpoint, init_core_ops): Delete.
      	(_initialize_corelow): Initialize the_core_target.
      	* gdbcore.h (core_target): Delete.
      	(the_core_target): New.
      
      	* ctf.c: (ctf_target): New class.
      	(ctf_ops): Now a ctf_target.
      	(ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
      	(ctf_xfer_partial, ctf_get_trace_state_variable_value)
      	(ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
      	methods.
      	(init_ctf_ops): Delete.
      	(_initialize_ctf): Don't call it.
      	* tracefile-tfile.c (tfile_target): New class.
      	(tfile_ops): Now a tfile_target.
      	(tfile_open, tfile_close, tfile_files_info)
      	(tfile_get_tracepoint_status, tfile_trace_find)
      	(tfile_fetch_registers, tfile_xfer_partial)
      	(tfile_get_trace_state_variable_value, tfile_traceframe_info):
      	Refactor as tfile_target methods.
      	(tfile_xfer_partial_features): Remove target_ops parameter.
      	(init_tfile_ops): Delete.
      	(_initialize_tracefile_tfile): Don't call it.
      	* tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
      	(tracefile_has_stack, tracefile_has_registers)
      	(tracefile_thread_alive, tracefile_get_trace_status): Refactor as
      	tracefile_target methods.
      	(init_tracefile_ops): Delete.
      	(tracefile_target::tracefile_target): New.
      	* tracefile.h: Include "target.h".
      	(tracefile_target): New class.
      	(init_tracefile_ops): Delete.
      
      	* spu-multiarch.c (spu_multiarch_target): New class.
      	(spu_ops): Now a spu_multiarch_target.
      	(spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
      	(spu_fetch_registers, spu_store_registers, spu_xfer_partial)
      	(spu_search_memory, spu_mourn_inferior): Refactor as
      	spu_multiarch_target methods.
      	(init_spu_ops): Delete.
      	(_initialize_spu_multiarch): Remove references to init_spu_ops,
      	complete_target_initialization.
      
      	* ravenscar-thread.c (ravenscar_thread_target): New class.
      	(ravenscar_ops): Now a ravenscar_thread_target.
      	(ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
      	(ravenscar_thread_alive, ravenscar_pid_to_str)
      	(ravenscar_fetch_registers, ravenscar_store_registers)
      	(ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
      	(ravenscar_stopped_by_hw_breakpoint)
      	(ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
      	(ravenscar_mourn_inferior, ravenscar_core_of_thread)
      	(ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
      	methods.
      	(init_ravenscar_thread_ops): Delete.
      	(_initialize_ravenscar): Remove references to
      	init_ravenscar_thread_ops and complete_target_initialization.
      
      	* bsd-uthread.c (bsd_uthread_ops_hack): Delete.
      	(bsd_uthread_target): New class.
      	(bsd_uthread_ops): Now a bsd_uthread_target.
      	(bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
      	(bsd_uthread_close, bsd_uthread_mourn_inferior)
      	(bsd_uthread_fetch_registers, bsd_uthread_store_registers)
      	(bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
      	(bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
      	(bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
      	(bsd_uthread_target): Delete function.
      	(_initialize_bsd_uthread): Remove reference to
      	complete_target_initialization.
      
      	* bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
      	(target_bfd): ... this new class.
      	(target_bfd_xfer_partial, target_bfd_get_section_table)
      	(target_bfd_close): Refactor as target_bfd methods.
      	(target_bfd::~target_bfd): New.
      	(target_bfd_reopen): Adjust.
      	(target_bfd::close): New.
      
      	* record-btrace.c (record_btrace_target): New class.
      	(record_btrace_ops): Now a record_btrace_target.
      	(record_btrace_open, record_btrace_stop_recording)
      	(record_btrace_disconnect, record_btrace_close)
      	(record_btrace_async, record_btrace_info)
      	(record_btrace_insn_history, record_btrace_insn_history_range)
      	(record_btrace_insn_history_from, record_btrace_call_history)
      	(record_btrace_call_history_range)
      	(record_btrace_call_history_from, record_btrace_record_method)
      	(record_btrace_is_replaying, record_btrace_will_replay)
      	(record_btrace_xfer_partial, record_btrace_insert_breakpoint)
      	(record_btrace_remove_breakpoint, record_btrace_fetch_registers)
      	(record_btrace_store_registers, record_btrace_prepare_to_store)
      	(record_btrace_to_get_unwinder)
      	(record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
      	(record_btrace_commit_resume, record_btrace_wait)
      	(record_btrace_stop, record_btrace_can_execute_reverse)
      	(record_btrace_stopped_by_sw_breakpoint)
      	(record_btrace_supports_stopped_by_sw_breakpoint)
      	(record_btrace_stopped_by_hw_breakpoint)
      	(record_btrace_supports_stopped_by_hw_breakpoint)
      	(record_btrace_update_thread_list, record_btrace_thread_alive)
      	(record_btrace_goto_begin, record_btrace_goto_end)
      	(record_btrace_goto, record_btrace_stop_replaying_all)
      	(record_btrace_execution_direction)
      	(record_btrace_prepare_to_generate_core)
      	(record_btrace_done_generating_core): Refactor as
      	record_btrace_target methods.
      	(init_record_btrace_ops): Delete.
      	(_initialize_record_btrace): Remove reference to
      	init_record_btrace_ops.
      	* record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
      	the execution_direction global.
      	(record_full_base_target, record_full_target)
      	(record_full_core_target): New classes.
      	(record_full_ops): Now a record_full_target.
      	(record_full_core_ops): Now a record_full_core_target.
      	(record_full_target::detach, record_full_target::disconnect)
      	(record_full_core_target::disconnect)
      	(record_full_target::mourn_inferior, record_full_target::kill):
      	New.
      	(record_full_open, record_full_close, record_full_async): Refactor
      	as methods of the record_full_base_target class.
      	(record_full_resume, record_full_commit_resume): Refactor
      	as methods of the record_full_target class.
      	(record_full_wait, record_full_stopped_by_watchpoint)
      	(record_full_stopped_data_address)
      	(record_full_stopped_by_sw_breakpoint)
      	(record_full_supports_stopped_by_sw_breakpoint)
      	(record_full_stopped_by_hw_breakpoint)
      	(record_full_supports_stopped_by_hw_breakpoint): Refactor as
      	methods of the record_full_base_target class.
      	(record_full_store_registers, record_full_xfer_partial)
      	(record_full_insert_breakpoint, record_full_remove_breakpoint):
      	Refactor as methods of the record_full_target class.
      	(record_full_can_execute_reverse, record_full_get_bookmark)
      	(record_full_goto_bookmark, record_full_execution_direction)
      	(record_full_record_method, record_full_info, record_full_delete)
      	(record_full_is_replaying, record_full_will_replay)
      	(record_full_goto_begin, record_full_goto_end, record_full_goto)
      	(record_full_stop_replaying): Refactor as methods of the
      	record_full_base_target class.
      	(record_full_core_resume, record_full_core_kill)
      	(record_full_core_fetch_registers)
      	(record_full_core_prepare_to_store)
      	(record_full_core_store_registers, record_full_core_xfer_partial)
      	(record_full_core_insert_breakpoint)
      	(record_full_core_remove_breakpoint)
      	(record_full_core_has_execution): Refactor
      	as methods of the record_full_core_target class.
      	(record_full_base_target::supports_delete_record): New.
      	(init_record_full_ops): Delete.
      	(init_record_full_core_ops): Delete.
      	(record_full_save): Refactor as method of the
      	record_full_base_target class.
      	(_initialize_record_full): Remove references to
      	init_record_full_ops and init_record_full_core_ops.
      
      	* remote.c (remote_target, extended_remote_target): New classes.
      	(remote_ops): Now a remote_target.
      	(extended_remote_ops): Now an extended_remote_target.
      	(remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
      	(remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
      	(remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
      	(remote_pass_signals, remote_set_syscall_catchpoint)
      	(remote_program_signals, )
      	(remote_thread_always_alive): Remove target_ops parameter.
      	(remote_thread_alive, remote_thread_name)
      	(remote_update_thread_list, remote_threads_extra_info)
      	(remote_static_tracepoint_marker_at)
      	(remote_static_tracepoint_markers_by_strid)
      	(remote_get_ada_task_ptid, remote_close, remote_start_remote)
      	(remote_open): Refactor as methods of remote_target.
      	(extended_remote_open, extended_remote_detach)
      	(extended_remote_attach, extended_remote_post_attach):
      	(extended_remote_supports_disable_randomization)
      	(extended_remote_create_inferior): : Refactor as method of
      	extended_remote_target.
      	(remote_set_permissions, remote_open_1, remote_detach)
      	(remote_follow_fork, remote_follow_exec, remote_disconnect)
      	(remote_resume, remote_commit_resume, remote_stop)
      	(remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
      	(remote_terminal_ours, remote_wait, remote_fetch_registers)
      	(remote_prepare_to_store, remote_store_registers)
      	(remote_flash_erase, remote_flash_done, remote_files_info)
      	(remote_kill, remote_mourn, remote_insert_breakpoint)
      	(remote_remove_breakpoint, remote_insert_watchpoint)
      	(remote_watchpoint_addr_within_range)
      	(remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
      	(remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
      	(remote_supports_stopped_by_sw_breakpoint)
      	(remote_stopped_by_hw_breakpoint)
      	(remote_supports_stopped_by_hw_breakpoint)
      	(remote_stopped_by_watchpoint, remote_stopped_data_address)
      	(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
      	(remote_verify_memory): Refactor as methods of remote_target.
      	(remote_write_qxfer, remote_read_qxfer): Remove target_ops
      	parameter.
      	(remote_xfer_partial, remote_get_memory_xfer_limit)
      	(remote_search_memory, remote_rcmd, remote_memory_map)
      	(remote_pid_to_str, remote_get_thread_local_address)
      	(remote_get_tib_address, remote_read_description): Refactor as
      	methods of remote_target.
      	(remote_target::fileio_open, remote_target::fileio_pwrite)
      	(remote_target::fileio_pread, remote_target::fileio_close): New.
      	(remote_hostio_readlink, remote_hostio_fstat)
      	(remote_filesystem_is_local, remote_can_execute_reverse)
      	(remote_supports_non_stop, remote_supports_disable_randomization)
      	(remote_supports_multi_process, remote_supports_cond_breakpoints)
      	(remote_supports_enable_disable_tracepoint)
      	(remote_supports_string_tracing)
      	(remote_can_run_breakpoint_commands, remote_trace_init)
      	(remote_download_tracepoint, remote_can_download_tracepoint)
      	(remote_download_trace_state_variable, remote_enable_tracepoint)
      	(remote_disable_tracepoint, remote_trace_set_readonly_regions)
      	(remote_trace_start, remote_get_trace_status)
      	(remote_get_tracepoint_status, remote_trace_stop)
      	(remote_trace_find, remote_get_trace_state_variable_value)
      	(remote_save_trace_data, remote_get_raw_trace_data)
      	(remote_set_disconnected_tracing, remote_core_of_thread)
      	(remote_set_circular_trace_buffer, remote_traceframe_info)
      	(remote_get_min_fast_tracepoint_insn_len)
      	(remote_set_trace_buffer_size, remote_set_trace_notes)
      	(remote_use_agent, remote_can_use_agent, remote_enable_btrace)
      	(remote_disable_btrace, remote_teardown_btrace)
      	(remote_read_btrace, remote_btrace_conf)
      	(remote_augmented_libraries_svr4_read, remote_load)
      	(remote_pid_to_exec_file, remote_can_do_single_step)
      	(remote_execution_direction, remote_thread_handle_to_thread_info):
      	Refactor as methods of remote_target.
      	(init_remote_ops, init_extended_remote_ops): Delete.
      	(remote_can_async_p, remote_is_async_p, remote_async)
      	(remote_thread_events, remote_upload_tracepoints)
      	(remote_upload_trace_state_variables): Refactor as methods of
      	remote_target.
      	(_initialize_remote): Remove references to init_remote_ops and
      	init_extended_remote_ops.
      
      	* remote-sim.c (gdbsim_target): New class.
      	(gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
      	(gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
      	(gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
      	(gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
      	(gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
      	(gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
      	Refactor as methods of gdbsim_target.
      	(gdbsim_ops): Now a gdbsim_target.
      	(init_gdbsim_ops): Delete.
      	(gdbsim_cntrl_c): Adjust.
      	(_initialize_remote_sim): Remove reference to init_gdbsim_ops.
      
      	* amd64-linux-nat.c (amd64_linux_nat_target): New class.
      	(the_amd64_linux_nat_target): New.
      	(amd64_linux_fetch_inferior_registers)
      	(amd64_linux_store_inferior_registers): Refactor as methods of
      	amd64_linux_nat_target.
      	(_initialize_amd64_linux_nat): Adjust.  Set linux_target.
      	* i386-linux-nat.c: Don't include "linux-nat.h".
      	(i386_linux_nat_target): New class.
      	(the_i386_linux_nat_target): New.
      	(i386_linux_fetch_inferior_registers)
      	(i386_linux_store_inferior_registers, i386_linux_resume): Refactor
      	as methods of i386_linux_nat_target.
      	(_initialize_i386_linux_nat): Adjust.  Set linux_target.
      	* inf-child.c (inf_child_ops): Delete.
      	(inf_child_fetch_inferior_registers)
      	(inf_child_store_inferior_registers): Delete.
      	(inf_child_post_attach, inf_child_prepare_to_store): Refactor as
      	methods of inf_child_target.
      	(inf_child_target::supports_terminal_ours)
      	(inf_child_target::terminal_init)
      	(inf_child_target::terminal_inferior)
      	(inf_child_target::terminal_ours_for_output)
      	(inf_child_target::terminal_ours, inf_child_target::interrupt)
      	(inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
      	New.
      	(inf_child_open, inf_child_disconnect, inf_child_close)
      	(inf_child_mourn_inferior, inf_child_maybe_unpush_target)
      	(inf_child_post_startup_inferior, inf_child_can_run)
      	(inf_child_pid_to_exec_file): Refactor as methods of
      	inf_child_target.
      	(inf_child_follow_fork): Delete.
      	(inf_child_target::can_create_inferior)
      	(inf_child_target::can_attach): New.
      	(inf_child_target::has_all_memory, inf_child_target::has_memory)
      	(inf_child_target::has_stack, inf_child_target::has_registers)
      	(inf_child_target::has_execution): New.
      	(inf_child_fileio_open, inf_child_fileio_pwrite)
      	(inf_child_fileio_pread, inf_child_fileio_fstat)
      	(inf_child_fileio_close, inf_child_fileio_unlink)
      	(inf_child_fileio_readlink, inf_child_use_agent)
      	(inf_child_can_use_agent): Refactor as methods of
      	inf_child_target.
      	(return_zero, inf_child_target): Delete.
      	(inf_child_target::inf_child_target): New.
      	* inf-child.h: Include "target.h".
      	(inf_child_target): Delete function prototype.
      	(inf_child_target): New class.
      	(inf_child_open_target, inf_child_mourn_inferior)
      	(inf_child_maybe_unpush_target): Delete.
      	* inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
      	(inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
      	(inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
      	(inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
      	(inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
      	(inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
      	(inf_ptrace_wait, inf_ptrace_xfer_partial)
      	(inf_ptrace_thread_alive, inf_ptrace_files_info)
      	(inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
      	methods of inf_ptrace_target.
      	(inf_ptrace_target): Delete function.
      	* inf-ptrace.h: Include "inf-child.h".
      	(inf_ptrace_target): Delete function declaration.
      	(inf_ptrace_target): New class.
      	(inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
      	* linux-nat.c (linux_target): New.
      	(linux_ops, linux_ops_saved, super_xfer_partial): Delete.
      	(linux_nat_target::~linux_nat_target): New.
      	(linux_child_post_attach, linux_child_post_startup_inferior)
      	(linux_child_follow_fork, linux_child_insert_fork_catchpoint)
      	(linux_child_remove_fork_catchpoint)
      	(linux_child_insert_vfork_catchpoint)
      	(linux_child_remove_vfork_catchpoint)
      	(linux_child_insert_exec_catchpoint)
      	(linux_child_remove_exec_catchpoint)
      	(linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
      	(linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
      	(linux_nat_resume, linux_nat_stopped_by_watchpoint)
      	(linux_nat_stopped_data_address)
      	(linux_nat_stopped_by_sw_breakpoint)
      	(linux_nat_supports_stopped_by_sw_breakpoint)
      	(linux_nat_stopped_by_hw_breakpoint)
      	(linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
      	(linux_nat_kill, linux_nat_mourn_inferior)
      	(linux_nat_xfer_partial, linux_nat_thread_alive)
      	(linux_nat_update_thread_list, linux_nat_pid_to_str)
      	(linux_nat_thread_name, linux_child_pid_to_exec_file)
      	(linux_child_static_tracepoint_markers_by_strid)
      	(linux_nat_is_async_p, linux_nat_can_async_p)
      	(linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
      	(linux_nat_supports_multi_process)
      	(linux_nat_supports_disable_randomization, linux_nat_async)
      	(linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
      	(linux_nat_core_of_thread, linux_nat_filesystem_is_local)
      	(linux_nat_fileio_open, linux_nat_fileio_readlink)
      	(linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
      	methods of linux_nat_target.
      	(linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
      	(linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
      	parameter.
      	(check_stopped_by_watchpoint): Adjust.
      	(linux_xfer_partial): Delete.
      	(linux_target_install_ops, linux_target, linux_nat_add_target):
      	Delete.
      	(linux_nat_target::linux_nat_target): New.
      	* linux-nat.h: Include "inf-ptrace.h".
      	(linux_nat_target): New.
      	(linux_target, linux_target_install_ops, linux_nat_add_target):
      	Delete function declarations.
      	(linux_target): Declare global.
      	* linux-thread-db.c (thread_db_target): New.
      	(thread_db_target::thread_db_target): New.
      	(thread_db_ops): Delete.
      	(the_thread_db_target): New.
      	(thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
      	(thread_db_update_thread_list, thread_db_pid_to_str)
      	(thread_db_extra_thread_info)
      	(thread_db_thread_handle_to_thread_info)
      	(thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
      	(thread_db_resume): Refactor as methods of thread_db_target.
      	(init_thread_db_ops): Delete.
      	(_initialize_thread_db): Remove reference to init_thread_db_ops.
      	* x86-linux-nat.c: Don't include "linux-nat.h".
      	(super_post_startup_inferior): Delete.
      	(x86_linux_nat_target::~x86_linux_nat_target): New.
      	(x86_linux_child_post_startup_inferior)
      	(x86_linux_read_description, x86_linux_enable_btrace)
      	(x86_linux_disable_btrace, x86_linux_teardown_btrace)
      	(x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
      	methods of x86_linux_nat_target.
      	(x86_linux_create_target): Delete.  Bits folded ...
      	(x86_linux_add_target): ... here.  Now takes a linux_nat_target
      	pointer.
      	* x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
      	(x86_linux_nat_target): New class.
      	(x86_linux_create_target): Delete.
      	(x86_linux_add_target): Now takes a linux_nat_target pointer.
      	* x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
      	(x86_region_ok_for_watchpoint, x86_stopped_data_address)
      	(x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
      	(x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
      	(x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
      	make extern.
      	(x86_use_watchpoints): Delete.
      	* x86-nat.h: Include "breakpoint.h" and "target.h".
      	(x86_use_watchpoints): Delete.
      	(x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
      	(x86_stopped_by_watchpoint, x86_stopped_data_address)
      	(x86_insert_watchpoint, x86_remove_watchpoint)
      	(x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
      	(x86_stopped_by_hw_breakpoint): New declarations.
      	(x86_nat_target): New template class.
      
      	* ppc-linux-nat.c (ppc_linux_nat_target): New class.
      	(the_ppc_linux_nat_target): New.
      	(ppc_linux_fetch_inferior_registers)
      	(ppc_linux_can_use_hw_breakpoint)
      	(ppc_linux_region_ok_for_hw_watchpoint)
      	(ppc_linux_ranged_break_num_registers)
      	(ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
      	(ppc_linux_insert_mask_watchpoint)
      	(ppc_linux_remove_mask_watchpoint)
      	(ppc_linux_can_accel_watchpoint_condition)
      	(ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
      	(ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
      	(ppc_linux_watchpoint_addr_within_range)
      	(ppc_linux_masked_watch_num_registers)
      	(ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
      	(ppc_linux_read_description): Refactor as methods of
      	ppc_linux_nat_target.
      	(_initialize_ppc_linux_nat): Adjust.  Set linux_target.
      
      	* procfs.c (procfs_xfer_partial): Delete forward declaration.
      	(procfs_target): New class.
      	(the_procfs_target): New.
      	(procfs_target): Delete function.
      	(procfs_auxv_parse, procfs_attach, procfs_detach)
      	(procfs_fetch_registers, procfs_store_registers, procfs_wait)
      	(procfs_xfer_partial, procfs_resume, procfs_pass_signals)
      	(procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
      	(procfs_create_inferior, procfs_update_thread_list)
      	(procfs_thread_alive, procfs_pid_to_str)
      	(procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
      	(procfs_stopped_data_address, procfs_insert_watchpoint)
      	(procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
      	(proc_find_memory_regions, procfs_info_proc)
      	(procfs_make_note_section): Refactor as methods of procfs_target.
      	(_initialize_procfs): Adjust.
      	* sol-thread.c (sol_thread_target): New class.
      	(sol_thread_ops): Now a sol_thread_target.
      	(sol_thread_detach, sol_thread_resume, sol_thread_wait)
      	(sol_thread_fetch_registers, sol_thread_store_registers)
      	(sol_thread_xfer_partial, sol_thread_mourn_inferior)
      	(sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
      	(sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
      	(init_sol_thread_ops): Delete.
      	(_initialize_sol_thread): Adjust.  Remove references to
      	init_sol_thread_ops and complete_target_initialization.
      
      	* windows-nat.c (windows_nat_target): New class.
      	(windows_fetch_inferior_registers)
      	(windows_store_inferior_registers, windows_resume, windows_wait)
      	(windows_attach, windows_detach, windows_pid_to_exec_file)
      	(windows_files_info, windows_create_inferior)
      	(windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
      	(windows_close, windows_pid_to_str, windows_xfer_partial)
      	(windows_get_tib_address, windows_get_ada_task_ptid)
      	(windows_thread_name, windows_thread_alive): Refactor as
      	windows_nat_target methods.
      	(do_initial_windows_stuff): Adjust.
      	(windows_target): Delete function.
      	(_initialize_windows_nat): Adjust.
      
      	* darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
      	(darwin_mourn_inferior, darwin_kill_inferior)
      	(darwin_create_inferior, darwin_attach, darwin_detach)
      	(darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
      	(darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
      	(darwin_supports_multi_process): Refactor as darwin_nat_target
      	methods.
      	(darwin_resume_to, darwin_files_info): Delete.
      	(_initialize_darwin_inferior): Rename to ...
      	(_initialize_darwin_nat): ... this.  Adjust to C++ification.
      	* darwin-nat.h: Include "inf-child.h".
      	(darwin_nat_target): New class.
      	(darwin_complete_target): Delete.
      	* i386-darwin-nat.c (i386_darwin_nat_target): New class.
      	(darwin_target): New.
      	(i386_darwin_fetch_inferior_registers)
      	(i386_darwin_store_inferior_registers): Refactor as methods of
      	darwin_nat_target.
      	(darwin_complete_target): Delete, with ...
      	(_initialize_i386_darwin_nat): ... bits factored out here.
      
      	* alpha-linux-nat.c (alpha_linux_nat_target): New class.
      	(the_alpha_linux_nat_target): New.
      	(alpha_linux_register_u_offset): Refactor as
      	alpha_linux_nat_target method.
      	(_initialize_alpha_linux_nat): Adjust.
      	* linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
      	(inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
      	(inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
      	methods of linux_nat_trad_target.
      	(linux_trad_target): Delete.
      	* linux-nat-trad.h (linux_trad_target): Delete function.
      	(linux_nat_trad_target): New class.
      	* mips-linux-nat.c (mips_linux_nat_target): New class.
      	(super_fetch_registers, super_store_registers, super_close):
      	Delete.
      	(the_mips_linux_nat_target): New.
      	(mips64_linux_regsets_fetch_registers)
      	(mips64_linux_regsets_store_registers)
      	(mips64_linux_fetch_registers, mips64_linux_store_registers)
      	(mips_linux_register_u_offset, mips_linux_read_description)
      	(mips_linux_can_use_hw_breakpoint)
      	(mips_linux_stopped_by_watchpoint)
      	(mips_linux_stopped_data_address)
      	(mips_linux_region_ok_for_hw_watchpoint)
      	(mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
      	(mips_linux_close): Refactor as methods of mips_linux_nat.
      	(_initialize_mips_linux_nat): Adjust to C++ification.
      
      	* aix-thread.c (aix_thread_target): New class.
      	(aix_thread_ops): Now an aix_thread_target.
      	(aix_thread_detach, aix_thread_resume, aix_thread_wait)
      	(aix_thread_fetch_registers, aix_thread_store_registers)
      	(aix_thread_xfer_partial, aix_thread_mourn_inferior)
      	(aix_thread_thread_alive, aix_thread_pid_to_str)
      	(aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
      	Refactor as methods of aix_thread_target.
      	(init_aix_thread_ops): Delete.
      	(_initialize_aix_thread): Remove references to init_aix_thread_ops
      	and complete_target_initialization.
      	* rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
      	(rs6000_nat_target): New class.
      	(the_rs6000_nat_target): New.
      	(rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
      	(rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
      	(rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
      	(super_create_inferior): Delete.
      	(_initialize_rs6000_nat): Adjust to C++ification.
      
      	* arm-linux-nat.c (arm_linux_nat_target): New class.
      	(the_arm_linux_nat_target): New.
      	(arm_linux_fetch_inferior_registers)
      	(arm_linux_store_inferior_registers, arm_linux_read_description)
      	(arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
      	(arm_linux_remove_hw_breakpoint)
      	(arm_linux_region_ok_for_hw_watchpoint)
      	(arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
      	(arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
      	(arm_linux_watchpoint_addr_within_range): Refactor as methods of
      	arm_linux_nat_target.
      	(_initialize_arm_linux_nat): Adjust to C++ification.
      
      	* aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
      	(the_aarch64_linux_nat_target): New.
      	(aarch64_linux_fetch_inferior_registers)
      	(aarch64_linux_store_inferior_registers)
      	(aarch64_linux_child_post_startup_inferior)
      	(aarch64_linux_read_description)
      	(aarch64_linux_can_use_hw_breakpoint)
      	(aarch64_linux_insert_hw_breakpoint)
      	(aarch64_linux_remove_hw_breakpoint)
      	(aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
      	(aarch64_linux_region_ok_for_hw_watchpoint)
      	(aarch64_linux_stopped_data_address)
      	(aarch64_linux_stopped_by_watchpoint)
      	(aarch64_linux_watchpoint_addr_within_range)
      	(aarch64_linux_can_do_single_step): Refactor as methods of
      	aarch64_linux_nat_target.
      	(super_post_startup_inferior): Delete.
      	(_initialize_aarch64_linux_nat): Adjust to C++ification.
      
      	* hppa-linux-nat.c (hppa_linux_nat_target): New class.
      	(the_hppa_linux_nat_target): New.
      	(hppa_linux_fetch_inferior_registers)
      	(hppa_linux_store_inferior_registers): Refactor as methods of
      	hppa_linux_nat_target.
      	(_initialize_hppa_linux_nat): Adjust to C++ification.
      
      	* ia64-linux-nat.c (ia64_linux_nat_target): New class.
      	(the_ia64_linux_nat_target): New.
      	(ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
      	(ia64_linux_stopped_data_address)
      	(ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
      	(ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
      	ia64_linux_nat_target methods.
      	(super_xfer_partial): Delete.
      	(_initialize_ia64_linux_nat): Adjust to C++ification.
      
      	* m32r-linux-nat.c (m32r_linux_nat_target): New class.
      	(the_m32r_linux_nat_target): New.
      	(m32r_linux_fetch_inferior_registers)
      	(m32r_linux_store_inferior_registers): Refactor as
      	m32r_linux_nat_target methods.
      	(_initialize_m32r_linux_nat): Adjust to C++ification.
      
      	* m68k-linux-nat.c (m68k_linux_nat_target): New class.
      	(the_m68k_linux_nat_target): New.
      	(m68k_linux_fetch_inferior_registers)
      	(m68k_linux_store_inferior_registers): Refactor as
      	m68k_linux_nat_target methods.
      	(_initialize_m68k_linux_nat): Adjust to C++ification.
      
      	* s390-linux-nat.c (s390_linux_nat_target): New class.
      	(the_s390_linux_nat_target): New.
      	(s390_linux_fetch_inferior_registers)
      	(s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
      	(s390_insert_watchpoint, s390_remove_watchpoint)
      	(s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
      	(s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
      	(s390_auxv_parse, s390_read_description): Refactor as methods of
      	s390_linux_nat_target.
      	(_initialize_s390_nat): Adjust to C++ification.
      
      	* sparc-linux-nat.c (sparc_linux_nat_target): New class.
      	(the_sparc_linux_nat_target): New.
      	(_initialize_sparc_linux_nat): Adjust to C++ification.
      	* sparc-nat.c (sparc_fetch_inferior_registers)
      	(sparc_store_inferior_registers): Remove target_ops parameter.
      	* sparc-nat.h (sparc_fetch_inferior_registers)
      	(sparc_store_inferior_registers): Remove target_ops parameter.
      	* sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
      	(the_sparc64_linux_nat_target): New.
      	(_initialize_sparc64_linux_nat): Adjust to C++ification.
      
      	* spu-linux-nat.c (spu_linux_nat_target): New class.
      	(the_spu_linux_nat_target): New.
      	(spu_child_post_startup_inferior, spu_child_post_attach)
      	(spu_child_wait, spu_fetch_inferior_registers)
      	(spu_store_inferior_registers, spu_xfer_partial)
      	(spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
      	methods.
      	(_initialize_spu_nat): Adjust to C++ification.
      
      	* tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
      	(the_tilegx_linux_nat_target): New.
      	(fetch_inferior_registers, store_inferior_registers):
      	Refactor as methods.
      	(_initialize_tile_linux_nat): Adjust to C++ification.
      
      	* xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
      	(the_xtensa_linux_nat_target): New.
      	(xtensa_linux_fetch_inferior_registers)
      	(xtensa_linux_store_inferior_registers): Refactor as
      	xtensa_linux_nat_target methods.
      	(_initialize_xtensa_linux_nat): Adjust to C++ification.
      
      	* fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
      	(fbsd_pid_to_exec_file, fbsd_find_memory_regions)
      	(fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
      	(fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
      	(fbsd_update_thread_list, fbsd_resume, fbsd_wait)
      	(fbsd_stopped_by_sw_breakpoint)
      	(fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
      	(fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
      	(fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
      	(fbsd_post_startup_inferior, fbsd_post_attach)
      	(fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
      	(fbsd_set_syscall_catchpoint)
      	(super_xfer_partial, super_resume, super_wait)
      	(fbsd_supports_stopped_by_hw_breakpoint): Delete.
      	(fbsd_handle_debug_trap): Remove target_ops parameter.
      	(fbsd_nat_add_target): Delete.
      	* fbsd-nat.h: Include "inf-ptrace.h".
      	(fbsd_nat_add_target): Delete.
      	(USE_SIGTRAP_SIGINFO): Define.
      	(fbsd_nat_target): New class.
      
      	* amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
      	(amd64bsd_store_inferior_registers): Remove target_ops parameter.
      	(amd64bsd_target): Delete.
      	* amd64-bsd-nat.h: New file.
      	* amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
      	"x86-bsd-nat.h".
      	(amd64_fbsd_nat_target): New class.
      	(the_amd64_fbsd_nat_target): New.
      	(amd64fbsd_read_description): Refactor as method of
      	amd64_fbsd_nat_target.
      	(amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
      	(_initialize_amd64fbsd_nat): Adjust to C++ification.
      	* amd64-nat.h (amd64bsd_target): Delete function declaration.
      	* i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
      	(i386bsd_store_inferior_registers): Remove target_ops parameter.
      	(i386bsd_target): Delete.
      	* i386-bsd-nat.h (i386bsd_target): Delete function declaration.
      	(i386bsd_fetch_inferior_registers)
      	(i386bsd_store_inferior_registers): Declare.
      	(i386_bsd_nat_target): New class.
      	* i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
      	(the_i386_fbsd_nat_target): New.
      	(i386fbsd_resume, i386fbsd_read_description): Refactor as
      	i386_fbsd_nat_target methods.
      	(i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
      	(_initialize_i386fbsd_nat): Adjust to C++ification.
      	* x86-bsd-nat.c (super_mourn_inferior): Delete.
      	(x86bsd_mourn_inferior, x86bsd_target): Delete.
      	(_initialize_x86_bsd_nat): Adjust to C++ification.
      	* x86-bsd-nat.h: Include "x86-nat.h".
      	(x86bsd_target): Delete declaration.
      	(x86bsd_nat_target): New class.
      
      	* aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
      	(the_aarch64_fbsd_nat_target): New.
      	(aarch64_fbsd_fetch_inferior_registers)
      	(aarch64_fbsd_store_inferior_registers): Refactor as methods of
      	aarch64_fbsd_nat_target.
      	(_initialize_aarch64_fbsd_nat): Adjust to C++ification.
      	* alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
      	(the_alpha_bsd_nat_target): New.
      	(alphabsd_fetch_inferior_registers)
      	(alphabsd_store_inferior_registers): Refactor as
      	alpha_bsd_nat_target methods.
      	(_initialize_alphabsd_nat): Refactor as methods of
      	alpha_bsd_nat_target.
      	* amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
      	(the_amd64_nbsd_nat_target): New.
      	(_initialize_amd64nbsd_nat): Adjust to C++ification.
      	* amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
      	(the_amd64_obsd_nat_target): New.
      	(_initialize_amd64obsd_nat): Adjust to C++ification.
      	* arm-fbsd-nat.c (arm_fbsd_nat_target): New.
      	(the_arm_fbsd_nat_target): New.
      	(arm_fbsd_fetch_inferior_registers)
      	(arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
      	(_initialize_arm_fbsd_nat): Refactor as methods of
      	arm_fbsd_nat_target.
      	(_initialize_arm_fbsd_nat): Adjust to C++ification.
      	* arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
      	(the_arm_netbsd_nat_target): New.
      	(armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
      	arm_netbsd_nat_target.
      	(_initialize_arm_netbsd_nat): Adjust to C++ification.
      	* hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
      	(the_hppa_nbsd_nat_target): New.
      	(hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
      	hppa_nbsd_nat_target methods.
      	(_initialize_hppanbsd_nat): Adjust to C++ification.
      	* hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
      	(the_hppa_obsd_nat_target): New.
      	(hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
      	methods of hppa_obsd_nat_target.
      	(_initialize_hppaobsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
      	(_initialize_i386nbsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* i386-obsd-nat.c (the_i386_obsd_nat_target): New.
      	(_initialize_i386obsd_nat): Use add_target.
      	* m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
      	(the_m68k_bsd_nat_target): New.
      	(m68kbsd_fetch_inferior_registers)
      	(m68kbsd_store_inferior_registers): Refactor as methods of
      	m68k_bsd_nat_target.
      	(_initialize_m68kbsd_nat): Adjust to C++ification.
      	* mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
      	(the_mips_fbsd_nat_target): New.
      	(mips_fbsd_fetch_inferior_registers)
      	(mips_fbsd_store_inferior_registers): Refactor as methods of
      	mips_fbsd_nat_target.
      	(_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
      	(the_mips_nbsd_nat_target): New.
      	(mipsnbsd_fetch_inferior_registers)
      	(mipsnbsd_store_inferior_registers): Refactor as methods of
      	mips_nbsd_nat_target.
      	(_initialize_mipsnbsd_nat): Adjust to C++ification.
      	* mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
      	(the_mips64_obsd_nat_target): New.
      	(mips64obsd_fetch_inferior_registers)
      	(mips64obsd_store_inferior_registers): Refactor as methods of
      	mips64_obsd_nat_target.
      	(_initialize_mips64obsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
      	nbsd_nat_target.
      	* nbsd-nat.h: Include "inf-ptrace.h".
      	(nbsd_nat_target): New class.
      	* obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
      	(obsd_wait): Refactor as methods of obsd_nat_target.
      	(obsd_add_target): Delete.
      	* obsd-nat.h: Include "inf-ptrace.h".
      	(obsd_nat_target): New class.
      	* ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
      	(the_ppc_fbsd_nat_target): New.
      	(ppcfbsd_fetch_inferior_registers)
      	(ppcfbsd_store_inferior_registers): Refactor as methods of
      	ppc_fbsd_nat_target.
      	(_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
      	(the_ppc_nbsd_nat_target): New.
      	(ppcnbsd_fetch_inferior_registers)
      	(ppcnbsd_store_inferior_registers): Refactor as methods of
      	ppc_nbsd_nat_target.
      	(_initialize_ppcnbsd_nat): Adjust to C++ification.
      	* ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
      	(the_ppc_obsd_nat_target): New.
      	(ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
      	methods of ppc_obsd_nat_target.
      	(_initialize_ppcobsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
      	(the_sh_nbsd_nat_target): New.
      	(shnbsd_fetch_inferior_registers)
      	(shnbsd_store_inferior_registers): Refactor as methods of
      	sh_nbsd_nat_target.
      	(_initialize_shnbsd_nat): Adjust to C++ification.
      	* sparc-nat.c (sparc_xfer_wcookie): Make extern.
      	(inf_ptrace_xfer_partial): Delete.
      	(sparc_xfer_partial, sparc_target): Delete.
      	* sparc-nat.h (sparc_fetch_inferior_registers)
      	(sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
      	(sparc_target): Delete function declaration.
      	(sparc_target): New template class.
      	* sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
      	(_initialize_sparcnbsd_nat): Adjust to C++ification.
      	* sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
      	(_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
      	(_initialize_sparc64nbsd_nat): Adjust to C++ification.
      	* sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
      	(_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
      	add_target.
      	* vax-bsd-nat.c (vax_bsd_nat_target): New class.
      	(the_vax_bsd_nat_target): New.
      	(vaxbsd_fetch_inferior_registers)
      	(vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
      	methods.
      	(_initialize_vaxbsd_nat): Adjust to C++ification.
      
      	* bsd-kvm.c (bsd_kvm_target): New class.
      	(bsd_kvm_ops): Now a bsd_kvm_target.
      	(bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
      	(bsd_kvm_files_info, bsd_kvm_fetch_registers)
      	(bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
      	bsd_kvm_target.
      	(bsd_kvm_return_one): Delete.
      	(bsd_kvm_add_target): Adjust to C++ification.
      
      	* nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
      	(nto_procfs_target_procfs): New classes.
      	(procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
      	(procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
      	(procfs_post_attach, procfs_wait, procfs_fetch_registers)
      	(procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
      	(procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
      	(procfs_remove_hw_breakpoint, procfs_resume)
      	(procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
      	(procfs_kill_inferior, procfs_store_registers)
      	(procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
      	as methods of nto_procfs_target.
      	(nto_procfs_ops): Now an nto_procfs_target_procfs.
      	(nto_native_ops): Delete.
      	(procfs_open, procfs_native_open): Delete.
      	(nto_native_ops): Now an nto_procfs_target_native.
      	(init_procfs_targets): Adjust to C++ification.
      	(procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
      	(procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
      	Refactor as methods of nto_procfs_target.
      
      	* go32-nat.c (go32_nat_target): New class.
      	(the_go32_nat_target): New.
      	(go32_attach, go32_resume, go32_wait, go32_fetch_registers)
      	(go32_store_registers, go32_xfer_partial, go32_files_info)
      	(go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
      	(go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
      	(go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
      	(go32_pid_to_str): Refactor as methods of go32_nat_target.
      	(go32_target): Delete.
      	(_initialize_go32_nat): Adjust to C++ification.
      
      	* gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
      	(gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
      	(gnu_stop, gnu_thread_alive, gnu_xfer_partial)
      	(gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
      	gnu_nat_target.
      	(gnu_target): Delete.
      	* gnu-nat.h (gnu_target): Delete.
      	(gnu_nat_target): New class.
      	* i386-gnu-nat.c (gnu_base_target): New.
      	(i386_gnu_nat_target): New class.
      	(the_i386_gnu_nat_target): New.
      	(_initialize_i386gnu_nat): Adjust to C++ification.
      
      gdb/testsuite/ChangeLog:
      2018-05-02  Pedro Alves  <palves@redhat.com>
      
      	* gdb.base/breakpoint-in-ro-region.exp: Adjust to to_resume and
      	to_log_command renames.
      	* gdb.base/sss-bp-on-user-bp-2.exp: Likewise.
      f6ac5f3d
  6. 07 Apr, 2018 1 commit
    • Simon Marchi's avatar
      Make target_read_alloc & al return vectors · 9018be22
      Simon Marchi authored
      This patch started by changing target_read_alloc_1 to return a
      byte_vector, to avoid manual memory management (in target_read_alloc_1
      and in the callers).  To communicate failures to the callers, it
      actually returns a gdb::optional<gdb::byte_vector>.
      
      Adjusting target_read_stralloc was a bit more tricky, since it wants to
      return a buffer of char, and not gdb_byte.  Since you can't just cast a
      gdb::byte_vector into a gdb::def_vector<char>, I made
      target_read_alloc_1 templated, so both versions (that return vectors of
      gdb_byte and char) are generated.  Since target_read_stralloc now
      returns a gdb::char_vector instead of a gdb::unique_xmalloc_ptr<char>, a
      few callers need to be adjusted.
      
      gdb/ChangeLog:
      
      	* common/byte-vector.h (char_vector): New type.
      	* target.h (target_read_alloc): Return
      	gdb::optional<byte_vector>.
      	(target_read_stralloc): Return gdb::optional<char_vector>.
      	(target_get_osdata): Return gdb::optional<char_vector>.
      	* target.c (target_read_alloc_1): Templatize.  Replacement
      	manual memory management with vector.
      	(target_read_alloc): Change return type, adjust.
      	(target_read_stralloc): Change return type, adjust.
      	(target_get_osdata): Change return type, adjust.
      	* auxv.c (struct auxv_info) <length>: Remove.
      	<data>: Change type to gdb::optional<byte_vector>.
      	(auxv_inferior_data_cleanup): Free auxv_info with delete.
      	(get_auxv_inferior_data): Allocate auxv_info with new, adjust.
      	(target_auxv_search): Adjust.
      	(fprint_target_auxv): Adjust.
      	* avr-tdep.c (avr_io_reg_read_command): Adjust.
      	* linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
      	(linux_make_corefile_notes): Adjust.
      	* osdata.c (get_osdata): Adjust.
      	* remote.c (remote_get_threads_with_qxfer): Adjust.
      	(remote_memory_map): Adjust.
      	(remote_traceframe_info): Adjust.
      	(btrace_read_config): Adjust.
      	(remote_read_btrace): Adjust.
      	(remote_pid_to_exec_file): Adjust.
      	* solib-aix.c (solib_aix_get_library_list): Adjust.
      	* solib-dsbt.c (decode_loadmap): Don't free buf.
      	(dsbt_get_initial_loadmaps): Adjust.
      	* solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
      	* solib-target.c (solib_target_current_sos): Adjust.
      	* tracepoint.c (sdata_make_value): Adjust.
      	* xml-support.c (xinclude_start_include): Adjust.
      	(xml_fetch_content_from_file): Adjust.
      	* xml-support.h (xml_fetch_another): Change return type.
      	(xml_fetch_content_from_file): Change return type.
      	* xml-syscall.c (xml_init_syscalls_info): Adjust.
      	* xml-tdesc.c (file_read_description_xml): Adjust.
      	(fetch_available_features_from_target): Change return type.
      	(target_fetch_description_xml): Adjust.
      	(target_read_description_xml): Adjust.
      9018be22
  7. 30 Mar, 2018 1 commit
    • Tom Tromey's avatar
      Change target_read_string to use unique_xmalloc_ptr · e83e4e24
      Tom Tromey authored
      This changes the out parameter of target_read_string to be a
      unique_xmalloc_ptr.  This avoids a cleanup and sets the stage for more
      cleanup removals.
      
      This patch also removes a seemingly needless alloca from
      print_subexp_standard.
      
      gdb/ChangeLog
      2018-03-30  Tom Tromey  <tom@tromey.com>
      
      	* windows-nat.c (handle_output_debug_string, handle_exception):
      	Update.
      	* target.h (target_read_string): Update.
      	* target.c (target_read_string): Change "string" to
      	unique_xmalloc_ptr.
      	* solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
      	Update.
      	* solib-frv.c (frv_current_sos): Update.
      	* solib-dsbt.c (dsbt_current_sos): Update.
      	* solib-darwin.c (darwin_current_sos): Update.
      	* linux-thread-db.c (inferior_has_bug): Update.
      	* expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
      	Update.  Remove alloca.
      	* ada-lang.c (ada_main_name): Update.
      e83e4e24
  8. 02 Jan, 2018 1 commit
  9. 10 Oct, 2017 1 commit
    • Pedro Alves's avatar
      Eliminate catch_errors · bf469271
      Pedro Alves authored
      If you want to use catch_errors with a function with parameters, then
      currently you have to manually write a "capture" struct wrapping the
      arguments and marshall/unmarshall that.
      
      https://sourceware.org/ml/gdb-patches/2017-09/msg00834.html proposed
      adjusting catch_errors to use gdb::function_view, which would allow
      passing lambdas with automatic captures.  However, it seems like using
      TRY/CATCH directly instead ends up producing clearer and easier to
      debug code.  This is what this commit does.
      
      Note that removing catch_errors exposes further cleanup opportunities
      around no longer having to follow catch_errors callback type, and also
      removes a few cleanups.
      
      I didn't do anything to save/restore current_uiout because I think
      that should be the responsibility of the code that changes
      current_uiout in the first place.
      
      (Another approach could be to make catch_errors a variadic template
      like:
      
        template<typename Function, typename... Args>
        int catch_errors (const char *errstring, return_mask mask,
      		    Function &&func, Args... args);
      
      and then with:
      
        extern void function_with_args (int, int);
        extern void function_with_no_args ();
      
      calls to the above functions would be wrapped like this:
      
        catch_errors ("some error happened", RETURN_MASK_ERROR,
                      function_with_args, arg1, arg2);
      
        catch_errors ("some error happened", RETURN_MASK_ERROR,
                      function_with_no_args);
      
      but I'm thinking that that doesn't improve much if at all either.)
      
      gdb/ChangeLog
      2017-10-10  Pedro Alves  <palves@redhat.com>
      	    Tom Tromey  <tom@tromey.com>
      
      	* breakpoint.c (breakpoint_cond_eval): Change return type to bool
      	and reverse logic.
      	(WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
      	No longer macros.  Instead ...
      	(enum wp_check_result): They're now values of this new
      	enumeration.
      	(watchpoint_check): Change return type to wp_check_result and
      	parameter type to bpstat.
      	(bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
      	(bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
      	catch_errors.  Reverse logic of watchpoint_check call.
      	(breakpoint_re_set_one): Now returns void and takes a breakpoint
      	pointer as parameter.
      	(breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
      	* common/common-exceptions.c (throw_exception_sjlj): Update
      	comments to avoid mentioning catch_errors.
      	* exceptions.c (catch_errors): Delete.
      	* exceptions.h: Update comments to avoid mentioning catch_errors.
      	(catch_errors_ftype, catch_errors): Delete.
      	* infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
      	(hook_stop_stub): Delete.
      	(restore_selected_frame): Change return type to void, and
      	parameter type to const frame_id &.
      	(restore_infcall_control_state): Use TRY/CATCH instead of
      	catch_errors.
      	* main.c (captured_command_loop): Return void and remove
      	parameter.  Remove references to catch_errors.
      	(captured_main): Use TRY/CATCH instead of catch_errors.
      	* objc-lang.c (objc_submethod_helper_data)
      	(find_objc_msgcall_submethod_helper): Delete.
      	(find_objc_msgcall_submethod): Use TRY/CATCH instead of
      	catch_errors.
      	* record-full.c (record_full_message): Return void.
      	(record_full_message_args, record_full_message_wrapper): Delete.
      	(record_full_message_wrapper_safe): Return bool and use TRY/CATCH
      	instead of catch_errors.
      	* solib-aix.c (solib_aix_open_symbol_file_object): Change
      	parameter type to int.
      	* solib-darwin.c (open_symbol_file_object): Ditto.
      	* solib-dsbt.c (open_symbol_file_object): Ditto.
      	* solib-frv.c (open_symbol_file_object): Ditto.
      	* solib-svr4.c (open_symbol_file_object): Ditto.
      	* solib-target.c (solib_target_open_symbol_file_object): Ditto.
      	* solib.c (update_solib_list): Use TRY/CATCH instead of
      	catch_errors.
      	* solist.h (struct target_so_ops) <open_symbol_file_object>:
      	Change type.
      	* symmisc.c (struct print_symbol_args): Remove.
      	(dump_symtab_1): Use TRY/CATCH instead of catch_errors.
      	(print_symbol): Change type.
      	* windows-nat.c (handle_load_dll, handle_unload_dll): Return void
      	and remove parameters.
      	(catch_errors): New.
      	(get_windows_debug_event): Adjust.
      
      gdb/testsuite/ChangeLog:
      2017-10-10  Pedro Alves  <palves@redhat.com>
      
      	* lib/selftest-support.exp (selftest_setup): Update for
      	captured_command_loop's prototype change.
      bf469271
  10. 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
  11. 28 Apr, 2017 2 commits
    • Simon Marchi's avatar
      Class-ify lm_info_dsbt · b0911207
      Simon Marchi authored
      This patches makes lm_info_dsbt a "real" class.  It introduces a
      destructor, initializes the field and replaces XCNEW/xfree with
      new/delete.
      
      gdb/ChangeLog:
      
      	* solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
      	map field.
      	(dsbt_current_sos): Allocate lm_info_dsbt with new.
      	(dsbt_relocate_main_executable): Free lm_info_dsbt with delete
      	and allocate with new.
      	(dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
      b0911207
    • Simon Marchi's avatar
      Make various lm_info implementations inherit from a base class · d0e449a1
      Simon Marchi authored
      The lm_info structure is used to store target specific information about
      mapped libraries.  It is currently defined as an opaque type in solist.h
      and a pointer to it is included in solist, the target-agnostic object
      representing a loaded shared library.  Multiple targets define their own
      implementation of lm_info.
      
      In anticipation of using C++ stuff (e.g. vector) in the lm_info objects,
      we first need to avoid different definitions of classes with the same
      name (which violates the one definition rule).  This patch does it by
      having a base class (lm_info_base) from which all the specific lm_info
      derive.  Each implementation is renamed to something that makes sense
      (e.g. lm_info_aix for AIX).  The next logical step would probably be to
      derive directly from so_list, it's not really obvious, so I'll keep that
      for another day.
      
      One special case is the Neutrino (nto) support.  It uses SVR4-style
      libraries, but overrides some methods.  To do that, it needed to have
      its own copy of SVR4's lm_info structure in nto-tdep.c, because it was
      just not possible to put it in solib-svr4.h and include that file.  Over
      time, that copy got out of sync, which is still the case today.  I can
      only assume that the lm_addr function in nto-tdep.c is broken right now.
      The first field of the old lm_info was a pointer (gdb_byte *), whereas
      in the new lm_info it's an address in the inferior (CORE_ADDR).  Trying
      to use that field today probably results in a crash.  With this
      refactor, it's now possible to put lm_info_svr4 in solib-svr4.h and just
      include it.  I have adapted the code in nto-tdep.c to that it builds,
      but it's probably not correct.  Since I don't have the knowledge nor
      setup to try this on Neutrino, somebody else would have to fix it.  But
      I am confident that I am not making things worse than they already are.
      
      gdb/ChangeLog:
      
      	* solist.h (struct lm_info): Remove.
      	(struct lm_info_base): New class.
      	(struct so_list) <lm_info>: Change type to lm_info_base *.
      	* nto-tdep.c (struct lm_info): Remove.
      	(lm_addr): Adjust.
      	* solib-aix.c (struct lm_info): Rename to ...
      	(struct lm_info_aix): ... this.  Extend lm_info_base.
      	(lm_info_p): Rename to ...
      	(lm_info_aix_p): ... this, and adjust.
      	(solib_aix_new_lm_info, solib_aix_xfree_lm_info,
      	solib_aix_parse_libraries, library_list_start_library,
      	solib_aix_free_library_list, solib_aix_parse_libraries,
      	solib_aix_get_library_list,
      	solib_aix_relocate_section_addresses, solib_aix_free_so,
      	solib_aix_get_section_offsets,
      	solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
      	Adjust.
      	(struct solib_aix_inferior_data) <library_list>: Adjust.
      	* solib-darwin.c (struct lm_info): Rename to ...
      	(struct lm_info_darwin): ... this.  Extend lm_info_base.
      	(darwin_current_sos, darwin_relocate_section_addresses): Adjust.
      	* solib-dsbt.c (struct lm_info): Rename to ...
      	(struct lm_info_dsbt): ... this.  Extend lm_info_base.
      	(struct dsbt_info) <main_executable_lm_info): Adjust.
      	(dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
      	dsbt_relocate_section_addresses): Adjust.
      	* solib-frv.c (struct lm_info): Rename to ...
      	(struct lm_info_frv): ... this.  Extend lm_info_base.
      	(main_executable_lm_info): Adjust.
      	(frv_current_sos, frv_relocate_main_executable, frv_free_so,
      	frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
      	find_canonical_descriptor_in_load_object,
      	frv_fdpic_find_canonical_descriptor): Adjust.
      	* solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
      	to lm_info_svr4.
      	(lm_info_read, lm_addr_check, svr4_keep_data_in_core,
      	svr4_clear_so, svr4_copy_library_list,
      	library_list_start_library, svr4_default_sos, svr4_read_so_list,
      	svr4_current_sos, svr4_fetch_objfile_link_map,
      	solist_update_incremental): Adjust.
      	* solib-svr4.h (struct lm_info_svr4): Move here from
      	solib-svr4.c.
      	* solib-target.c (struct lm_info): Rename to ...
      	(struct lm_info_target): ... this.  Extend lm_info_base.
      	(lm_info_p): Rename to ...
      	(lm_info_target_p): ... this.
      	(solib_target_parse_libraries, library_list_start_segment,
      	library_list_start_section, library_list_start_library,
      	library_list_end_library, solib_target_free_library_list,
      	solib_target_current_sos, solib_target_free_so,
      	solib_target_relocate_section_addresses): Adjust.
      	* windows-nat.c (struct lm_info): Rename to ...
      	(struct lm_info_windows): ... this.  Extend lm_info_base.
      	(windows_make_so, handle_load_dll, handle_unload_dll,
      	windows_xfer_shared_libraries): Adjust.
      d0e449a1
  12. 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
  13. 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
  14. 21 Oct, 2016 1 commit
    • Philipp Rudo's avatar
      Delete target_so_ops->special_symbol_handling hook · 4db41a0a
      Philipp Rudo authored
      No one(!) actually implements this hook. So simply delete it.
      
      gdb/ChangeLog:
      
      	* solist.h (struct target_so_ops): Delete special_symbol_handling
      	hook.
      	* solib.c (solib_add, reload_shared_libraries): Adjust.
      	* solib-aix.c (solib_aix_special_symbol_handling): Delete
      	(_initialize_solib_aix): Adjust
      	* solib-darwin.c (darwin_special_symbol_handling): Delete
      	(_initialize_darwin_solib): Adjust
      	* solib-dsbt.c (dsbt_special_symbol_handling): Delete
      	(_initialize_dsbt_solib): Adjust
      	* solib-frv.c (frv_special_symbol_handling): Delete
      	(_initialize_frv_solib): Adjust
      	* solib-svr4.c (svr4_special_symbol_handling): Delete
      	(_initialize_svr4_solib): Adjust
      	* solib-target.c (solib_target_special_symbol_handling): Delete
      	(_initialize_solib_target): Adjust
      4db41a0a
  15. 08 May, 2016 1 commit
    • Trevor Saunders's avatar
      remove trivialy unused variables · 870f88f7
      Trevor Saunders authored
      gdb/ChangeLog:
      
      2016-05-07  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      
      	* aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Remove unused
      	variables.
      	* aarch64-tdep.c (aarch64_skip_prologue): Likewise.
      	(aarch64_scan_prologue): Likewise.
      	(aarch64_prologue_prev_register): Likewise.
      	(aarch64_dwarf2_prev_register): Likewise.
      	(pass_in_v): Likewise.
      	(aarch64_push_dummy_call): Likewise.
      	(aarch64_breakpoint_from_pc): Likewise.
      	(aarch64_return_in_memory): Likewise.
      	(aarch64_return_value): Likewise.
      	(aarch64_displaced_step_b_cond): Likewise.
      	(aarch64_displaced_step_cb): Likewise.
      	(aarch64_displaced_step_tb): Likewise.
      	(aarch64_gdbarch_init): Likewise.
      	(aarch64_process_record): Likewise.
      	* alpha-mdebug-tdep.c (alpha_mdebug_init_abi): Likewise.
      	* alpha-tdep.c (_initialize_alpha_tdep): Likewise.
      	* amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
      	* amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Likewise.
      	* amd64-tdep.c (fixup_riprel): Likewise.
      	* amd64-windows-tdep.c (amd64_windows_frame_decode_epilogue): Likewise.
      	(amd64_windows_frame_decode_insns): Likewise.
      	(amd64_windows_frame_cache): Likewise.
      	(amd64_windows_frame_prev_register): Likewise.
      	(amd64_windows_frame_this_id): Likewise.
      	(amd64_windows_init_abi): Likewise.
      	* arm-linux-tdep.c (arm_linux_get_syscall_number): Likewise.
      	(arm_linux_get_next_pcs_syscall_next_pc): Likewise.
      	* arm-symbian-tdep.c (arm_symbian_init_abi): Likewise.
      	* arm-tdep.c (arm_make_epilogue_frame_cache): Likewise.
      	(arm_epilogue_frame_prev_register): Likewise.
      	(arm_record_vdata_transfer_insn): Likewise.
      	(arm_record_exreg_ld_st_insn): Likewise.
      	* auto-load.c (execute_script_contents): Likewise.
      	(print_scripts): Likewise.
      	* avr-tdep.c (avr_frame_prev_register): Likewise.
      	(avr_push_dummy_call): Likewise.
      	* bfin-linux-tdep.c (bfin_linux_sigframe_init): Likewise.
      	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
      	* blockframe.c (find_pc_partial_function_gnu_ifunc): Likewise.
      	* break-catch-throw.c (fetch_probe_arguments): Likewise.
      	* breakpoint.c (breakpoint_xfer_memory): Likewise.
      	(breakpoint_init_inferior): Likewise.
      	(breakpoint_inserted_here_p): Likewise.
      	(software_breakpoint_inserted_here_p): Likewise.
      	(hardware_breakpoint_inserted_here_p): Likewise.
      	(bpstat_what): Likewise.
      	(break_range_command): Likewise.
      	(save_breakpoints): Likewise.
      	* coffread.c (coff_symfile_read): Likewise.
      	* cris-tdep.c (cris_push_dummy_call): Likewise.
      	(cris_scan_prologue): Likewise.
      	(cris_register_size): Likewise.
      	(_initialize_cris_tdep): Likewise.
      	* d-exp.y: Likewise.
      	* dbxread.c (dbx_read_symtab): Likewise.
      	(process_one_symbol): Likewise.
      	(coffstab_build_psymtabs): Likewise.
      	(elfstab_build_psymtabs): Likewise.
      	* dicos-tdep.c (dicos_init_abi): Likewise.
      	* disasm.c (do_mixed_source_and_assembly): Likewise.
      	(gdb_disassembly): Likewise.
      	* dtrace-probe.c (dtrace_process_dof): Likewise.
      	* dwarf2read.c (error_check_comp_unit_head): Likewise.
      	(build_type_psymtabs_1): Likewise.
      	(skip_one_die): Likewise.
      	(process_imported_unit_die): Likewise.
      	(dwarf2_physname): Likewise.
      	(read_file_scope): Likewise.
      	(setup_type_unit_groups): Likewise.
      	(create_dwo_cu_reader): Likewise.
      	(create_dwo_cu): Likewise.
      	(create_dwo_unit_in_dwp_v1): Likewise.
      	(create_dwo_unit_in_dwp_v2): Likewise.
      	(lookup_dwo_unit_in_dwp): Likewise.
      	(free_dwo_file): Likewise.
      	(check_producer): Likewise.
      	(dwarf2_add_typedef): Likewise.
      	(dwarf2_add_member_fn): Likewise.
      	(read_unsigned_leb128): Likewise.
      	(read_signed_leb128): Likewise.
      	(dwarf2_const_value): Likewise.
      	(follow_die_sig_1): Likewise.
      	(dwarf_decode_macro_bytes): Likewise.
      	* extension.c (restore_active_ext_lang): Likewise.
      	* frv-linux-tdep.c (frv_linux_sigtramp_frame_cache): Likewise.
      	* ft32-tdep.c (ft32_analyze_prologue): Likewise.
      	* gdbtypes.c (lookup_typename): Likewise.
      	(resolve_dynamic_range): Likewise.
      	(check_typedef): Likewise.
      	* h8300-tdep.c (h8300_is_argument_spill): Likewise.
      	(h8300_gdbarch_init): Likewise.
      	* hppa-tdep.c (hppa32_push_dummy_call): Likewise.
      	(hppa_frame_this_id): Likewise.
      	(_initialize_hppa_tdep): Likewise.
      	* hppanbsd-tdep.c (hppanbsd_sigtramp_cache_init): Likewise.
      	* hppaobsd-tdep.c (hppaobsd_supply_fpregset): Likewise.
      	* i386-dicos-tdep.c (i386_dicos_init_abi): Likewise.
      	* i386-tdep.c (i386_bnd_type): Likewise.
      	(i386_gdbarch_init): Likewise.
      	(i386_mpx_bd_base): Likewise.
      	* i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Likewise.
      	* i386obsd-tdep.c (i386obsd_elf_init_abi): Likewise.
      	* ia64-tdep.c (examine_prologue): Likewise.
      	(ia64_frame_cache): Likewise.
      	(ia64_push_dummy_call): Likewise.
      	* infcmd.c (finish_command_fsm_async_reply_reason): Likewise.
      	(default_print_one_register_info): Likewise.
      	* infrun.c (infrun_thread_ptid_changed): Likewise.
      	(thread_still_needs_step_over): Likewise.
      	(stop_all_threads): Likewise.
      	(restart_threads): Likewise.
      	(keep_going_stepped_thread): Likewise.
      	* iq2000-tdep.c (iq2000_scan_prologue): Likewise.
      	* language.c (language_init_primitive_type_symbols): Likewise.
      	* linespec.c (add_sal_to_sals): Likewise.
      	* linux-nat.c (status_callback): Likewise.
      	(kill_unfollowed_fork_children): Likewise.
      	(linux_nat_kill): Likewise.
      	* linux-tdep.c (linux_fill_prpsinfo): Likewise.
      	* linux-thread-db.c (thread_db_notice_clone): Likewise.
      	(record_thread): Likewise.
      	* location.c (string_to_event_location_basic): Likewise.
      	* m32c-tdep.c (m32c_prev_register): Likewise.
      	* m32r-linux-tdep.c (m32r_linux_init_abi): Likewise.
      	* m32r-tdep.c (decode_prologue): Likewise.
      	* m68klinux-tdep.c (m68k_linux_sigtramp_frame_cache): Likewise.
      	* machoread.c (macho_symtab_read): Likewise.
      	(macho_symfile_read): Likewise.
      	(macho_symfile_offsets): Likewise.
      	* maint.c (set_per_command_cmd): Likewise.
      	* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Likewise.
      	(mi_cmd_stack_list_variables): Likewise.
      	* mi/mi-main.c (mi_cmd_exec_run): Likewise.
      	(output_register): Likewise.
      	(mi_cmd_execute): Likewise.
      	(mi_cmd_trace_define_variable): Likewise.
      	(print_variable_or_computed): Likewise.
      	* minsyms.c (prim_record_minimal_symbol_full): Likewise.
      	* mn10300-tdep.c (mn10300_frame_prev_register): Likewise.
      	* msp430-tdep.c (msp430_pseudo_register_write): Likewise.
      	* mt-tdep.c (mt_registers_info): Likewise.
      	* nios2-tdep.c (nios2_analyze_prologue): Likewise.
      	(nios2_push_dummy_call): Likewise.
      	(nios2_frame_unwind_cache): Likewise.
      	(nios2_stub_frame_cache): Likewise.
      	(nios2_stub_frame_sniffer): Likewise.
      	(nios2_gdbarch_init): Likewise.
      	* ppc-ravenscar-thread.c: Likewise.
      	* ppcfbsd-tdep.c (ppcfbsd_sigtramp_frame_cache): Likewise.
      	* python/py-evts.c (add_new_registry): Likewise.
      	* python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
      	(bpfinishpy_detect_out_scope_cb): Likewise.
      	* python/py-framefilter.c (py_print_value): Likewise.
      	* python/py-inferior.c (infpy_write_memory): Likewise.
      	* python/py-infevents.c (create_inferior_call_event_object): Likewise.
      	* python/py-infthread.c (thpy_get_ptid): Likewise.
      	* python/py-linetable.c (ltpy_get_pcs_for_line): Likewise.
      	(ltpy_get_all_source_lines): Likewise.
      	(ltpy_is_valid): Likewise.
      	(ltpy_iternext): Likewise.
      	* python/py-symtab.c (symtab_and_line_to_sal_object): Likewise.
      	* python/py-unwind.c (pyuw_object_attribute_to_pointer): Likewise.
      	(unwind_infopy_str): Likewise.
      	* python/py-varobj.c (py_varobj_get_iterator): Likewise.
      	* ravenscar-thread.c (ravenscar_inferior_created): Likewise.
      	* rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
      	* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
      	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Likewise.
      	* s390-linux-tdep.c (s390_supply_tdb_regset): Likewise.
      	(s390_frame_prev_register): Likewise.
      	(s390_dwarf2_frame_init_reg): Likewise.
      	(s390_record_vr): Likewise.
      	(s390_process_record): Likewise.
      	* score-tdep.c (score_push_dummy_call): Likewise.
      	(score3_analyze_prologue): Likewise.
      	* sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
      	* sh64-tdep.c (sh64_analyze_prologue): Likewise.
      	(sh64_push_dummy_call): Likewise.
      	(sh64_extract_return_value): Likewise.
      	(sh64_do_fp_register): Likewise.
      	* solib-aix.c (solib_aix_get_section_offsets): Likewise.
      	* solib-darwin.c (darwin_read_exec_load_addr_from_dyld): Likewise.
      	(darwin_solib_read_all_image_info_addr): Likewise.
      	* solib-dsbt.c (enable_break): Likewise.
      	* solib-frv.c (enable_break2): Likewise.
      	(frv_fdpic_find_canonical_descriptor): Likewise.
      	* solib-svr4.c (svr4_handle_solib_event): Likewise.
      	* sparc-tdep.c (sparc_skip_stack_check): Likewise.
      	* sparc64-linux-tdep.c (sparc64_linux_get_longjmp_target): Likewise.
      	* sparcobsd-tdep.c (sparc32obsd_init_abi): Likewise.
      	* spu-tdep.c (info_spu_dma_cmdlist): Likewise.
      	* stack.c (read_frame_local): Likewise.
      	* symfile.c (symbol_file_add_separate): Likewise.
      	(remove_symbol_file_command): Likewise.
      	* symmisc.c (maintenance_print_one_line_table): Likewise.
      	* symtab.c (symbol_cache_flush): Likewise.
      	(basic_lookup_transparent_type): Likewise.
      	(sort_search_symbols_remove_dups): Likewise.
      	* target.c (target_memory_map): Likewise.
      	(target_detach): Likewise.
      	(target_resume): Likewise.
      	(acquire_fileio_fd): Likewise.
      	(target_store_registers): Likewise.
      	* thread.c (print_thread_info_1): Likewise.
      	* tic6x-tdep.c (tic6x_analyze_prologue): Likewise.
      	* tilegx-linux-tdep.c (tilegx_linux_sigframe_init): Likewise.
      	* tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
      	(tilegx_analyze_prologue): Likewise.
      	(tilegx_stack_frame_destroyed_p): Likewise.
      	(tilegx_frame_cache): Likewise.
      	* tracefile.c (trace_save): Likewise.
      	* tracepoint.c (encode_actions_and_make_cleanup): Likewise.
      	(start_tracing): Likewise.
      	(print_one_static_tracepoint_marker): Likewise.
      	* tui/tui.c (tui_enable): Likewise.
      	* valops.c (value_struct_elt_bitpos): Likewise.
      	(find_overload_match): Likewise.
      	(find_oload_champ): Likewise.
      	* value.c (value_contents_copy_raw): Likewise.
      	* windows-tdep.c (windows_get_tlb_type): Likewise.
      	* x86-linux-nat.c (x86_linux_enable_btrace): Likewise.
      	* xcoffread.c (record_minimal_symbol): Likewise.
      	(scan_xcoff_symtab): Likewise.
      	* xtensa-tdep.c (execute_code): Likewise.
      	(xtensa_gdbarch_init): Likewise.
      	(_initialize_xtensa_tdep): Likewise.
      870f88f7
  16. 01 Jan, 2016 1 commit
  17. 13 Oct, 2015 1 commit
    • Simon Marchi's avatar
      Constify arguments of gdb_bfd_lookup_symbol and related functions · 3953f15c
      Simon Marchi authored
      Fixes this error:
      
      /home/pedro/gdb/mygit/src/gdb/solib-frv.c: In function ‘int enable_break2()’:
      /home/pedro/gdb/mygit/src/gdb/solib-frv.c:622:72: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
             addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_addr");
                                                                              ^
      In file included from /home/pedro/gdb/mygit/src/gdb/solib-frv.c:23:0:
      /home/pedro/gdb/mygit/src/gdb/solib.h:82:18: error:   initializing argument 3 of ‘CORE_ADDR gdb_bfd_lookup_symbol(bfd*, int (*)(asymbol*, void*), void*)’ [-fpermissive]
       extern CORE_ADDR gdb_bfd_lookup_symbol (bfd *abfd,
                        ^
      
      The call in question is:
      
            addr = gdb_bfd_lookup_symbol (tmp_bfd, cmp_name, "_dl_debug_addr");
      
      gdb/ChangeLog:
      
      	* solib-dsbt.c (cmp_name): Constify arguments.
      	* solib-frv.c (cmp_name): Likewise.
      	* solib-svr4.c (svr4_create_solib_event_breakpoints): Likewise.
      	* solib.c (gdb_bfd_lookup_symbol_from_symtab): Likewise.
      	(bfd_lookup_symbol_from_dyn_symtab): Likewise.
      	(gdb_bfd_lookup_symbol): Likewise.
      	* solib.h (gdb_bfd_lookup_symbol): Likewise.
      	(gdb_bfd_lookup_symbol_from_symtab): Likewise.
      3953f15c
  18. 25 Sep, 2015 2 commits
    • Simon Marchi's avatar
      Add some more casts (2/2) · 19ba03f4
      Simon Marchi authored
      See previous patch's description.
      
      gdb/ChangeLog:
      
      	* macrocmd.c (print_macro_callback): Add cast(s).
      	* macrotab.c (macro_bcache_str): Likewise.
      	(new_macro_definition): Likewise.
      	* main.c (captured_main): Likewise.
      	* maint.c (print_bfd_section_info): Likewise.
      	* mdebugread.c (mdebug_build_psymtabs): Likewise.
      	(basic_type): Likewise.
      	* memattr.c (mem_region_cmp): Likewise.
      	* memory-map.c (memory_map_start_memory): Likewise.
      	(memory_map_end_memory): Likewise.
      	(memory_map_start_property): Likewise.
      	(memory_map_end_property): Likewise.
      	(clear_result): Likewise.
      	* memrange.c (compare_mem_ranges): Likewise.
      	* mep-tdep.c (mep_analyze_frame_prologue): Likewise.
      	* mi/mi-cmd-var.c (mi_cmd_var_update_iter): Likewise.
      	* mi/mi-console.c (mi_console_file_delete): Likewise.
      	(mi_console_file_fputs): Likewise.
      	(mi_console_raw_packet): Likewise.
      	(mi_console_file_flush): Likewise.
      	(mi_console_set_raw): Likewise.
      	* mi/mi-interp.c (mi_interpreter_resume): Likewise.
      	(mi_new_thread): Likewise.
      	(mi_thread_exit): Likewise.
      	(mi_record_changed): Likewise.
      	(mi_inferior_added): Likewise.
      	(mi_inferior_appeared): Likewise.
      	(mi_inferior_exit): Likewise.
      	(mi_inferior_removed): Likewise.
      	(mi_interp_data): Likewise.
      	(mi_on_normal_stop): Likewise.
      	(mi_traceframe_changed): Likewise.
      	(mi_tsv_created): Likewise.
      	(mi_tsv_deleted): Likewise.
      	(mi_tsv_modified): Likewise.
      	(mi_breakpoint_created): Likewise.
      	(mi_breakpoint_deleted): Likewise.
      	(mi_breakpoint_modified): Likewise.
      	(mi_output_running_pid): Likewise.
      	(mi_inferior_count): Likewise.
      	(mi_solib_loaded): Likewise.
      	(mi_solib_unloaded): Likewise.
      	(mi_command_param_changed): Likewise.
      	(mi_memory_changed): Likewise.
      	(report_initial_inferior): Likewise.
      	(mi_ui_out): Likewise.
      	(mi_set_logging): Likewise.
      	* mi/mi-main.c (collect_cores): Likewise.
      	(print_one_inferior): Likewise.
      	(free_vector_of_ints): Likewise.
      	(free_splay_tree): Likewise.
      	(mi_execute_command): Likewise.
      	* mi/mi-out.c (mi_table_body): Likewise.
      	(mi_table_end): Likewise.
      	(mi_table_header): Likewise.
      	(mi_begin): Likewise.
      	(mi_end): Likewise.
      	(mi_field_int): Likewise.
      	(mi_field_string): Likewise.
      	(mi_field_fmt): Likewise.
      	(mi_flush): Likewise.
      	(mi_redirect): Likewise.
      	(field_separator): Likewise.
      	(mi_open): Likewise.
      	(mi_close): Likewise.
      	(mi_out_buffered): Likewise.
      	(mi_out_rewind): Likewise.
      	(mi_out_put): Likewise.
      	(mi_version): Likewise.
      	(mi_out_data_dtor): Likewise.
      	* mi/mi-parse.c (mi_parse_cleanup): Likewise.
      	* microblaze-tdep.c (microblaze_frame_cache): Likewise.
      	* minidebug.c (lzma_open): Likewise.
      	(lzma_pread): Likewise.
      	(lzma_close): Likewise.
      	(lzma_stat): Likewise.
      	* mips-linux-tdep.c (mips_linux_init_abi): Likewise.
      	* mips-sde-tdep.c (mips_sde_frame_cache): Likewise.
      	(mips_sde_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* mips-tdep.c (mips_insn16_frame_cache): Likewise.
      	(mips_micro_frame_cache): Likewise.
      	(mips_insn32_frame_cache): Likewise.
      	(mips_stub_frame_cache): Likewise.
      	(gdb_print_insn_mips): Likewise.
      	(value_of_mips_user_reg): Likewise.
      	(mips_gdbarch_init): Likewise.
      	* mips64obsd-tdep.c (mips64obsd_supply_gregset): Likewise.
      	* mipsnbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
      	(mipsnbsd_supply_gregset): Likewise.
      	* mn10300-linux-tdep.c (am33_supply_fpregset_method): Likewise.
      	(am33_collect_gregset_method): Likewise.
      	(am33_collect_fpregset_method): Likewise.
      	* mn10300-tdep.c (mn10300_analyze_frame_prologue): Likewise.
      	* moxie-tdep.c (moxie_frame_cache): Likewise.
      	* msp430-tdep.c (msp430_get_opcode_byte): Likewise.
      	(msp430_analyze_frame_prologue): Likewise.
      	* mt-tdep.c (mt_frame_unwind_cache): Likewise.
      	* nios2-linux-tdep.c (nios2_supply_gregset): Likewise.
      	(nios2_collect_gregset): Likewise.
      	* nios2-tdep.c (nios2_frame_unwind_cache): Likewise.
      	(nios2_stub_frame_cache): Likewise.
      	* objc-lang.c (find_methods): Likewise.
      	* objfiles.c (objfiles_pspace_data_cleanup): Likewise.
      	(get_objfile_pspace_data): Likewise.
      	(get_objfile_bfd_data): Likewise.
      	(objfile_bfd_data_free): Likewise.
      	(add_to_objfile_sections): Likewise.
      	(do_free_objfile_cleanup): Likewise.
      	(resume_section_map_updates_cleanup): Likewise.
      	* opencl-lang.c (builtin_opencl_type): Likewise.
      	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* osdata.c (osdata_start_osdata): Likewise.
      	(osdata_start_item): Likewise.
      	(osdata_start_column): Likewise.
      	(osdata_end_column): Likewise.
      	(clear_parsing_data): Likewise.
      	(osdata_free_cleanup): Likewise.
      	* parse.c (type_stack_cleanup): Likewise.
      	(exp_uses_objfile_iter): Likewise.
      	* ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
      	(ppc_linux_collect_gregset): Likewise.
      	(ppu2spu_prev_arch): Likewise.
      	(ppu2spu_this_id): Likewise.
      	(ppu2spu_prev_register): Likewise.
      	(ppu2spu_unwind_register): Likewise.
      	(ppu2spu_sniffer): Likewise.
      	(ppu2spu_dealloc_cache): Likewise.
      	(ppc_linux_init_abi): Likewise.
      	* ppcfbsd-tdep.c (ppcfbsd_sigtramp_frame_cache): Likewise.
      	* ppcobsd-tdep.c (ppcobsd_sigtramp_frame_cache): Likewise.
      	* progspace.c (restore_program_space): Likewise.
      	* psymtab.c (find_pc_sect_psymtab): Likewise.
      	(compare_psymbols): Likewise.
      	(psymbol_bcache_full): Likewise.
      	(allocate_psymtab): Likewise.
      	(discard_psymtabs_upto): Likewise.
      	* python/py-block.c (set_block): Likewise.
      	(del_objfile_blocks): Likewise.
      	* python/py-breakpoint.c (build_bp_list): Likewise.
      	* python/py-inferior.c (inferior_to_inferior_object): Likewise.
      	(build_inferior_list): Likewise.
      	(py_free_inferior): Likewise.
      	* python/py-objfile.c (py_free_objfile): Likewise.
      	(objfile_to_objfile_object): Likewise.
      	* python/py-prettyprint.c (py_restore_tstate): Likewise.
      	* python/py-progspace.c (py_free_pspace): Likewise.
      	(pspace_to_pspace_object): Likewise.
      	* python/py-symbol.c (set_symbol): Likewise.
      	(del_objfile_symbols): Likewise.
      	* python/py-symtab.c (set_sal): Likewise.
      	(set_symtab): Likewise.
      	(del_objfile_symtab): Likewise.
      	(del_objfile_sal): Likewise.
      	* python/py-type.c (save_objfile_types): Likewise.
      	(set_type): Likewise.
      	* python/py-unwind.c (pyuw_prev_register): Likewise.
      	(pyuw_on_new_gdbarch): Likewise.
      	* python/py-utils.c (py_decref): Likewise.
      	(py_xdecref): Likewise.
      	(gdb_py_generic_dict): Likewise.
      	* python/py-xmethods.c (gdbpy_free_xmethod_worker_data): Likewise.
      	(gdbpy_clone_xmethod_worker_data): Likewise.
      	(gdbpy_get_xmethod_arg_types): Likewise.
      	(gdbpy_get_xmethod_result_type): Likewise.
      	(gdbpy_invoke_xmethod): Likewise.
      	* python/python.c (gdbpy_apply_type_printers): Likewise.
      	(gdbpy_free_type_printers): Likewise.
      	* record-btrace.c (record_btrace_disable_callback): Likewise.
      	(bfcache_hash): Likewise.
      	(bfcache_eq): Likewise.
      	(btrace_get_frame_function): Likewise.
      	(record_btrace_frame_unwind_stop_reason): Likewise.
      	(record_btrace_frame_this_id): Likewise.
      	(record_btrace_frame_prev_register): Likewise.
      	(record_btrace_frame_dealloc_cache): Likewise.
      	* record-full.c (record_full_message_wrapper): Likewise.
      	(record_full_save_cleanups): Likewise.
      	* regcache.c (regcache_descr): Likewise.
      	(do_regcache_xfree): Likewise.
      	(do_regcache_invalidate): Likewise.
      	(do_cooked_read): Likewise.
      	(regcache_transfer_regset): Likewise.
      	* reggroups.c (reggroup_add): Likewise.
      	(reggroup_next): Likewise.
      	(reggroup_prev): Likewise.
      	* remote-fileio.c (do_remote_fileio_request): Likewise.
      	* remote-notif.c (remote_async_get_pending_events_handler): Likewise.
      	(do_notif_event_xfree): Likewise.
      	* remote.c (get_remote_arch_state): Likewise.
      	(remote_pspace_data_cleanup): Likewise.
      	(get_remote_exec_file): Likewise.
      	(set_pspace_remote_exec_file): Likewise.
      	(compare_pnums): Likewise.
      	(clear_threads_listing_context): Likewise.
      	(remote_newthread_step): Likewise.
      	(start_thread): Likewise.
      	(end_thread): Likewise.
      	(remove_child_of_pending_fork): Likewise.
      	(remove_stop_reply_for_inferior): Likewise.
      	(remove_stop_reply_of_remote_state): Likewise.
      	(remote_notif_remove_once_on_match): Likewise.
      	(stop_reply_match_ptid_and_ws): Likewise.
      	(kill_child_of_pending_fork): Likewise.
      	(register_remote_g_packet_guess): Likewise.
      	(remote_read_description_p): Likewise.
      	(remote_read_description): Likewise.
      	(free_actions_list_cleanup_wrapper): Likewise.
      	(remote_async_serial_handler): Likewise.
      	* rl78-tdep.c (rl78_get_opcode_byte): Likewise.
      	(rl78_analyze_frame_prologue): Likewise.
      	* rs6000-tdep.c (ppc_supply_gregset): Likewise.
      	(ppc_supply_fpregset): Likewise.
      	(ppc_supply_vsxregset): Likewise.
      	(ppc_supply_vrregset): Likewise.
      	(ppc_collect_gregset): Likewise.
      	(ppc_collect_fpregset): Likewise.
      	(ppc_collect_vsxregset): Likewise.
      	(ppc_collect_vrregset): Likewise.
      	(e500_move_ev_register): Likewise.
      	(do_regcache_raw_write): Likewise.
      	(rs6000_frame_cache): Likewise.
      	(rs6000_epilogue_frame_cache): Likewise.
      	(rs6000_gdbarch_init): Likewise.
      	* rx-tdep.c (rx_get_opcode_byte): Likewise.
      	(rx_analyze_frame_prologue): Likewise.
      	(rx_frame_type): Likewise.
      	(rx_frame_sniffer_common): Likewise.
      	* s390-linux-tdep.c (s390_check_for_saved): Likewise.
      	(s390_frame_unwind_cache): Likewise.
      	(s390_stub_frame_unwind_cache): Likewise.
      	(s390_sigtramp_frame_unwind_cache): Likewise.
      	* score-tdep.c (score_make_prologue_cache): Likewise.
      	* sentinel-frame.c (sentinel_frame_prev_register): Likewise.
      	(sentinel_frame_prev_arch): Likewise.
      	* ser-base.c (fd_event): Likewise.
      	(push_event): Likewise.
      	(ser_base_write): Likewise.
      	* ser-pipe.c (pipe_close): Likewise.
      	* serial.c (serial_write): Likewise.
      	* sh-tdep.c (sh_frame_cache): Likewise.
      	(sh_stub_this_id): Likewise.
      	* sh64-tdep.c (sh64_frame_cache): Likewise.
      	* solib-aix.c (get_solib_aix_inferior_data): Likewise.
      	(library_list_start_library): Likewise.
      	(library_list_start_list): Likewise.
      	(solib_aix_free_library_list): Likewise.
      	* solib-darwin.c (get_darwin_info): Likewise.
      	* solib-dsbt.c (get_dsbt_info): Likewise.
      	* solib-spu.c (append_ocl_sos): Likewise.
      	* solib-svr4.c (svr4_pspace_data_cleanup): Likewise.
      	(get_svr4_info): Likewise.
      	(library_list_start_library): Likewise.
      	(svr4_library_list_start_list): Likewise.
      	(hash_probe_and_action): Likewise.
      	(equal_probe_and_action): Likewise.
      	(svr4_update_solib_event_breakpoint): Likewise.
      	(set_solib_svr4_fetch_link_map_offsets): Likewise.
      	(svr4_fetch_link_map_offsets): Likewise.
      	(svr4_have_link_map_offsets): Likewise.
      	* solib-target.c (library_list_start_segment): Likewise.
      	(library_list_start_section): Likewise.
      	(library_list_start_library): Likewise.
      	(library_list_end_library): Likewise.
      	(library_list_start_list): Likewise.
      	(solib_target_free_library_list): Likewise.
      	* solib.c (solib_ops): Likewise.
      	(set_solib_ops): Likewise.
      	* sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise.
      	* sparc-tdep.c (sparc_frame_cache): Likewise.
      	(sparc32_frame_cache): Likewise.
      	(sparc32_supply_gregset): Likewise.
      	(sparc32_collect_gregset): Likewise.
      	(sparc32_supply_fpregset): Likewise.
      	(sparc32_collect_fpregset): Likewise.
      	* sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise.
      	* sparc64-tdep.c (sparc64_supply_gregset): Likewise.
      	(sparc64_collect_gregset): Likewise.
      	(sparc64_supply_fpregset): Likewise.
      	(sparc64_collect_fpregset): Likewise.
      	* sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_cache): Likewise.
      	* sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_cache): Likewise.
      	* sparc64obsd-tdep.c (sparc64obsd_frame_cache): Likewise.
      	(sparc64obsd_trapframe_cache): Likewise.
      	* sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_cache): Likewise.
      	* sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_cache): Likewise.
      	* spu-multiarch.c (spu_gdbarch): Likewise.
      	* spu-tdep.c (spu_frame_unwind_cache): Likewise.
      	(spu2ppu_prev_arch): Likewise.
      	(spu2ppu_this_id): Likewise.
      	(spu2ppu_prev_register): Likewise.
      	(spu2ppu_dealloc_cache): Likewise.
      	(spu_dis_asm_print_address): Likewise.
      	(gdb_print_insn_spu): Likewise.
      	(spu_get_overlay_table): Likewise.
      	* stabsread.c (rs6000_builtin_type): Likewise.
      	* stack.c (do_print_variable_and_value): Likewise.
      	* stap-probe.c (get_stap_base_address_1): Likewise.
      	* symfile-debug.c (debug_qf_has_symbols): Likewise.
      	(debug_qf_find_last_source_symtab): Likewise.
      	(debug_qf_forget_cached_source_info): Likewise.
      	(debug_qf_map_symtabs_matching_filename): Likewise.
      	(debug_qf_lookup_symbol): Likewise.
      	(debug_qf_print_stats): Likewise.
      	(debug_qf_dump): Likewise.
      	(debug_qf_relocate): Likewise.
      	(debug_qf_expand_symtabs_for_function): Likewise.
      	(debug_qf_expand_all_symtabs): Likewise.
      	(debug_qf_expand_symtabs_with_fullname): Likewise.
      	(debug_qf_map_matching_symbols): Likewise.
      	(debug_qf_expand_symtabs_matching): Likewise.
      	(debug_qf_find_pc_sect_compunit_symtab): Likewise.
      	(debug_qf_map_symbol_filenames): Likewise.
      	(debug_sym_get_probes): Likewise.
      	(debug_sym_new_init): Likewise.
      	(debug_sym_init): Likewise.
      	(debug_sym_read): Likewise.
      	(debug_sym_read_psymbols): Likewise.
      	(debug_sym_finish): Likewise.
      	(debug_sym_offsets): Likewise.
      	(debug_sym_read_linetable): Likewise.
      	(debug_sym_relocate): Likewise.
      	(uninstall_symfile_debug_logging): Likewise.
      	* symfile-mem.c (symbol_file_add_from_memory_wrapper): Likewise.
      	* symfile.c (place_section): Likewise.
      	(add_section_size_callback): Likewise.
      	(load_progress): Likewise.
      	(load_section_callback): Likewise.
      	(clear_memory_write_data): Likewise.
      	(allocate_symtab): Likewise.
      	* symmisc.c (maintenance_expand_file_matcher): Likewise.
      	* symtab.c (lookup_symtab_callback): Likewise.
      	(hash_demangled_name_entry): Likewise.
      	(eq_demangled_name_entry): Likewise.
      	(get_symbol_cache): Likewise.
      	(symbol_cache_cleanup): Likewise.
      	(set_symbol_cache_size): Likewise.
      	(symbol_cache_flush): Likewise.
      	(maintenance_print_symbol_cache): Likewise.
      	(maintenance_print_symbol_cache_statistics): Likewise.
      	(delete_filename_seen_cache): Likewise.
      	(output_partial_symbol_filename): Likewise.
      	(search_symbols_file_matches): Likewise.
      	(search_symbols_name_matches): Likewise.
      	(do_free_completion_list): Likewise.
      	(maybe_add_partial_symtab_filename): Likewise.
      	(get_main_info): Likewise.
      	(main_info_cleanup): Likewise.
      	* target-dcache.c (target_dcache_cleanup): Likewise.
      	(target_dcache_init_p): Likewise.
      	(target_dcache_invalidate): Likewise.
      	(target_dcache_get): Likewise.
      	(target_dcache_get_or_init): Likewise.
      	* target-descriptions.c (target_find_description): Likewise.
      	(tdesc_find_type): Likewise.
      	(tdesc_data_cleanup): Likewise.
      	(tdesc_find_arch_register): Likewise.
      	(tdesc_register_name): Likewise.
      	(tdesc_register_type): Likewise.
      	(tdesc_register_reggroup_p): Likewise.
      	(set_tdesc_pseudo_register_name): Likewise.
      	(set_tdesc_pseudo_register_type): Likewise.
      	(set_tdesc_pseudo_register_reggroup_p): Likewise.
      	(tdesc_use_registers): Likewise.
      	(free_target_description): Likewise.
      	* target-memory.c (compare_block_starting_address): Likewise.
      	(cleanup_request_data): Likewise.
      	(cleanup_write_requests_vector): Likewise.
      	* target.c (open_target): Likewise.
      	(cleanup_restore_target_terminal): Likewise.
      	(free_memory_read_result_vector): Likewise.
      	* thread.c (disable_thread_stack_temporaries): Likewise.
      	(finish_thread_state_cleanup): Likewise.
      	(do_restore_current_thread_cleanup): Likewise.
      	(restore_current_thread_cleanup_dtor): Likewise.
      	(set_thread_refcount): Likewise.
      	(tp_array_compar): Likewise.
      	(do_captured_thread_select): Likewise.
      	* tic6x-tdep.c (tic6x_frame_unwind_cache): Likewise.
      	(tic6x_stub_this_id): Likewise.
      	* tilegx-tdep.c (tilegx_frame_cache): Likewise.
      	* top.c (do_restore_instream_cleanup): Likewise.
      	(gdb_readline_wrapper_cleanup): Likewise.
      	(kill_or_detach): Likewise.
      	(print_inferior_quit_action): Likewise.
      	* tracefile-tfile.c (match_blocktype): Likewise.
      	(build_traceframe_info): Likewise.
      	* tracefile.c (trace_file_writer_xfree): Likewise.
      	* tracepoint.c (memrange_cmp): Likewise.
      	(do_collect_symbol): Likewise.
      	(do_clear_collection_list): Likewise.
      	(do_restore_current_traceframe_cleanup): Likewise.
      	(restore_current_traceframe_cleanup_dtor): Likewise.
      	(free_current_marker): Likewise.
      	(traceframe_info_start_memory): Likewise.
      	(traceframe_info_start_tvar): Likewise.
      	(free_result): Likewise.
      	* tramp-frame.c (tramp_frame_cache): Likewise.
      	* tui/tui-file.c (tui_file_delete): Likewise.
      	(tui_fileopen): Likewise.
      	(tui_sfileopen): Likewise.
      	(tui_file_isatty): Likewise.
      	(tui_file_rewind): Likewise.
      	(tui_file_put): Likewise.
      	(tui_file_fputs): Likewise.
      	(tui_file_get_strbuf): Likewise.
      	(tui_file_adjust_strbuf): Likewise.
      	(tui_file_flush): Likewise.
      	* tui/tui-layout.c (make_command_window): Likewise.
      	(make_data_window): Likewise.
      	(show_source_disasm_command): Likewise.
      	(show_data): Likewise.
      	(make_source_or_disasm_window): Likewise.
      	(show_source_or_disasm_and_command): Likewise.
      	* tui/tui-out.c (tui_field_int): Likewise.
      	(tui_field_string): Likewise.
      	(tui_field_fmt): Likewise.
      	(tui_text): Likewise.
      	* typeprint.c (hash_typedef_field): Likewise.
      	(eq_typedef_field): Likewise.
      	(do_free_typedef_hash): Likewise.
      	(copy_typedef_hash_element): Likewise.
      	(do_free_global_table): Likewise.
      	(find_global_typedef): Likewise.
      	(find_typedef_in_hash): Likewise.
      	* ui-file.c (ui_file_write_for_put): Likewise.
      	(do_ui_file_xstrdup): Likewise.
      	(mem_file_delete): Likewise.
      	(mem_file_rewind): Likewise.
      	(mem_file_put): Likewise.
      	(mem_file_write): Likewise.
      	(stdio_file_delete): Likewise.
      	(stdio_file_flush): Likewise.
      	(stdio_file_read): Likewise.
      	(stdio_file_write): Likewise.
      	(stdio_file_write_async_safe): Likewise.
      	(stdio_file_fputs): Likewise.
      	(stdio_file_isatty): Likewise.
      	(stdio_file_fseek): Likewise.
      	(tee_file_delete): Likewise.
      	(tee_file_flush): Likewise.
      	(tee_file_write): Likewise.
      	(tee_file_fputs): Likewise.
      	(tee_file_isatty): Likewise.
      	* ui-out.c (do_cleanup_table_end): Likewise.
      	(do_cleanup_end): Likewise.
      	* user-regs.c (user_reg_add): Likewise.
      	(user_reg_map_name_to_regnum): Likewise.
      	(usernum_to_user_reg): Likewise.
      	(maintenance_print_user_registers): Likewise.
      	* utils.c (do_bfd_close_cleanup): Likewise.
      	(do_fclose_cleanup): Likewise.
      	(do_obstack_free): Likewise.
      	(do_ui_file_delete): Likewise.
      	(do_ui_out_redirect_pop): Likewise.
      	(do_free_section_addr_info): Likewise.
      	(restore_integer): Likewise.
      	(do_unpush_target): Likewise.
      	(do_htab_delete_cleanup): Likewise.
      	(do_restore_ui_file): Likewise.
      	(do_value_free): Likewise.
      	(do_free_so): Likewise.
      	(free_current_contents): Likewise.
      	(do_regfree_cleanup): Likewise.
      	(core_addr_hash): Likewise.
      	(core_addr_eq): Likewise.
      	(do_free_char_ptr_vec): Likewise.
      	* v850-tdep.c (v850_frame_cache): Likewise.
      	* varobj.c (do_free_variable_cleanup): Likewise.
      	* vax-tdep.c (vax_supply_gregset): Likewise.
      	(vax_frame_cache): Likewise.
      	* vaxobsd-tdep.c (vaxobsd_sigtramp_frame_cache): Likewise.
      	* xml-support.c (gdb_xml_body_text): Likewise.
      	(gdb_xml_values_cleanup): Likewise.
      	(gdb_xml_start_element): Likewise.
      	(gdb_xml_start_element_wrapper): Likewise.
      	(gdb_xml_end_element): Likewise.
      	(gdb_xml_end_element_wrapper): Likewise.
      	(gdb_xml_cleanup): Likewise.
      	(gdb_xml_fetch_external_entity): Likewise.
      	(gdb_xml_parse_attr_enum): Likewise.
      	(xinclude_start_include): Likewise.
      	(xinclude_end_include): Likewise.
      	(xml_xinclude_default): Likewise.
      	(xml_xinclude_start_doctype): Likewise.
      	(xml_xinclude_end_doctype): Likewise.
      	(xml_xinclude_cleanup): Likewise.
      	(xml_fetch_content_from_file): Likewise.
      	* xml-syscall.c (free_syscalls_info): Likewise.
      	(syscall_start_syscall): Likewise.
      	* xml-tdesc.c (tdesc_end_arch): Likewise.
      	(tdesc_end_osabi): Likewise.
      	(tdesc_end_compatible): Likewise.
      	(tdesc_start_target): Likewise.
      	(tdesc_start_feature): Likewise.
      	(tdesc_start_reg): Likewise.
      	(tdesc_start_union): Likewise.
      	(tdesc_start_struct): Likewise.
      	(tdesc_start_flags): Likewise.
      	(tdesc_start_field): Likewise.
      	(tdesc_start_vector): Likewise.
      	(fetch_available_features_from_target): Likewise.
      	* xstormy16-tdep.c (xstormy16_frame_cache): Likewise.
      	* xtensa-tdep.c (xtensa_supply_gregset): Likewise.
      	(xtensa_frame_cache): Likewise.
      	(xtensa_frame_prev_register): Likewise.
      	(xtensa_extract_return_value): Likewise.
      19ba03f4
    • Simon Marchi's avatar
      Add casts to memory allocation related calls · 224c3ddb
      Simon Marchi authored
      Most allocation functions (if not all) return a void* pointing to the
      allocated memory.  In C++, we need to add an explicit cast when
      assigning the result to a pointer to another type (which is the case
      more often than not).
      
      The content of this patch is taken from Pedro's branch, from commit
      "(mostly) auto-generated patch to insert casts needed for C++".  I
      validated that the changes make sense and manually reflowed the code to
      make it respect the coding style.  I also found multiple places where I
      could use XNEW/XNEWVEC/XRESIZEVEC/etc.
      
      Thanks a lot to whoever did that automated script to insert casts, doing
      it completely by hand would have taken a ridiculous amount of time.
      
      Only files built on x86 with --enable-targets=all are modified.  This
      means that all other -nat.c files are untouched and will have to be
      dealt with later by using appropiate compilers.  Or maybe we can try to
      build them with a regular g++ just to know where to add casts, I don't
      know.
      
      I built-tested this with --enable-targets=all and reg-tested.
      
      Here's the changelog entry, which was not too bad to make despite the
      size, thanks to David Malcom's script.  I fixed some bits by hand, but
      there might be some wrong parts left (hopefully not).
      
      gdb/ChangeLog:
      
      	* aarch64-linux-tdep.c (aarch64_stap_parse_special_token): Add cast
      	to allocation result assignment.
      	* ada-exp.y (write_object_renaming): Likewise.
      	(write_ambiguous_var): Likewise.
      	(ada_nget_field_index): Likewise.
      	(write_var_or_type): Likewise.
      	* ada-lang.c (ada_decode_symbol): Likewise.
      	(ada_value_assign): Likewise.
      	(value_pointer): Likewise.
      	(cache_symbol): Likewise.
      	(add_nonlocal_symbols): Likewise.
      	(ada_name_for_lookup): Likewise.
      	(symbol_completion_add): Likewise.
      	(ada_to_fixed_type_1): Likewise.
      	(ada_get_next_arg): Likewise.
      	(defns_collected): Likewise.
      	* ada-lex.l (processId): Likewise.
      	(processString): Likewise.
      	* ada-tasks.c (read_known_tasks_array): Likewise.
      	(read_known_tasks_list): Likewise.
      	* ada-typeprint.c (decoded_type_name): Likewise.
      	* addrmap.c (addrmap_mutable_create_fixed): Likewise.
      	* amd64-tdep.c (amd64_push_arguments): Likewise.
      	(amd64_displaced_step_copy_insn): Likewise.
      	(amd64_classify_insn_at): Likewise.
      	(amd64_relocate_instruction): Likewise.
      	* amd64obsd-tdep.c (amd64obsd_sigtramp_p): Likewise.
      	* arch-utils.c (simple_displaced_step_copy_insn): Likewise.
      	(initialize_current_architecture): Likewise.
      	* arm-linux-tdep.c (arm_stap_parse_special_token): Likewise.
      	* arm-symbian-tdep.c (arm_symbian_osabi_sniffer): Likewise.
      	* arm-tdep.c (arm_exidx_new_objfile): Likewise.
      	(arm_push_dummy_call): Likewise.
      	(extend_buffer_earlier): Likewise.
      	(arm_adjust_breakpoint_address): Likewise.
      	(arm_skip_stub): Likewise.
      	* auto-load.c (filename_is_in_pattern): Likewise.
      	(maybe_add_script_file): Likewise.
      	(maybe_add_script_text): Likewise.
      	(auto_load_objfile_script_1): Likewise.
      	* auxv.c (ld_so_xfer_auxv): Likewise.
      	* ax-general.c (new_agent_expr): Likewise.
      	(grow_expr): Likewise.
      	(ax_reg_mask): Likewise.
      	* bcache.c (bcache_full): Likewise.
      	* breakpoint.c (program_breakpoint_here_p): Likewise.
      	* btrace.c (parse_xml_raw): Likewise.
      	* build-id.c (build_id_to_debug_bfd): Likewise.
      	* buildsym.c (end_symtab_with_blockvector): Likewise.
      	* c-exp.y (string_exp): Likewise.
      	(qualified_name): Likewise.
      	(write_destructor_name): Likewise.
      	(operator_stoken): Likewise.
      	(parse_number): Likewise.
      	(scan_macro_expansion): Likewise.
      	(yylex): Likewise.
      	(c_print_token): Likewise.
      	* c-lang.c (c_get_string): Likewise.
      	(emit_numeric_character): Likewise.
      	* charset.c (wchar_iterate): Likewise.
      	* cli/cli-cmds.c (complete_command): Likewise.
      	(make_command): Likewise.
      	* cli/cli-dump.c (restore_section_callback): Likewise.
      	(restore_binary_file): Likewise.
      	* cli/cli-interp.c (cli_interpreter_exec): Likewise.
      	* cli/cli-script.c (execute_control_command): Likewise.
      	* cli/cli-setshow.c (do_set_command): Likewise.
      	* coff-pe-read.c (add_pe_forwarded_sym): Likewise.
      	(read_pe_exported_syms): Likewise.
      	* coffread.c (coff_read_struct_type): Likewise.
      	(coff_read_enum_type): Likewise.
      	* common/btrace-common.c (btrace_data_append): Likewise.
      	* common/buffer.c (buffer_grow): Likewise.
      	* common/filestuff.c (gdb_fopen_cloexec): Likewise.
      	* common/format.c (parse_format_string): Likewise.
      	* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append): Likewise.
      	* common/xml-utils.c (xml_escape_text): Likewise.
      	* compile/compile-object-load.c (copy_sections): Likewise.
      	(compile_object_load): Likewise.
      	* compile/compile-object-run.c (compile_object_run): Likewise.
      	* completer.c (filename_completer): Likewise.
      	* corefile.c (read_memory_typed_address): Likewise.
      	(write_memory_unsigned_integer): Likewise.
      	(write_memory_signed_integer): Likewise.
      	(complete_set_gnutarget): Likewise.
      	* corelow.c (get_core_register_section): Likewise.
      	* cp-name-parser.y (d_grab): Likewise.
      	(allocate_info): Likewise.
      	(cp_new_demangle_parse_info): Likewise.
      	* cp-namespace.c (cp_scan_for_anonymous_namespaces): Likewise.
      	(cp_lookup_symbol_in_namespace): Likewise.
      	(lookup_namespace_scope): Likewise.
      	(find_symbol_in_baseclass): Likewise.
      	(cp_lookup_nested_symbol): Likewise.
      	(cp_lookup_transparent_type_loop): Likewise.
      	* cp-support.c (copy_string_to_obstack): Likewise.
      	(make_symbol_overload_list): Likewise.
      	(make_symbol_overload_list_namespace): Likewise.
      	(make_symbol_overload_list_adl_namespace): Likewise.
      	(first_component_command): Likewise.
      	* cp-valprint.c (cp_print_value): Likewise.
      	* ctf.c (ctf_xfer_partial): Likewise.
      	* d-exp.y (StringExp): Likewise.
      	* d-namespace.c (d_lookup_symbol_in_module): Likewise.
      	(lookup_module_scope): Likewise.
      	(find_symbol_in_baseclass): Likewise.
      	(d_lookup_nested_symbol): Likewise.
      	* dbxread.c (find_stab_function_addr): Likewise.
      	(read_dbx_symtab): Likewise.
      	(dbx_end_psymtab): Likewise.
      	(cp_set_block_scope): Likewise.
      	* dcache.c (dcache_alloc): Likewise.
      	* demangle.c (_initialize_demangler): Likewise.
      	* dicos-tdep.c (dicos_load_module_p): Likewise.
      	* dictionary.c (dict_create_hashed_expandable): Likewise.
      	(dict_create_linear_expandable): Likewise.
      	(expand_hashtable): Likewise.
      	(add_symbol_linear_expandable): Likewise.
      	* dwarf2-frame.c (add_cie): Likewise.
      	(add_fde): Likewise.
      	(dwarf2_build_frame_info): Likewise.
      	* dwarf2expr.c (dwarf_expr_grow_stack): Likewise.
      	(dwarf_expr_fetch_address): Likewise.
      	(add_piece): Likewise.
      	(execute_stack_op): Likewise.
      	* dwarf2loc.c (chain_candidate): Likewise.
      	(dwarf_entry_parameter_to_value): Likewise.
      	(read_pieced_value): Likewise.
      	(write_pieced_value): Likewise.
      	* dwarf2read.c (dwarf2_read_section): Likewise.
      	(add_type_unit): Likewise.
      	(read_comp_units_from_section): Likewise.
      	(fixup_go_packaging): Likewise.
      	(dwarf2_compute_name): Likewise.
      	(dwarf2_physname): Likewise.
      	(create_dwo_unit_in_dwp_v1): Likewise.
      	(create_dwo_unit_in_dwp_v2): Likewise.
      	(read_func_scope): Likewise.
      	(read_call_site_scope): Likewise.
      	(dwarf2_attach_fields_to_type): Likewise.
      	(process_structure_scope): Likewise.
      	(mark_common_block_symbol_computed): Likewise.
      	(read_common_block): Likewise.
      	(abbrev_table_read_table): Likewise.
      	(guess_partial_die_structure_name): Likewise.
      	(fixup_partial_die): Likewise.
      	(add_file_name): Likewise.
      	(dwarf2_const_value_data): Likewise.
      	(dwarf2_const_value_attr): Likewise.
      	(build_error_marker_type): Likewise.
      	(guess_full_die_structure_name): Likewise.
      	(anonymous_struct_prefix): Likewise.
      	(typename_concat): Likewise.
      	(dwarf2_canonicalize_name): Likewise.
      	(dwarf2_name): Likewise.
      	(write_constant_as_bytes): Likewise.
      	(dwarf2_fetch_constant_bytes): Likewise.
      	(copy_string): Likewise.
      	(parse_macro_definition): Likewise.
      	* elfread.c (elf_symfile_segments): Likewise.
      	(elf_rel_plt_read): Likewise.
      	(elf_gnu_ifunc_resolve_by_cache): Likewise.
      	(elf_gnu_ifunc_resolve_by_got): Likewise.
      	(elf_read_minimal_symbols): Likewise.
      	(elf_gnu_ifunc_record_cache): Likewise.
      	* event-top.c (top_level_prompt): Likewise.
      	(command_line_handler): Likewise.
      	* exec.c (resize_section_table): Likewise.
      	* expprint.c (print_subexp_standard): Likewise.
      	* fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
      	* findcmd.c (parse_find_args): Likewise.
      	* findvar.c (address_from_register): Likewise.
      	* frame.c (get_prev_frame_always): Likewise.
      	* gdb_bfd.c (gdb_bfd_ref): Likewise.
      	(get_section_descriptor): Likewise.
      	* gdb_obstack.c (obconcat): Likewise.
      	(obstack_strdup): Likewise.
      	* gdbtypes.c (lookup_function_type_with_arguments): Likewise.
      	(create_set_type): Likewise.
      	(lookup_unsigned_typename): Likewise.
      	(lookup_signed_typename): Likewise.
      	(resolve_dynamic_union): Likewise.
      	(resolve_dynamic_struct): Likewise.
      	(add_dyn_prop): Likewise.
      	(copy_dynamic_prop_list): Likewise.
      	(arch_flags_type): Likewise.
      	(append_composite_type_field_raw): Likewise.
      	* gdbtypes.h (INIT_FUNC_SPECIFIC): Likewise.
      	* gnu-v3-abi.c (gnuv3_rtti_type): Likewise.
      	* go-exp.y (string_exp): Likewise.
      	* go-lang.c (go_demangle): Likewise.
      	* guile/guile.c (compute_scheme_string): Likewise.
      	* guile/scm-cmd.c (gdbscm_parse_command_name): Likewise.
      	(gdbscm_canonicalize_command_name): Likewise.
      	* guile/scm-ports.c (ioscm_init_stdio_buffers): Likewise.
      	(ioscm_init_memory_port): Likewise.
      	(ioscm_reinit_memory_port): Likewise.
      	* guile/scm-utils.c (gdbscm_gc_xstrdup): Likewise.
      	(gdbscm_gc_dup_argv): Likewise.
      	* h8300-tdep.c (h8300_push_dummy_call): Likewise.
      	* hppa-tdep.c (internalize_unwinds): Likewise.
      	(read_unwind_info): Likewise.
      	* i386-cygwin-tdep.c (core_process_module_section): Likewise.
      	(windows_core_xfer_shared_libraries): Likewise.
      	* i386-tdep.c (i386_displaced_step_copy_insn): Likewise.
      	(i386_stap_parse_special_token_triplet): Likewise.
      	(i386_stap_parse_special_token_three_arg_disp): Likewise.
      	* i386obsd-tdep.c (i386obsd_sigtramp_p): Likewise.
      	* inf-child.c (inf_child_fileio_readlink): Likewise.
      	* inf-ptrace.c (inf_ptrace_fetch_register): Likewise.
      	(inf_ptrace_store_register): Likewise.
      	* infrun.c (follow_exec): Likewise.
      	(displaced_step_prepare_throw): Likewise.
      	(save_stop_context): Likewise.
      	(save_infcall_suspend_state): Likewise.
      	* jit.c (jit_read_descriptor): Likewise.
      	(jit_read_code_entry): Likewise.
      	(jit_symtab_line_mapping_add_impl): Likewise.
      	(finalize_symtab): Likewise.
      	(jit_unwind_reg_get_impl): Likewise.
      	* jv-exp.y (QualifiedName): Likewise.
      	* jv-lang.c (get_java_utf8_name): Likewise.
      	(type_from_class): Likewise.
      	(java_demangle_type_signature): Likewise.
      	(java_class_name_from_physname): Likewise.
      	* jv-typeprint.c (java_type_print_base): Likewise.
      	* jv-valprint.c (java_value_print): Likewise.
      	* language.c (add_language): Likewise.
      	* linespec.c (add_sal_to_sals_basic): Likewise.
      	(add_sal_to_sals): Likewise.
      	(decode_objc): Likewise.
      	(find_linespec_symbols): Likewise.
      	* linux-fork.c (fork_save_infrun_state): Likewise.
      	* linux-nat.c (linux_nat_detach): Likewise.
      	(linux_nat_fileio_readlink): Likewise.
      	* linux-record.c (record_linux_sockaddr): Likewise.
      	(record_linux_msghdr): Likewise.
      	(Do): Likewise.
      	* linux-tdep.c (linux_core_info_proc_mappings): Likewise.
      	(linux_collect_regset_section_cb): Likewise.
      	(linux_get_siginfo_data): Likewise.
      	* linux-thread-db.c (try_thread_db_load_from_pdir_1): Likewise.
      	(try_thread_db_load_from_dir): Likewise.
      	(thread_db_load_search): Likewise.
      	(info_auto_load_libthread_db): Likewise.
      	* m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise.
      	(m32c_m16c_pointer_to_address): Likewise.
      	* m68hc11-tdep.c (m68hc11_pseudo_register_write): Likewise.
      	* m68k-tdep.c (m68k_get_longjmp_target): Likewise.
      	* machoread.c (macho_check_dsym): Likewise.
      	* macroexp.c (resize_buffer): Likewise.
      	(gather_arguments): Likewise.
      	(maybe_expand): Likewise.
      	* macrotab.c (new_macro_key): Likewise.
      	(new_source_file): Likewise.
      	(new_macro_definition): Likewise.
      	* mdebugread.c (parse_symbol): Likewise.
      	(parse_type): Likewise.
      	(parse_partial_symbols): Likewise.
      	(psymtab_to_symtab_1): Likewise.
      	* mem-break.c (default_memory_insert_breakpoint): Likewise.
      	* mi/mi-cmd-break.c (mi_argv_to_format): Likewise.
      	* mi/mi-main.c (mi_cmd_data_read_memory): Likewise.
      	(mi_cmd_data_read_memory_bytes): Likewise.
      	(mi_cmd_data_write_memory_bytes): Likewise.
      	(mi_cmd_trace_frame_collected): Likewise.
      	* mi/mi-parse.c (mi_parse_argv): Likewise.
      	(mi_parse): Likewise.
      	* minidebug.c (lzma_open): Likewise.
      	(lzma_pread): Likewise.
      	* mips-tdep.c (mips_read_fp_register_single): Likewise.
      	(mips_print_fp_register): Likewise.
      	* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Likewise.
      	* mipsread.c (read_alphacoff_dynamic_symtab): Likewise.
      	* mt-tdep.c (mt_register_name): Likewise.
      	(mt_registers_info): Likewise.
      	(mt_push_dummy_call): Likewise.
      	* namespace.c (add_using_directive): Likewise.
      	* nat/linux-btrace.c (perf_event_read): Likewise.
      	(linux_enable_bts): Likewise.
      	* nat/linux-osdata.c (linux_common_core_of_thread): Likewise.
      	* nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Likewise.
      	* nto-tdep.c (nto_find_and_open_solib): Likewise.
      	(nto_parse_redirection): Likewise.
      	* objc-lang.c (objc_demangle): Likewise.
      	(find_methods): Likewise.
      	* objfiles.c (get_objfile_bfd_data): Likewise.
      	(set_objfile_main_name): Likewise.
      	(allocate_objfile): Likewise.
      	(objfile_relocate): Likewise.
      	(update_section_map): Likewise.
      	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* p-exp.y (exp): Likewise.
      	(yylex): Likewise.
      	* p-valprint.c (pascal_object_print_value): Likewise.
      	* parse.c (initialize_expout): Likewise.
      	(mark_completion_tag): Likewise.
      	(copy_name): Likewise.
      	(parse_float): Likewise.
      	(type_stack_reserve): Likewise.
      	* ppc-linux-tdep.c (ppc_stap_parse_special_token): Likewise.
      	(ppu2spu_prev_register): Likewise.
      	* ppc-ravenscar-thread.c (supply_register_at_address): Likewise.
      	* printcmd.c (printf_wide_c_string): Likewise.
      	(printf_pointer): Likewise.
      	* probe.c (parse_probes): Likewise.
      	* python/py-cmd.c (gdbpy_parse_command_name): Likewise.
      	(cmdpy_init): Likewise.
      	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Likewise.
      	* python/py-symtab.c (set_sal): Likewise.
      	* python/py-unwind.c (pyuw_sniffer): Likewise.
      	* python/python.c (python_interactive_command): Likewise.
      	(compute_python_string): Likewise.
      	* ravenscar-thread.c (get_running_thread_id): Likewise.
      	* record-full.c (record_full_exec_insn): Likewise.
      	(record_full_core_open_1): Likewise.
      	* regcache.c (regcache_raw_read_signed): Likewise.
      	(regcache_raw_read_unsigned): Likewise.
      	(regcache_cooked_read_signed): Likewise.
      	(regcache_cooked_read_unsigned): Likewise.
      	* remote-fileio.c (remote_fileio_func_open): Likewise.
      	(remote_fileio_func_rename): Likewise.
      	(remote_fileio_func_unlink): Likewise.
      	(remote_fileio_func_stat): Likewise.
      	(remote_fileio_func_system): Likewise.
      	* remote-mips.c (mips_xfer_memory): Likewise.
      	(mips_load_srec): Likewise.
      	(pmon_end_download): Likewise.
      	* remote.c (new_remote_state): Likewise.
      	(map_regcache_remote_table): Likewise.
      	(remote_register_number_and_offset): Likewise.
      	(init_remote_state): Likewise.
      	(get_memory_packet_size): Likewise.
      	(remote_pass_signals): Likewise.
      	(remote_program_signals): Likewise.
      	(remote_start_remote): Likewise.
      	(remote_check_symbols): Likewise.
      	(remote_query_supported): Likewise.
      	(extended_remote_attach): Likewise.
      	(process_g_packet): Likewise.
      	(store_registers_using_G): Likewise.
      	(putpkt_binary): Likewise.
      	(read_frame): Likewise.
      	(compare_sections_command): Likewise.
      	(remote_hostio_pread): Likewise.
      	(remote_hostio_readlink): Likewise.
      	(remote_file_put): Likewise.
      	(remote_file_get): Likewise.
      	(remote_pid_to_exec_file): Likewise.
      	(_initialize_remote): Likewise.
      	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
      	(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
      	* rs6000-tdep.c (ppc_displaced_step_copy_insn): Likewise.
      	(bfd_uses_spe_extensions): Likewise.
      	* s390-linux-tdep.c (s390_displaced_step_copy_insn): Likewise.
      	* score-tdep.c (score7_malloc_and_get_memblock): Likewise.
      	* solib-dsbt.c (decode_loadmap): Likewise.
      	(fetch_loadmap): Likewise.
      	(scan_dyntag): Likewise.
      	(enable_break): Likewise.
      	(dsbt_relocate_main_executable): Likewise.
      	* solib-frv.c (fetch_loadmap): Likewise.
      	(enable_break2): Likewise.
      	(frv_relocate_main_executable): Likewise.
      	* solib-spu.c (spu_relocate_main_executable): Likewise.
      	(spu_bfd_open): Likewise.
      	* solib-svr4.c (lm_info_read): Likewise.
      	(read_program_header): Likewise.
      	(find_program_interpreter): Likewise.
      	(scan_dyntag): Likewise.
      	(elf_locate_base): Likewise.
      	(open_symbol_file_object): Likewise.
      	(read_program_headers_from_bfd): Likewise.
      	(svr4_relocate_main_executable): Likewise.
      	* solib-target.c (solib_target_relocate_section_addresses): Likewise.
      	* solib.c (solib_find_1): Likewise.
      	(exec_file_find): Likewise.
      	(solib_find): Likewise.
      	* source.c (openp): Likewise.
      	(print_source_lines_base): Likewise.
      	(forward_search_command): Likewise.
      	* sparc-ravenscar-thread.c (supply_register_at_address): Likewise.
      	* spu-tdep.c (spu2ppu_prev_register): Likewise.
      	(spu_get_overlay_table): Likewise.
      	* stabsread.c (patch_block_stabs): Likewise.
      	(define_symbol): Likewise.
      	(again:): Likewise.
      	(read_member_functions): Likewise.
      	(read_one_struct_field): Likewise.
      	(read_enum_type): Likewise.
      	(common_block_start): Likewise.
      	* stack.c (read_frame_arg): Likewise.
      	(backtrace_command): Likewise.
      	* stap-probe.c (stap_parse_register_operand): Likewise.
      	* symfile.c (syms_from_objfile_1): Likewise.
      	(find_separate_debug_file): Likewise.
      	(load_command): Likewise.
      	(load_progress): Likewise.
      	(load_section_callback): Likewise.
      	(reread_symbols): Likewise.
      	(add_filename_language): Likewise.
      	(allocate_compunit_symtab): Likewise.
      	(read_target_long_array): Likewise.
      	(simple_read_overlay_table): Likewise.
      	* symtab.c (symbol_set_names): Likewise.
      	(resize_symbol_cache): Likewise.
      	(rbreak_command): Likewise.
      	(completion_list_add_name): Likewise.
      	(completion_list_objc_symbol): Likewise.
      	(add_filename_to_list): Likewise.
      	* target-descriptions.c (maint_print_c_tdesc_cmd): Likewise.
      	* target-memory.c (target_write_memory_blocks): Likewise.
      	* target.c (target_read_string): Likewise.
      	(read_whatever_is_readable): Likewise.
      	(target_read_alloc_1): Likewise.
      	(simple_search_memory): Likewise.
      	(target_fileio_read_alloc_1): Likewise.
      	* tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
      	* top.c (command_line_input): Likewise.
      	* tracefile-tfile.c (tfile_fetch_registers): Likewise.
      	* tracefile.c (tracefile_fetch_registers): Likewise.
      	* tracepoint.c (add_memrange): Likewise.
      	(init_collection_list): Likewise.
      	(add_aexpr): Likewise.
      	(trace_dump_actions): Likewise.
      	(parse_trace_status): Likewise.
      	(parse_tracepoint_definition): Likewise.
      	(parse_tsv_definition): Likewise.
      	(parse_static_tracepoint_marker_definition): Likewise.
      	* tui/tui-file.c (tui_sfileopen): Likewise.
      	(tui_file_adjust_strbuf): Likewise.
      	* tui/tui-io.c (tui_expand_tabs): Likewise.
      	* tui/tui-source.c (tui_set_source_content): Likewise.
      	* typeprint.c (find_global_typedef): Likewise.
      	* ui-file.c (do_ui_file_xstrdup): Likewise.
      	(ui_file_obsavestring): Likewise.
      	(mem_file_write): Likewise.
      	* utils.c (make_hex_string): Likewise.
      	(get_regcomp_error): Likewise.
      	(puts_filtered_tabular): Likewise.
      	(gdb_realpath_keepfile): Likewise.
      	(ldirname): Likewise.
      	(gdb_bfd_errmsg): Likewise.
      	(substitute_path_component): Likewise.
      	* valops.c (search_struct_method): Likewise.
      	(find_oload_champ_namespace_loop): Likewise.
      	* valprint.c (print_decimal_chars): Likewise.
      	(read_string): Likewise.
      	(generic_emit_char): Likewise.
      	* varobj.c (varobj_delete): Likewise.
      	(varobj_value_get_print_value): Likewise.
      	* vaxobsd-tdep.c (vaxobsd_sigtramp_sniffer): Likewise.
      	* windows-tdep.c (display_one_tib): Likewise.
      	* xcoffread.c (read_xcoff_symtab): Likewise.
      	(process_xcoff_symbol): Likewise.
      	(swap_sym): Likewise.
      	(scan_xcoff_symtab): Likewise.
      	(xcoff_initial_scan): Likewise.
      	* xml-support.c (gdb_xml_end_element): Likewise.
      	(xml_process_xincludes): Likewise.
      	(xml_fetch_content_from_file): Likewise.
      	* xml-syscall.c (xml_list_of_syscalls): Likewise.
      	* xstormy16-tdep.c (xstormy16_push_dummy_call): Likewise.
      
      gdb/gdbserver/ChangeLog:
      
      	* ax.c (gdb_parse_agent_expr): Add cast to allocation result
      	assignment.
      	(gdb_unparse_agent_expr): Likewise.
      	* hostio.c (require_data): Likewise.
      	(handle_pread): Likewise.
      	* linux-low.c (disable_regset): Likewise.
      	(fetch_register): Likewise.
      	(store_register): Likewise.
      	(get_dynamic): Likewise.
      	(linux_qxfer_libraries_svr4): Likewise.
      	* mem-break.c (delete_fast_tracepoint_jump): Likewise.
      	(set_fast_tracepoint_jump): Likewise.
      	(uninsert_fast_tracepoint_jumps_at): Likewise.
      	(reinsert_fast_tracepoint_jumps_at): Likewise.
      	(validate_inserted_breakpoint): Likewise.
      	(clone_agent_expr): Likewise.
      	* regcache.c (init_register_cache): Likewise.
      	* remote-utils.c (putpkt_binary_1): Likewise.
      	(decode_M_packet): Likewise.
      	(decode_X_packet): Likewise.
      	(look_up_one_symbol): Likewise.
      	(relocate_instruction): Likewise.
      	(monitor_output): Likewise.
      	* server.c (handle_search_memory): Likewise.
      	(handle_qxfer_exec_file): Likewise.
      	(handle_qxfer_libraries): Likewise.
      	(handle_qxfer): Likewise.
      	(handle_query): Likewise.
      	(handle_v_cont): Likewise.
      	(handle_v_run): Likewise.
      	(captured_main): Likewise.
      	* target.c (write_inferior_memory): Likewise.
      	* thread-db.c (try_thread_db_load_from_dir): Likewise.
      	* tracepoint.c (init_trace_buffer): Likewise.
      	(add_tracepoint_action): Likewise.
      	(add_traceframe): Likewise.
      	(add_traceframe_block): Likewise.
      	(cmd_qtdpsrc): Likewise.
      	(cmd_qtdv): Likewise.
      	(cmd_qtstatus): Likewise.
      	(response_source): Likewise.
      	(response_tsv): Likewise.
      	(cmd_qtnotes): Likewise.
      	(gdb_collect): Likewise.
      	(initialize_tracepoint): Likewise.
      224c3ddb
  19. 26 Aug, 2015 1 commit
    • Simon Marchi's avatar
      Replace some xmalloc-family functions with XNEW-family ones · 8d749320
      Simon Marchi authored
      This patch is part of the make-gdb-buildable-in-C++ effort.  The idea is
      to change some calls to the xmalloc family of functions to calls to the
      equivalents in the XNEW family.  This avoids adding an explicit cast, so
      it keeps the code a bit more readable.  Some of them also map relatively
      well to a C++ equivalent (XNEW (struct foo) -> new foo), so it will be
      possible to do scripted replacements if needed.
      
      I only changed calls that were obviously allocating memory for one or
      multiple "objects".  Allocation of variable sizes (such as strings or
      buffer handling) will be for later (and won't use XNEW).
      
        - xmalloc (sizeof (struct foo)) -> XNEW (struct foo)
        - xmalloc (num * sizeof (struct foo)) -> XNEWVEC (struct foo, num)
        - xcalloc (1, sizeof (struct foo)) -> XCNEW (struct foo)
        - xcalloc (num, sizeof (struct foo)) -> XCNEWVEC (struct foo, num)
        - xrealloc (p, num * sizeof (struct foo) -> XRESIZEVEC (struct foo, p, num)
        - obstack_alloc (ob, sizeof (struct foo)) -> XOBNEW (ob, struct foo)
        - obstack_alloc (ob, num * sizeof (struct foo)) -> XOBNEWVEC (ob, struct foo, num)
        - alloca (sizeof (struct foo)) -> XALLOCA (struct foo)
        - alloca (num * sizeof (struct foo)) -> XALLOCAVEC (struct foo, num)
      
      Some instances of xmalloc followed by memset to zero the buffer were
      replaced by XCNEW or XCNEWVEC.
      
      I regtested on x86-64, Ubuntu 14.04, but the patch touches many
      architecture-specific files.  For those I'll have to rely on the
      buildbot or people complaining that I broke their gdb.
      
      gdb/ChangeLog:
      
      	* aarch64-linux-nat.c (aarch64_add_process): Likewise.
      	* aarch64-tdep.c (aarch64_gdbarch_init): Likewise.
      	* ada-exp.y (write_ambiguous_var): Likewise.
      	* ada-lang.c (resolve_subexp): Likewise.
      	(user_select_syms): Likewise.
      	(assign_aggregate): Likewise.
      	(ada_evaluate_subexp): Likewise.
      	(cache_symbol): Likewise.
      	* addrmap.c (allocate_key): Likewise.
      	(addrmap_create_mutable): Likewise.
      	* aix-thread.c (sync_threadlists): Likewise.
      	* alpha-tdep.c (alpha_push_dummy_call): Likewise.
      	(alpha_gdbarch_init): Likewise.
      	* amd64-windows-tdep.c (amd64_windows_push_arguments): Likewise.
      	* arm-linux-nat.c (arm_linux_add_process): Likewise.
      	* arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Likewise.
      	* arm-tdep.c (push_stack_item): Likewise.
      	(arm_displaced_step_copy_insn): Likewise.
      	(arm_gdbarch_init): Likewise.
      	(_initialize_arm_tdep): Likewise.
      	* avr-tdep.c (push_stack_item): Likewise.
      	* ax-general.c (new_agent_expr): Likewise.
      	* block.c (block_initialize_namespace): Likewise.
      	* breakpoint.c (alloc_counted_command_line): Likewise.
      	(update_dprintf_command_list): Likewise.
      	(parse_breakpoint_sals): Likewise.
      	(decode_static_tracepoint_spec): Likewise.
      	(until_break_command): Likewise.
      	(clear_command): Likewise.
      	(update_global_location_list): Likewise.
      	(get_breakpoint_objfile_data) Likewise.
      	* btrace.c (ftrace_new_function): Likewise.
      	(btrace_set_insn_history): Likewise.
      	(btrace_set_call_history): Likewise.
      	* buildsym.c (add_symbol_to_list): Likewise.
      	(record_pending_block): Likewise.
      	(start_subfile): Likewise.
      	(start_buildsym_compunit): Likewise.
      	(push_subfile): Likewise.
      	(end_symtab_get_static_block): Likewise.
      	(buildsym_init): Likewise.
      	* cli/cli-cmds.c (source_command): Likewise.
      	* cli/cli-decode.c (add_cmd): Likewise.
      	* cli/cli-script.c (build_command_line): Likewise.
      	(setup_user_args): Likewise.
      	(realloc_body_list): Likewise.
      	(process_next_line): Likewise.
      	(copy_command_lines): Likewise.
      	* cli/cli-setshow.c (do_set_command): Likewise.
      	* coff-pe-read.c (read_pe_exported_syms): Likewise.
      	* coffread.c (coff_locate_sections): Likewise.
      	(coff_symtab_read): Likewise.
      	(coff_read_struct_type): Likewise.
      	* common/cleanups.c (make_my_cleanup2): Likewise.
      	* common/common-exceptions.c (throw_it): Likewise.
      	* common/filestuff.c (make_cleanup_close): Likewise.
      	* common/format.c (parse_format_string): Likewise.
      	* common/queue.h (DEFINE_QUEUE_P): Likewise.
      	* compile/compile-object-load.c (munmap_list_add): Likewise.
      	(compile_object_load): Likewise.
      	* compile/compile-object-run.c (compile_object_run): Likewise.
      	* compile/compile.c (append_args): Likewise.
      	* corefile.c (specify_exec_file_hook): Likewise.
      	* cp-support.c (make_symbol_overload_list): Likewise.
      	* cris-tdep.c (push_stack_item): Likewise.
      	(cris_gdbarch_init): Likewise.
      	* ctf.c (ctf_trace_file_writer_new): Likewise.
      	* dbxread.c (init_header_files): Likewise.
      	(add_new_header_file): Likewise.
      	(init_bincl_list): Likewise.
      	(dbx_end_psymtab): Likewise.
      	(start_psymtab): Likewise.
      	(dbx_end_psymtab): Likewise.
      	* dcache.c (dcache_init): Likewise.
      	* dictionary.c (dict_create_hashed): Likewise.
      	(dict_create_hashed_expandable): Likewise.
      	(dict_create_linear): Likewise.
      	(dict_create_linear_expandable): Likewise.
      	* dtrace-probe.c (dtrace_process_dof_probe): Likewise.
      	* dummy-frame.c (register_dummy_frame_dtor): Likewise.
      	* dwarf2-frame-tailcall.c (cache_new_ref1): Likewise.
      	* dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
      	(decode_frame_entry_1): Likewise.
      	* dwarf2expr.c (new_dwarf_expr_context): Likewise.
      	* dwarf2loc.c (dwarf2_compile_expr_to_ax): Likewise.
      	* dwarf2read.c (dwarf2_has_info): Likewise.
      	(create_signatured_type_table_from_index): Likewise.
      	(dwarf2_read_index): Likewise.
      	(dw2_get_file_names_reader): Likewise.
      	(create_all_type_units): Likewise.
      	(read_cutu_die_from_dwo): Likewise.
      	(init_tu_and_read_dwo_dies): Likewise.
      	(init_cutu_and_read_dies): Likewise.
      	(create_all_comp_units): Likewise.
      	(queue_comp_unit): Likewise.
      	(inherit_abstract_dies): Likewise.
      	(read_call_site_scope): Likewise.
      	(dwarf2_add_field): Likewise.
      	(dwarf2_add_typedef): Likewise.
      	(dwarf2_add_member_fn): Likewise.
      	(attr_to_dynamic_prop): Likewise.
      	(abbrev_table_alloc_abbrev): Likewise.
      	(abbrev_table_read_table): Likewise.
      	(add_include_dir): Likewise.
      	(add_file_name): Likewise.
      	(dwarf_decode_line_header): Likewise.
      	(dwarf2_const_value_attr): Likewise.
      	(dwarf_alloc_block): Likewise.
      	(parse_macro_definition): Likewise.
      	(set_die_type): Likewise.
      	(write_psymtabs_to_index): Likewise.
      	(create_cus_from_index): Likewise.
      	(dwarf2_create_include_psymtab): Likewise.
      	(process_psymtab_comp_unit_reader): Likewise.
      	(build_type_psymtab_dependencies): Likewise.
      	(read_comp_units_from_section): Likewise.
      	(compute_compunit_symtab_includes): Likewise.
      	(create_dwo_unit_in_dwp_v1): Likewise.
      	(create_dwo_unit_in_dwp_v2): Likewise.
      	(read_func_scope): Likewise.
      	(process_structure_scope): Likewise.
      	(mark_common_block_symbol_computed): Likewise.
      	(load_partial_dies): Likewise.
      	(dwarf2_symbol_mark_computed): Likewise.
      	* elfread.c (elf_symfile_segments): Likewise.
      	(elf_read_minimal_symbols): Likewise.
      	* environ.c (make_environ): Likewise.
      	* eval.c (evaluate_subexp_standard): Likewise.
      	* event-loop.c (create_file_handler): Likewise.
      	(create_async_signal_handler): Likewise.
      	(create_async_event_handler): Likewise.
      	(create_timer): Likewise.
      	* exec.c (build_section_table): Likewise.
      	* fbsd-nat.c (fbsd_remember_child): Likewise.
      	* fork-child.c (fork_inferior): Likewise.
      	* frv-tdep.c (new_variant): Likewise.
      	* gdbarch.sh (gdbarch_alloc): Likewise.
      	(append_name): Likewise.
      	* gdbtypes.c (rank_function): Likewise.
      	(copy_type_recursive): Likewise.
      	(add_dyn_prop): Likewise.
      	* gnu-nat.c (make_proc): Likewise.
      	(make_inf): Likewise.
      	(gnu_write_inferior): Likewise.
      	* gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
      	(build_std_type_info_type): Likewise.
      	* guile/scm-param.c (compute_enum_list): Likewise.
      	* guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
      	* guile/scm-value.c (gdbscm_value_call): Likewise.
      	* h8300-tdep.c (h8300_gdbarch_init): Likewise.
      	* hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
      	(read_unwind_info): Likewise.
      	* ia64-tdep.c (ia64_gdbarch_init): Likewise.
      	* infcall.c (dummy_frame_context_saver_setup): Likewise.
      	(call_function_by_hand_dummy): Likewise.
      	* infcmd.c (step_once): Likewise.
      	(finish_forward): Likewise.
      	(attach_command): Likewise.
      	(notice_new_inferior): Likewise.
      	* inferior.c (add_inferior_silent): Likewise.
      	* infrun.c (add_displaced_stepping_state): Likewise.
      	(save_infcall_control_state): Likewise.
      	(save_inferior_ptid): Likewise.
      	(_initialize_infrun): Likewise.
      	* jit.c (bfd_open_from_target_memory): Likewise.
      	(jit_gdbarch_data_init): Likewise.
      	* language.c (add_language): Likewise.
      	* linespec.c (decode_line_2): Likewise.
      	* linux-nat.c (add_to_pid_list): Likewise.
      	(add_initial_lwp): Likewise.
      	* linux-thread-db.c (add_thread_db_info): Likewise.
      	(record_thread): Likewise.
      	(info_auto_load_libthread_db): Likewise.
      	* m32c-tdep.c (m32c_gdbarch_init): Likewise.
      	* m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
      	* m68k-tdep.c (m68k_gdbarch_init): Likewise.
      	* m88k-tdep.c (m88k_analyze_prologue): Likewise.
      	* macrocmd.c (macro_define_command): Likewise.
      	* macroexp.c (gather_arguments): Likewise.
      	* macroscope.c (sal_macro_scope): Likewise.
      	* macrotab.c (new_macro_table): Likewise.
      	* mdebugread.c (push_parse_stack): Likewise.
      	(parse_partial_symbols): Likewise.
      	(parse_symbol): Likewise.
      	(psymtab_to_symtab_1): Likewise.
      	(new_block): Likewise.
      	(new_psymtab): Likewise.
      	(mdebug_build_psymtabs): Likewise.
      	(add_pending): Likewise.
      	(elfmdebug_build_psymtabs): Likewise.
      	* mep-tdep.c (mep_gdbarch_init): Likewise.
      	* mi/mi-main.c (mi_execute_command): Likewise.
      	* mi/mi-parse.c (mi_parse_argv): Likewise.
      	* minidebug.c (lzma_open): Likewise.
      	* minsyms.c (terminate_minimal_symbol_table): Likewise.
      	* mips-linux-nat.c (mips_linux_insert_watchpoint): Likewise.
      	* mips-tdep.c (mips_gdbarch_init): Likewise.
      	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
      	* msp430-tdep.c (msp430_gdbarch_init): Likewise.
      	* mt-tdep.c (mt_registers_info): Likewise.
      	* nat/aarch64-linux.c (aarch64_linux_new_thread): Likewise.
      	* nat/linux-btrace.c (linux_enable_bts): Likewise.
      	(linux_enable_pt): Likewise.
      	* nat/linux-osdata.c (linux_xfer_osdata_processes): Likewise.
      	(linux_xfer_osdata_processgroups): Likewise.
      	* nios2-tdep.c (nios2_gdbarch_init): Likewise.
      	* nto-procfs.c (procfs_meminfo): Likewise.
      	* objc-lang.c (start_msglist): Likewise.
      	(selectors_info): Likewise.
      	(classes_info): Likewise.
      	(find_methods): Likewise.
      	* objfiles.c (allocate_objfile): Likewise.
      	(update_section_map): Likewise.
      	* osabi.c (gdbarch_register_osabi): Likewise.
      	(gdbarch_register_osabi_sniffer): Likewise.
      	* parse.c (start_arglist): Likewise.
      	* ppc-linux-nat.c (hwdebug_find_thread_points_by_tid): Likewise.
      	(hwdebug_insert_point): Likewise.
      	* printcmd.c (display_command): Likewise.
      	(ui_printf): Likewise.
      	* procfs.c (create_procinfo): Likewise.
      	(load_syscalls): Likewise.
      	(proc_get_LDT_entry): Likewise.
      	(proc_update_threads): Likewise.
      	* prologue-value.c (make_pv_area): Likewise.
      	(pv_area_store): Likewise.
      	* psymtab.c (extend_psymbol_list): Likewise.
      	(init_psymbol_list): Likewise.
      	(allocate_psymtab): Likewise.
      	* python/py-inferior.c (add_thread_object): Likewise.
      	* python/py-param.c (compute_enum_values): Likewise.
      	* python/py-value.c (valpy_call): Likewise.
      	* python/py-varobj.c (py_varobj_iter_next): Likewise.
      	* python/python.c (ensure_python_env): Likewise.
      	* record-btrace.c (record_btrace_start_replaying): Likewise.
      	* record-full.c (record_full_reg_alloc): Likewise.
      	(record_full_mem_alloc): Likewise.
      	(record_full_end_alloc): Likewise.
      	(record_full_core_xfer_partial): Likewise.
      	* regcache.c (get_thread_arch_aspace_regcache): Likewise.
      	* remote-fileio.c (remote_fileio_init_fd_map): Likewise.
      	* remote-notif.c (remote_notif_state_allocate): Likewise.
      	* remote.c (demand_private_info): Likewise.
      	(remote_notif_stop_alloc_reply): Likewise.
      	(remote_enable_btrace): Likewise.
      	* reverse.c (save_bookmark_command): Likewise.
      	* rl78-tdep.c (rl78_gdbarch_init): Likewise.
      	* rx-tdep.c (rx_gdbarch_init): Likewise.
      	* s390-linux-nat.c (s390_insert_watchpoint): Likewise.
      	* ser-go32.c (dos_get_tty_state): Likewise.
      	(dos_copy_tty_state): Likewise.
      	* ser-mingw.c (ser_windows_open): Likewise.
      	(ser_console_wait_handle): Likewise.
      	(ser_console_get_tty_state): Likewise.
      	(make_pipe_state): Likewise.
      	(net_windows_open): Likewise.
      	* ser-unix.c (hardwire_get_tty_state): Likewise.
      	(hardwire_copy_tty_state): Likewise.
      	* solib-aix.c (solib_aix_new_lm_info): Likewise.
      	* solib-dsbt.c (dsbt_current_sos): Likewise.
      	(dsbt_relocate_main_executable): Likewise.
      	* solib-frv.c (frv_current_sos): Likewise.
      	(frv_relocate_main_executable): Likewise.
      	* solib-spu.c (spu_bfd_fopen): Likewise.
      	* solib-svr4.c (lm_info_read): Likewise.
      	(svr4_copy_library_list): Likewise.
      	(svr4_default_sos): Likewise.
      	* source.c (find_source_lines): Likewise.
      	(line_info): Likewise.
      	(add_substitute_path_rule): Likewise.
      	* spu-linux-nat.c (spu_bfd_open): Likewise.
      	* spu-tdep.c (info_spu_dma_cmdlist): Likewise.
      	* stabsread.c (dbx_lookup_type): Likewise.
      	(read_type): Likewise.
      	(read_member_functions): Likewise.
      	(read_struct_fields): Likewise.
      	(read_baseclasses): Likewise.
      	(read_args): Likewise.
      	(_initialize_stabsread): Likewise.
      	* stack.c (func_command): Likewise.
      	* stap-probe.c (handle_stap_probe): Likewise.
      	* symfile.c (addrs_section_sort): Likewise.
      	(addr_info_make_relative): Likewise.
      	(load_section_callback): Likewise.
      	(add_symbol_file_command): Likewise.
      	(init_filename_language_table): Likewise.
      	* symtab.c (create_filename_seen_cache): Likewise.
      	(sort_search_symbols_remove_dups): Likewise.
      	(search_symbols): Likewise.
      	* target.c (make_cleanup_restore_target_terminal): Likewise.
      	* thread.c (new_thread): Likewise.
      	(enable_thread_stack_temporaries): Likewise.
      	(make_cleanup_restore_current_thread): Likewise.
      	(thread_apply_all_command): Likewise.
      	* tic6x-tdep.c (tic6x_gdbarch_init): Likewise.
      	* top.c (gdb_readline_wrapper): Likewise.
      	* tracefile-tfile.c (tfile_trace_file_writer_new): Likewise.
      	* tracepoint.c (trace_find_line_command): Likewise.
      	(all_tracepoint_actions_and_cleanup): Likewise.
      	(make_cleanup_restore_current_traceframe): Likewise.
      	(get_uploaded_tp): Likewise.
      	(get_uploaded_tsv): Likewise.
      	* tui/tui-data.c (tui_alloc_generic_win_info): Likewise.
      	(tui_alloc_win_info): Likewise.
      	(tui_alloc_content): Likewise.
      	(tui_add_content_elements): Likewise.
      	* tui/tui-disasm.c (tui_find_disassembly_address): Likewise.
      	(tui_set_disassem_content): Likewise.
      	* ui-file.c (ui_file_new): Likewise.
      	(stdio_file_new): Likewise.
      	(tee_file_new): Likewise.
      	* utils.c (make_cleanup_restore_integer): Likewise.
      	(add_internal_problem_command): Likewise.
      	* v850-tdep.c (v850_gdbarch_init): Likewise.
      	* valops.c (find_oload_champ): Likewise.
      	* value.c (allocate_value_lazy): Likewise.
      	(record_latest_value): Likewise.
      	(create_internalvar): Likewise.
      	* varobj.c (install_variable): Likewise.
      	(new_variable): Likewise.
      	(new_root_variable): Likewise.
      	(cppush): Likewise.
      	(_initialize_varobj): Likewise.
      	* windows-nat.c (windows_make_so): Likewise.
      	* x86-nat.c (x86_add_process): Likewise.
      	* xcoffread.c (arrange_linetable): Likewise.
      	(allocate_include_entry): Likewise.
      	(process_linenos): Likewise.
      	(SYMBOL_DUP): Likewise.
      	(xcoff_start_psymtab): Likewise.
      	(xcoff_end_psymtab): Likewise.
      	* xml-support.c (gdb_xml_parse_attr_ulongest): Likewise.
      	* xtensa-tdep.c (xtensa_register_type): Likewise.
      	* gdbarch.c: Regenerate.
      	* gdbarch.h: Regenerate.
      
      gdb/gdbserver/ChangeLog:
      
      	* ax.c (gdb_parse_agent_expr): Likewise.
      	(compile_bytecodes): Likewise.
      	* dll.c (loaded_dll): Likewise.
      	* event-loop.c (append_callback_event): Likewise.
      	(create_file_handler): Likewise.
      	(create_file_event): Likewise.
      	* hostio.c (handle_open): Likewise.
      	* inferiors.c (add_thread): Likewise.
      	(add_process): Likewise.
      	* linux-aarch64-low.c (aarch64_linux_new_process): Likewise.
      	* linux-arm-low.c (arm_new_process): Likewise.
      	(arm_new_thread): Likewise.
      	* linux-low.c (add_to_pid_list): Likewise.
      	(linux_add_process): Likewise.
      	(handle_extended_wait): Likewise.
      	(add_lwp): Likewise.
      	(enqueue_one_deferred_signal): Likewise.
      	(enqueue_pending_signal): Likewise.
      	(linux_resume_one_lwp_throw): Likewise.
      	(linux_resume_one_thread): Likewise.
      	(linux_read_memory): Likewise.
      	(linux_write_memory): Likewise.
      	* linux-mips-low.c (mips_linux_new_process): Likewise.
      	(mips_linux_new_thread): Likewise.
      	(mips_add_watchpoint): Likewise.
      	* linux-x86-low.c (initialize_low_arch): Likewise.
      	* lynx-low.c (lynx_add_process): Likewise.
      	* mem-break.c (set_raw_breakpoint_at): Likewise.
      	(set_breakpoint): Likewise.
      	(add_condition_to_breakpoint): Likewise.
      	(add_commands_to_breakpoint): Likewise.
      	(clone_agent_expr): Likewise.
      	(clone_one_breakpoint): Likewise.
      	* regcache.c (new_register_cache): Likewise.
      	* remote-utils.c (look_up_one_symbol): Likewise.
      	* server.c (queue_stop_reply): Likewise.
      	(start_inferior): Likewise.
      	(queue_stop_reply_callback): Likewise.
      	(handle_target_event): Likewise.
      	* spu-low.c (fetch_ppc_memory): Likewise.
      	(store_ppc_memory): Likewise.
      	* target.c (set_target_ops): Likewise.
      	* thread-db.c (thread_db_load_search): Likewise.
      	(try_thread_db_load_1): Likewise.
      	* tracepoint.c (add_tracepoint): Likewise.
      	(add_tracepoint_action): Likewise.
      	(create_trace_state_variable): Likewise.
      	(cmd_qtdpsrc): Likewise.
      	(cmd_qtro): Likewise.
      	(add_while_stepping_state): Likewise.
      	* win32-low.c (child_add_thread): Likewise.
      	(get_image_name): Likewise.
      8d749320
  20. 15 Jul, 2015 2 commits
    • Jan Kratochvil's avatar
      Revert the previous 7 commits of: Validate binary before use · db1ff28b
      Jan Kratochvil authored
      ddc98fbf Create empty nat/linux-maps.[ch] and common/target-utils.[ch]
      6e5b4429 Move gdb_regex* to common/
      f7af1fcd Prepare linux_find_memory_regions_full & co. for move
      9904185c Move linux_find_memory_regions_full & co.
      700ca40f gdbserver build-id attribute generator
      ca5268b6 Validate symbol file using build-id
      0a94970d Tests for validate symbol file using build-id
      
      gdb/ChangeLog
      2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	Revert the previous 6 commits:
      	Create empty nat/linux-maps.[ch] and common/target-utils.[ch].
      	Move gdb_regex* to common/
      	Prepare linux_find_memory_regions_full & co. for move
      	Move linux_find_memory_regions_full & co.
      	gdbserver build-id attribute generator
      	Validate symbol file using build-id
      
      gdb/gdbserver/ChangeLog
      2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	Revert the previous 3 commits:
      	Move gdb_regex* to common/
      	Move linux_find_memory_regions_full & co.
      	gdbserver build-id attribute generator
      
      gdb/doc/ChangeLog
      2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	Revert the previous 2 commits:
      	gdbserver build-id attribute generator
      	Validate symbol file using build-id
      
      gdb/testsuite/ChangeLog
      2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	Revert the previous commit:
      	Tests for validate symbol file using build-id.
      db1ff28b
    • Jan Kratochvil's avatar
      Validate symbol file using build-id · ca5268b6
      Jan Kratochvil authored
      Consumer part of the "build-id" attribute.
      
      gdb/ChangeLog
      2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
      	    Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	Validate symbol file using build-id.
      	* NEWS (Changes since GDB 7.10): Add 'set validate-build-id'
      	and 'show validate-build-id'.  Add build-id attribute.
      	* solib-darwin.c (_initialize_darwin_solib): Assign validate value.
      	* solib-dsbt.c (_initialize_dsbt_solib): Ditto.
      	* solib-frv.c (_initialize_frv_solib): Ditto.
      	* solib-spu.c (set_spu_solib_ops): Ditto.
      	* solib-svr4.c: Include rsp-low.h.
      	(NOTE_GNU_BUILD_ID_NAME): New define.
      	(svr4_validate): New function.
      	(svr4_copy_library_list): Duplicate field build_id.
      	(library_list_start_library): Parse 'build-id' attribute.
      	(svr4_library_attributes): Add 'build-id' attribute.
      	(_initialize_svr4_solib): Assign validate value.
      	* solib-target.c (solib.h): Include.
      	(_initialize_solib_target): Assign validate value.
      	* solib.c (validate_build_id, show_validate_build_id): New.
      	(solib_map_sections): Use ops->validate.
      	(clear_so): Free build_id.
      	(default_solib_validate): New function.
      	(_initialize_solib): Add "validate-build-id".
      	* solib.h (default_solib_validate): New declaration.
      	* solist.h (struct so_list): New fields 'build_idsz' and 'build_id'.
      	(target_so_ops): New field 'validate'.
      
      gdb/doc/ChangeLog
      2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	* gdb.texinfo (Files): Add 'set validate-build-id'
      	and 'show validate-build-id'.
      ca5268b6
  21. 07 Mar, 2015 1 commit
    • Pedro Alves's avatar
      Split TRY_CATCH into TRY + CATCH · 492d29ea
      Pedro Alves authored
      This patch splits the TRY_CATCH macro into three, so that we go from
      this:
      
      ~~~
        volatile gdb_exception ex;
      
        TRY_CATCH (ex, RETURN_MASK_ERROR)
          {
          }
        if (ex.reason < 0)
          {
          }
      ~~~
      
      to this:
      
      ~~~
        TRY
          {
          }
        CATCH (ex, RETURN_MASK_ERROR)
          {
          }
        END_CATCH
      ~~~
      
      Thus, we'll be getting rid of the local volatile exception object, and
      declaring the caught exception in the catch block.
      
      This allows reimplementing TRY/CATCH in terms of C++ exceptions when
      building in C++ mode, while still allowing to build GDB in C mode
      (using setjmp/longjmp), as a transition step.
      
      TBC, after this patch, is it _not_ valid to have code between the TRY
      and the CATCH blocks, like:
      
        TRY
          {
          }
      
        // some code here.
      
        CATCH (ex, RETURN_MASK_ERROR)
          {
          }
        END_CATCH
      
      Just like it isn't valid to do that with C++'s native try/catch.
      
      By switching to creating the exception object inside the CATCH block
      scope, we can get rid of all the explicitly allocated volatile
      exception objects all over the tree, and map the CATCH block more
      directly to C++'s catch blocks.
      
      The majority of the TRY_CATCH -> TRY+CATCH+END_CATCH conversion was
      done with a script, rerun from scratch at every rebase, no manual
      editing involved.  After the mechanical conversion, a few places
      needed manual intervention, to fix preexisting cases where we were
      using the exception object outside of the TRY_CATCH block, and cases
      where we were using "else" after a 'if (ex.reason) < 0)' [a CATCH
      after this patch].  The result was folded into this patch so that GDB
      still builds at each incremental step.
      
      END_CATCH is necessary for two reasons:
      
      First, because we name the exception object in the CATCH block, which
      requires creating a scope, which in turn must be closed somewhere.
      Declaring the exception variable in the initializer field of a for
      block, like:
      
        #define CATCH(EXCEPTION, mask) \
          for (struct gdb_exception EXCEPTION; \
               exceptions_state_mc_catch (&EXCEPTION, MASK); \
      	 EXCEPTION = exception_none)
      
      would avoid needing END_CATCH, but alas, in C mode, we build with C90,
      which doesn't allow mixed declarations and code.
      
      Second, because when TRY/CATCH are wired to real C++ try/catch, as
      long as we need to handle cleanup chains, even if there's no CATCH
      block that wants to catch the exception, we need for stop at every
      frame in the unwind chain and run cleanups, then rethrow.  That will
      be done in END_CATCH.
      
      After we require C++, we'll still need TRY/CATCH/END_CATCH until
      cleanups are completely phased out -- TRY/CATCH in C++ mode will
      save/restore the current cleanup chain, like in C mode, and END_CATCH
      catches otherwise uncaugh exceptions, runs cleanups and rethrows, so
      that C++ cleanups and exceptions can coexist.
      
      IMO, this still makes the TRY/CATCH code look a bit more like a
      newcomer would expect, so IMO worth it even if we weren't considering
      C++.
      
      gdb/ChangeLog.
      2015-03-07  Pedro Alves  <palves@redhat.com>
      
      	* common/common-exceptions.c (struct catcher) <exception>: No
      	longer a pointer to volatile exception.  Now an exception value.
      	<mask>: Delete field.
      	(exceptions_state_mc_init): Remove all parameters.  Adjust.
      	(exceptions_state_mc): No longer pop the catcher here.
      	(exceptions_state_mc_catch): New function.
      	(throw_exception): Adjust.
      	* common/common-exceptions.h (exceptions_state_mc_init): Remove
      	all parameters.
      	(exceptions_state_mc_catch): Declare.
      	(TRY_CATCH): Rename to ...
      	(TRY): ... this.  Remove EXCEPTION and MASK parameters.
      	(CATCH, END_CATCH): New.
      	All callers adjusted.
      
      gdb/gdbserver/ChangeLog:
      2015-03-07  Pedro Alves  <palves@redhat.com>
      
      	Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
      	instead.
      492d29ea
  22. 01 Jan, 2015 1 commit
  23. 08 Oct, 2014 1 commit
    • Gary Benson's avatar
      Remove spurious exceptions.h inclusions · c765fdb9
      Gary Benson authored
      defs.h includes utils.h, and utils.h includes exceptions.h.  All GDB
      .c files include defs.h as their first line, so no file other than
      utils.h needs to include exceptions.h.  This commit removes all such
      inclusions.
      
      gdb/ChangeLog:
      
      	* ada-lang.c: Do not include exceptions.h.
      	* ada-valprint.c: Likewise.
      	* amd64-tdep.c: Likewise.
      	* auto-load.c: Likewise.
      	* block.c: Likewise.
      	* break-catch-throw.c: Likewise.
      	* breakpoint.c: Likewise.
      	* btrace.c: Likewise.
      	* c-lang.c: Likewise.
      	* cli/cli-cmds.c: Likewise.
      	* cli/cli-interp.c: Likewise.
      	* cli/cli-script.c: Likewise.
      	* completer.c: Likewise.
      	* corefile.c: Likewise.
      	* corelow.c: Likewise.
      	* cp-abi.c: Likewise.
      	* cp-support.c: Likewise.
      	* cp-valprint.c: Likewise.
      	* darwin-nat.c: Likewise.
      	* dwarf2-frame-tailcall.c: Likewise.
      	* dwarf2-frame.c: Likewise.
      	* dwarf2loc.c: Likewise.
      	* dwarf2read.c: Likewise.
      	* eval.c: Likewise.
      	* event-loop.c: Likewise.
      	* event-top.c: Likewise.
      	* f-valprint.c: Likewise.
      	* frame-unwind.c: Likewise.
      	* frame.c: Likewise.
      	* gdbtypes.c: Likewise.
      	* gnu-v2-abi.c: Likewise.
      	* gnu-v3-abi.c: Likewise.
      	* guile/scm-auto-load.c: Likewise.
      	* guile/scm-breakpoint.c: Likewise.
      	* guile/scm-cmd.c: Likewise.
      	* guile/scm-frame.c: Likewise.
      	* guile/scm-lazy-string.c: Likewise.
      	* guile/scm-param.c: Likewise.
      	* guile/scm-symbol.c: Likewise.
      	* guile/scm-type.c: Likewise.
      	* hppa-hpux-tdep.c: Likewise.
      	* i386-tdep.c: Likewise.
      	* inf-loop.c: Likewise.
      	* infcall.c: Likewise.
      	* infcmd.c: Likewise.
      	* infrun.c: Likewise.
      	* interps.c: Likewise.
      	* interps.h: Likewise.
      	* jit.c: Likewise.
      	* linespec.c: Likewise.
      	* linux-nat.c: Likewise.
      	* linux-thread-db.c: Likewise.
      	* m32r-rom.c: Likewise.
      	* main.c: Likewise.
      	* memory-map.c: Likewise.
      	* mi/mi-cmd-break.c: Likewise.
      	* mi/mi-cmd-stack.c: Likewise.
      	* mi/mi-interp.c: Likewise.
      	* mi/mi-main.c: Likewise.
      	* monitor.c: Likewise.
      	* nto-procfs.c: Likewise.
      	* objc-lang.c: Likewise.
      	* p-valprint.c: Likewise.
      	* parse.c: Likewise.
      	* ppc-linux-tdep.c: Likewise.
      	* printcmd.c: Likewise.
      	* probe.c: Likewise.
      	* python/py-auto-load.c: Likewise.
      	* python/py-breakpoint.c: Likewise.
      	* python/py-cmd.c: Likewise.
      	* python/py-finishbreakpoint.c: Likewise.
      	* python/py-frame.c: Likewise.
      	* python/py-framefilter.c: Likewise.
      	* python/py-function.c: Likewise.
      	* python/py-gdb-readline.c: Likewise.
      	* python/py-inferior.c: Likewise.
      	* python/py-infthread.c: Likewise.
      	* python/py-lazy-string.c: Likewise.
      	* python/py-linetable.c: Likewise.
      	* python/py-param.c: Likewise.
      	* python/py-prettyprint.c: Likewise.
      	* python/py-symbol.c: Likewise.
      	* python/py-type.c: Likewise.
      	* python/py-value.c: Likewise.
      	* python/python-internal.h: Likewise.
      	* python/python.c: Likewise.
      	* record-btrace.c: Likewise.
      	* record-full.c: Likewise.
      	* regcache.c: Likewise.
      	* remote-fileio.c: Likewise.
      	* remote-mips.c: Likewise.
      	* remote.c: Likewise.
      	* rs6000-aix-tdep.c: Likewise.
      	* rs6000-nat.c: Likewise.
      	* skip.c: Likewise.
      	* solib-darwin.c: Likewise.
      	* solib-dsbt.c: Likewise.
      	* solib-frv.c: Likewise.
      	* solib-ia64-hpux.c: Likewise.
      	* solib-spu.c: Likewise.
      	* solib-svr4.c: Likewise.
      	* solib.c: Likewise.
      	* spu-tdep.c: Likewise.
      	* stack.c: Likewise.
      	* stap-probe.c: Likewise.
      	* symfile-mem.c: Likewise.
      	* symmisc.c: Likewise.
      	* target.c: Likewise.
      	* thread.c: Likewise.
      	* top.c: Likewise.
      	* tracepoint.c: Likewise.
      	* tui/tui-interp.c: Likewise.
      	* typeprint.c: Likewise.
      	* utils.c: Likewise.
      	* valarith.c: Likewise.
      	* valops.c: Likewise.
      	* valprint.c: Likewise.
      	* value.c: Likewise.
      	* varobj.c: Likewise.
      	* windows-nat.c: Likewise.
      	* xml-support.c: Likewise.
      c765fdb9
  24. 07 Aug, 2014 1 commit
    • Gary Benson's avatar
      Include string.h in common-defs.h · 6d3d12eb
      Gary Benson authored
      This commit includes string.h in common-defs.h and removes all other
      inclusions.
      
      gdb/
      2014-08-07  Gary Benson  <gbenson@redhat.com>
      
      	* common/common-defs.h: Include string.h.
      	* aarch64-tdep.c: Do not include string.h.
      	* ada-exp.y: Likewise.
      	* ada-lang.c: Likewise.
      	* ada-lex.l: Likewise.
      	* ada-typeprint.c: Likewise.
      	* ada-valprint.c: Likewise.
      	* aix-thread.c: Likewise.
      	* alpha-linux-tdep.c: Likewise.
      	* alpha-mdebug-tdep.c: Likewise.
      	* alpha-nat.c: Likewise.
      	* alpha-osf1-tdep.c: Likewise.
      	* alpha-tdep.c: Likewise.
      	* alphanbsd-tdep.c: Likewise.
      	* amd64-dicos-tdep.c: Likewise.
      	* amd64-linux-tdep.c: Likewise.
      	* amd64-nat.c: Likewise.
      	* amd64-sol2-tdep.c: Likewise.
      	* amd64fbsd-tdep.c: Likewise.
      	* amd64obsd-tdep.c: Likewise.
      	* arch-utils.c: Likewise.
      	* arm-linux-nat.c: Likewise.
      	* arm-linux-tdep.c: Likewise.
      	* arm-tdep.c: Likewise.
      	* arm-wince-tdep.c: Likewise.
      	* armbsd-tdep.c: Likewise.
      	* armnbsd-nat.c: Likewise.
      	* armnbsd-tdep.c: Likewise.
      	* armobsd-tdep.c: Likewise.
      	* avr-tdep.c: Likewise.
      	* ax-gdb.c: Likewise.
      	* ax-general.c: Likewise.
      	* bcache.c: Likewise.
      	* bfin-tdep.c: Likewise.
      	* breakpoint.c: Likewise.
      	* build-id.c: Likewise.
      	* buildsym.c: Likewise.
      	* c-exp.y: Likewise.
      	* c-lang.c: Likewise.
      	* c-typeprint.c: Likewise.
      	* c-valprint.c: Likewise.
      	* charset.c: Likewise.
      	* cli-out.c: Likewise.
      	* cli/cli-cmds.c: Likewise.
      	* cli/cli-decode.c: Likewise.
      	* cli/cli-dump.c: Likewise.
      	* cli/cli-interp.c: Likewise.
      	* cli/cli-logging.c: Likewise.
      	* cli/cli-script.c: Likewise.
      	* cli/cli-setshow.c: Likewise.
      	* cli/cli-utils.c: Likewise.
      	* coffread.c: Likewise.
      	* common/agent.c: Likewise.
      	* common/buffer.c: Likewise.
      	* common/buffer.h: Likewise.
      	* common/common-utils.c: Likewise.
      	* common/filestuff.c: Likewise.
      	* common/filestuff.c: Likewise.
      	* common/format.c: Likewise.
      	* common/print-utils.c: Likewise.
      	* common/rsp-low.c: Likewise.
      	* common/signals.c: Likewise.
      	* common/vec.h: Likewise.
      	* common/xml-utils.c: Likewise.
      	* core-regset.c: Likewise.
      	* corefile.c: Likewise.
      	* corelow.c: Likewise.
      	* cp-abi.c: Likewise.
      	* cp-name-parser.y: Likewise.
      	* cp-support.c: Likewise.
      	* cp-valprint.c: Likewise.
      	* cris-tdep.c: Likewise.
      	* d-exp.y: Likewise.
      	* darwin-nat.c: Likewise.
      	* dbxread.c: Likewise.
      	* dcache.c: Likewise.
      	* demangle.c: Likewise.
      	* dicos-tdep.c: Likewise.
      	* disasm.c: Likewise.
      	* doublest.c: Likewise.
      	* dsrec.c: Likewise.
      	* dummy-frame.c: Likewise.
      	* dwarf2-frame.c: Likewise.
      	* dwarf2loc.c: Likewise.
      	* dwarf2read.c: Likewise.
      	* elfread.c: Likewise.
      	* environ.c: Likewise.
      	* eval.c: Likewise.
      	* event-loop.c: Likewise.
      	* exceptions.c: Likewise.
      	* exec.c: Likewise.
      	* expprint.c: Likewise.
      	* f-exp.y: Likewise.
      	* f-lang.c: Likewise.
      	* f-typeprint.c: Likewise.
      	* f-valprint.c: Likewise.
      	* fbsd-nat.c: Likewise.
      	* findcmd.c: Likewise.
      	* findvar.c: Likewise.
      	* fork-child.c: Likewise.
      	* frame.c: Likewise.
      	* frv-linux-tdep.c: Likewise.
      	* frv-tdep.c: Likewise.
      	* gdb.c: Likewise.
      	* gdb_bfd.c: Likewise.
      	* gdbarch.c: Likewise.
      	* gdbarch.sh: Likewise.
      	* gdbtypes.c: Likewise.
      	* gnu-nat.c: Likewise.
      	* gnu-v2-abi.c: Likewise.
      	* gnu-v3-abi.c: Likewise.
      	* go-exp.y: Likewise.
      	* go-lang.c: Likewise.
      	* go32-nat.c: Likewise.
      	* guile/guile.c: Likewise.
      	* guile/scm-auto-load.c: Likewise.
      	* hppa-hpux-tdep.c: Likewise.
      	* hppa-linux-nat.c: Likewise.
      	* hppanbsd-tdep.c: Likewise.
      	* hppaobsd-tdep.c: Likewise.
      	* i386-cygwin-tdep.c: Likewise.
      	* i386-dicos-tdep.c: Likewise.
      	* i386-linux-tdep.c: Likewise.
      	* i386-nto-tdep.c: Likewise.
      	* i386-sol2-tdep.c: Likewise.
      	* i386-tdep.c: Likewise.
      	* i386bsd-tdep.c: Likewise.
      	* i386gnu-nat.c: Likewise.
      	* i386nbsd-tdep.c: Likewise.
      	* i386obsd-tdep.c: Likewise.
      	* i387-tdep.c: Likewise.
      	* ia64-libunwind-tdep.c: Likewise.
      	* ia64-linux-nat.c: Likewise.
      	* inf-child.c: Likewise.
      	* inf-ptrace.c: Likewise.
      	* inf-ttrace.c: Likewise.
      	* infcall.c: Likewise.
      	* infcmd.c: Likewise.
      	* inflow.c: Likewise.
      	* infrun.c: Likewise.
      	* interps.c: Likewise.
      	* iq2000-tdep.c: Likewise.
      	* irix5-nat.c: Likewise.
      	* jv-exp.y: Likewise.
      	* jv-lang.c: Likewise.
      	* jv-typeprint.c: Likewise.
      	* jv-valprint.c: Likewise.
      	* language.c: Likewise.
      	* linux-fork.c: Likewise.
      	* linux-nat.c: Likewise.
      	* lm32-tdep.c: Likewise.
      	* m2-exp.y: Likewise.
      	* m2-typeprint.c: Likewise.
      	* m32c-tdep.c: Likewise.
      	* m32r-linux-nat.c: Likewise.
      	* m32r-linux-tdep.c: Likewise.
      	* m32r-rom.c: Likewise.
      	* m32r-tdep.c: Likewise.
      	* m68hc11-tdep.c: Likewise.
      	* m68k-tdep.c: Likewise.
      	* m68kbsd-tdep.c: Likewise.
      	* m68klinux-nat.c: Likewise.
      	* m68klinux-tdep.c: Likewise.
      	* m88k-tdep.c: Likewise.
      	* machoread.c: Likewise.
      	* macrocmd.c: Likewise.
      	* main.c: Likewise.
      	* mdebugread.c: Likewise.
      	* mem-break.c: Likewise.
      	* memattr.c: Likewise.
      	* memory-map.c: Likewise.
      	* mep-tdep.c: Likewise.
      	* mi/mi-cmd-break.c: Likewise.
      	* mi/mi-cmd-disas.c: Likewise.
      	* mi/mi-cmd-env.c: Likewise.
      	* mi/mi-cmd-stack.c: Likewise.
      	* mi/mi-cmd-var.c: Likewise.
      	* mi/mi-cmds.c: Likewise.
      	* mi/mi-console.c: Likewise.
      	* mi/mi-getopt.c: Likewise.
      	* mi/mi-interp.c: Likewise.
      	* mi/mi-main.c: Likewise.
      	* mi/mi-parse.c: Likewise.
      	* microblaze-rom.c: Likewise.
      	* microblaze-tdep.c: Likewise.
      	* mingw-hdep.c: Likewise.
      	* minidebug.c: Likewise.
      	* minsyms.c: Likewise.
      	* mips-irix-tdep.c: Likewise.
      	* mips-linux-tdep.c: Likewise.
      	* mips-tdep.c: Likewise.
      	* mips64obsd-tdep.c: Likewise.
      	* mipsnbsd-tdep.c: Likewise.
      	* mipsread.c: Likewise.
      	* mn10300-linux-tdep.c: Likewise.
      	* mn10300-tdep.c: Likewise.
      	* monitor.c: Likewise.
      	* moxie-tdep.c: Likewise.
      	* mt-tdep.c: Likewise.
      	* nat/linux-btrace.c: Likewise.
      	* nat/linux-osdata.c: Likewise.
      	* nat/linux-procfs.c: Likewise.
      	* nat/linux-ptrace.c: Likewise.
      	* nat/linux-waitpid.c: Likewise.
      	* nbsd-tdep.c: Likewise.
      	* nios2-linux-tdep.c: Likewise.
      	* nto-procfs.c: Likewise.
      	* nto-tdep.c: Likewise.
      	* objc-lang.c: Likewise.
      	* objfiles.c: Likewise.
      	* opencl-lang.c: Likewise.
      	* osabi.c: Likewise.
      	* osdata.c: Likewise.
      	* p-exp.y: Likewise.
      	* p-lang.c: Likewise.
      	* p-typeprint.c: Likewise.
      	* parse.c: Likewise.
      	* posix-hdep.c: Likewise.
      	* ppc-linux-nat.c: Likewise.
      	* ppc-sysv-tdep.c: Likewise.
      	* ppcfbsd-tdep.c: Likewise.
      	* ppcnbsd-tdep.c: Likewise.
      	* ppcobsd-tdep.c: Likewise.
      	* printcmd.c: Likewise.
      	* procfs.c: Likewise.
      	* prologue-value.c: Likewise.
      	* python/py-auto-load.c: Likewise.
      	* python/py-gdb-readline.c: Likewise.
      	* ravenscar-thread.c: Likewise.
      	* regcache.c: Likewise.
      	* registry.c: Likewise.
      	* remote-fileio.c: Likewise.
      	* remote-m32r-sdi.c: Likewise.
      	* remote-mips.c: Likewise.
      	* remote-notif.c: Likewise.
      	* remote-sim.c: Likewise.
      	* remote.c: Likewise.
      	* reverse.c: Likewise.
      	* rs6000-aix-tdep.c: Likewise.
      	* ser-base.c: Likewise.
      	* ser-go32.c: Likewise.
      	* ser-mingw.c: Likewise.
      	* ser-pipe.c: Likewise.
      	* ser-tcp.c: Likewise.
      	* ser-unix.c: Likewise.
      	* serial.c: Likewise.
      	* sh-tdep.c: Likewise.
      	* sh64-tdep.c: Likewise.
      	* shnbsd-tdep.c: Likewise.
      	* skip.c: Likewise.
      	* sol-thread.c: Likewise.
      	* solib-dsbt.c: Likewise.
      	* solib-frv.c: Likewise.
      	* solib-osf.c: Likewise.
      	* solib-som.c: Likewise.
      	* solib-spu.c: Likewise.
      	* solib-target.c: Likewise.
      	* solib.c: Likewise.
      	* somread.c: Likewise.
      	* source.c: Likewise.
      	* sparc-nat.c: Likewise.
      	* sparc-sol2-tdep.c: Likewise.
      	* sparc-tdep.c: Likewise.
      	* sparc64-tdep.c: Likewise.
      	* sparc64fbsd-tdep.c: Likewise.
      	* sparc64nbsd-tdep.c: Likewise.
      	* sparcnbsd-tdep.c: Likewise.
      	* spu-linux-nat.c: Likewise.
      	* spu-multiarch.c: Likewise.
      	* spu-tdep.c: Likewise.
      	* stabsread.c: Likewise.
      	* stack.c: Likewise.
      	* std-regs.c: Likewise.
      	* symfile.c: Likewise.
      	* symmisc.c: Likewise.
      	* symtab.c: Likewise.
      	* target.c: Likewise.
      	* thread.c: Likewise.
      	* tilegx-linux-nat.c: Likewise.
      	* tilegx-tdep.c: Likewise.
      	* top.c: Likewise.
      	* tracepoint.c: Likewise.
      	* tui/tui-command.c: Likewise.
      	* tui/tui-data.c: Likewise.
      	* tui/tui-disasm.c: Likewise.
      	* tui/tui-file.c: Likewise.
      	* tui/tui-layout.c: Likewise.
      	* tui/tui-out.c: Likewise.
      	* tui/tui-regs.c: Likewise.
      	* tui/tui-source.c: Likewise.
      	* tui/tui-stack.c: Likewise.
      	* tui/tui-win.c: Likewise.
      	* tui/tui-windata.c: Likewise.
      	* tui/tui-winsource.c: Likewise.
      	* typeprint.c: Likewise.
      	* ui-file.c: Likewise.
      	* ui-out.c: Likewise.
      	* user-regs.c: Likewise.
      	* utils.c: Likewise.
      	* v850-tdep.c: Likewise.
      	* valarith.c: Likewise.
      	* valops.c: Likewise.
      	* valprint.c: Likewise.
      	* value.c: Likewise.
      	* varobj.c: Likewise.
      	* vax-tdep.c: Likewise.
      	* vaxnbsd-tdep.c: Likewise.
      	* vaxobsd-tdep.c: Likewise.
      	* windows-nat.c: Likewise.
      	* xcoffread.c: Likewise.
      	* xml-support.c: Likewise.
      	* xstormy16-tdep.c: Likewise.
      	* xtensa-linux-nat.c: Likewise.
      
      gdb/gdbserver/
      2014-08-07  Gary Benson  <gbenson@redhat.com>
      
      	* server.h: Do not include string.h.
      	* event-loop.c: Likewise.
      	* linux-low.c: Likewise.
      	* regcache.c: Likewise.
      	* remote-utils.c: Likewise.
      	* spu-low.c: Likewise.
      	* utils.c: Likewise.
      6d3d12eb
  25. 26 Feb, 2014 3 commits
    • Tom Tromey's avatar
      start change to progspace independence · 77e371c0
      Tom Tromey authored
      This patch starts changing minimal symbols to be independent of the
      program space.
      
      Specifically, it adds a new objfile parameter to MSYMBOL_VALUE_ADDRESS
      and changes all the code to use it.  This is needed so we can change
      gdb to apply the section offset when a minsym's address is computed,
      as opposed to baking the offsets into the symbol itself.
      
      A few spots still need the unrelocated address.  For these, we
      introduce MSYMBOL_VALUE_RAW_ADDRESS.
      
      As a convenience, we also add the new macro BMSYMBOL_VALUE_ADDRESS,
      which computes the address of a bound minimal symbol.  This just does
      the obvious thing with the fields.
      
      Note that this change does not actually enable program space
      independence.  That requires more changes to gdb.  However, to ensure
      that these changes compile properly, this patch does add the needed
      section lookup code to MSYMBOL_VALUE_ADDRESS -- it just ensures it has
      no effect at runtime by multiplying the offset by 0.
      
      2014-02-26  Tom Tromey  <tromey@redhat.com>
      
      	* ada-lang.c (ada_main_name): Update.
      	(ada_add_standard_exceptions): Update.
      	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
      	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
      	* arm-tdep.c (skip_prologue_function, arm_skip_stub): Update.
      	* auxv.c (ld_so_xfer_auxv): Update.
      	* avr-tdep.c (avr_scan_prologue): Update.
      	* ax-gdb.c (gen_var_ref): Update.
      	* blockframe.c (get_pc_function_start)
      	(find_pc_partial_function_gnu_ifunc): Update.
      	* breakpoint.c (create_overlay_event_breakpoint)
      	(create_longjmp_master_breakpoint)
      	(create_std_terminate_master_breakpoint)
      	(create_exception_master_breakpoint): Update.
      	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
      	* c-valprint.c (c_val_print): Update.
      	* coff-pe-read.c (add_pe_forwarded_sym): Update.
      	* common/agent.c (agent_look_up_symbols): Update.
      	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
      	* dwarf2loc.c (call_site_to_target_addr): Update.
      	* dwarf2read.c (dw2_find_pc_sect_symtab): Update.
      	* elfread.c (elf_gnu_ifunc_record_cache)
      	(elf_gnu_ifunc_resolve_by_got): Update.
      	* findvar.c (default_read_var_value): Update.
      	* frame.c (inside_main_func): Update.
      	* frv-tdep.c (frv_frame_this_id): Update.
      	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
      	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
      	Update.
      	* hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence)
      	(hppa_hpux_find_dummy_bpaddr): Update.
      	* hppa-tdep.c (hppa_symbol_address): Update.
      	* infcmd.c (until_next_command): Update.
      	* jit.c (jit_read_descriptor, jit_breakpoint_re_set_internal):
      	Update.
      	* linespec.c (minsym_found, add_minsym): Update.
      	* linux-nat.c (get_signo): Update.
      	* linux-thread-db.c (inferior_has_bug): Update.
      	* m32c-tdep.c (m32c_return_value)
      	(m32c_m16c_address_to_pointer): Update.
      	* m32r-tdep.c (m32r_frame_this_id): Update.
      	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
      	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
      	* maint.c (maintenance_translate_address): Update.
      	* minsyms.c (lookup_minimal_symbol_by_pc_name): Update.
      	(frob_address): New function.
      	(lookup_minimal_symbol_by_pc_section_1): Use raw addresses,
      	frob_address.  Rename parameter to "pc_in".
      	(compare_minimal_symbols, compact_minimal_symbols): Use raw
      	addresses.
      	(find_solib_trampoline_target, minimal_symbol_upper_bound):
      	Update.
      	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
      	* mips-tdep.c (mips_skip_pic_trampoline_code): Update.
      	* objc-lang.c (find_objc_msgsend): Update.
      	* objfiles.c (objfile_relocate1): Update.
      	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
      	* p-valprint.c (pascal_val_print): Update.
      	* parse.c (write_exp_msymbol): Update.
      	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup)
      	(ppc_elfv2_skip_entrypoint): Update.
      	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
      	* printcmd.c (build_address_symbolic, msym_info)
      	(address_info): Update.
      	* proc-service.c (ps_pglobal_lookup): Update.
      	* psymtab.c (find_pc_sect_psymtab_closer)
      	(find_pc_sect_psymtab, find_pc_sect_symtab_from_partial):
      	Change msymbol parameter to bound_minimal_symbol.
      	* ravenscar-thread.c (get_running_thread_id): Update.
      	* remote.c (remote_check_symbols): Update.
      	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use raw
      	address.
      	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
      	* solib-dsbt.c (lm_base): Update.
      	* solib-frv.c (lm_base, main_got): Update.
      	* solib-irix.c (locate_base): Update.
      	* solib-som.c (som_solib_create_inferior_hook)
      	(link_map_start): Update.
      	* solib-spu.c (spu_enable_break, ocl_enable_break): Update.
      	* solib-svr4.c (elf_locate_base, enable_break): Update.
      	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
      	(flush_ea_cache): Update.
      	* stabsread.c (define_symbol, scan_file_globals): Update.
      	* stack.c (find_frame_funname): Update.
      	* symfile-debug.c (debug_qf_expand_symtabs_matching)
      	(debug_qf_find_pc_sect_symtab): Update.
      	* symfile.c (simple_read_overlay_table)
      	(simple_overlay_update): Update.
      	* symfile.h (struct quick_symbol_functions)
      	<find_pc_sect_symtab>: Change type of msymbol to
      	bound_minimal_symbol.
      	* symmisc.c (dump_msymbols): Update.
      	* symtab.c (find_pc_sect_symtab_via_partial)
      	(find_pc_sect_psymtab, find_pc_sect_line, skip_prologue_sal)
      	(search_symbols, print_msymbol_info): Update.
      	* symtab.h (MSYMBOL_VALUE_RAW_ADDRESS): New macro.
      	(MSYMBOL_VALUE_ADDRESS): Redefine.
      	(BMSYMBOL_VALUE_ADDRESS): New macro.
      	* tracepoint.c (scope_info): Update.
      	* tui/tui-disasm.c (tui_find_disassembly_address)
      	(tui_get_begin_asm_address): Update.
      	* valops.c (find_function_in_inferior): Update.
      	* value.c (value_static_field, value_fn_field): Update.
      77e371c0
    • Tom Tromey's avatar
      use bound_minsym as result for lookup_minimal_symbol et al · 3b7344d5
      Tom Tromey authored
      This patch changes a few minimal symbol lookup functions to return a
      bound_minimal_symbol rather than a pointer to the minsym.  This change
      helps prepare gdb for computing a minimal symbol's address at the
      point of use.
      
      Note that this changes even those functions that ostensibly search a
      single objfile.  That was necessary because, in fact, those functions
      can search an objfile and its separate debug objfiles; and it is
      important for the caller to know in which objfile the minimal symbol
      was actually found.
      
      The bulk of this patch is mechanical.
      
      2014-02-26  Tom Tromey  <tromey@redhat.com>
      
      	* ada-lang.c (ada_update_initial_language): Update.
      	(ada_main_name, ada_has_this_exception_support): Update.
      	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
      	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
      	* arm-tdep.c (arm_skip_stub): Update.
      	* auxv.c (ld_so_xfer_auxv): Update.
      	* avr-tdep.c (avr_scan_prologue): Update.
      	* ax-gdb.c (gen_var_ref): Update.
      	* breakpoint.c (struct breakpoint_objfile_data)
      	<overlay_msym, longjmp_msym, terminate_msym, exception_msym>: Change
      	type to bound_minimal_symbol.
      	(create_overlay_event_breakpoint)
      	(create_longjmp_master_breakpoint)
      	(create_std_terminate_master_breakpoint)
      	(create_exception_master_breakpoint): Update.
      	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
      	* c-exp.y (classify_name): Update.
      	* coffread.c (coff_symfile_read): Update.
      	* common/agent.c (agent_look_up_symbols): Update.
      	* d-lang.c (d_main_name): Update.
      	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
      	* dec-thread.c (enable_dec_thread): Update.
      	* dwarf2loc.c (call_site_to_target_addr): Update.
      	* elfread.c (elf_gnu_ifunc_resolve_by_got): Update.
      	* eval.c (evaluate_subexp_standard): Update.
      	* findvar.c (struct minsym_lookup_data) <result>: Change type
      	to bound_minimal_symbol.
      	<objfile>: Remove.
      	(minsym_lookup_iterator_cb, default_read_var_value): Update.
      	* frame.c (inside_main_func): Update.
      	* frv-tdep.c (frv_frame_this_id): Update.
      	* gcore.c (call_target_sbrk): Update.
      	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
      	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
      	Update.
      	* go-lang.c (go_main_name): Update.
      	* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code)
      	(hppa_hpux_find_import_stub_for_addr): Update.
      	* hppa-tdep.c (hppa_extract_17,	hppa_lookup_stub_minimal_symbol):
      	Update.  Change return type.
      	* hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return
      	type.
      	* jit.c (jit_breakpoint_re_set_internal): Update.
      	* linux-fork.c (inferior_call_waitpid, checkpoint_command):
      	Update.
      	* linux-nat.c (get_signo): Update.
      	* linux-thread-db.c (inferior_has_bug): Update
      	* m32c-tdep.c (m32c_return_value)
      	(m32c_m16c_address_to_pointer): Update.
      	* m32r-tdep.c (m32r_frame_this_id): Update.
      	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
      	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
      	* minsyms.c (lookup_minimal_symbol_internal): Rename to
      	lookup_minimal_symbol.  Change return type.
      	(lookup_minimal_symbol): Remove.
      	(lookup_bound_minimal_symbol): Update.
      	(lookup_minimal_symbol_text): Change return type.
      	(lookup_minimal_symbol_solib_trampoline): Change return type.
      	* minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text)
      	(lookup_minimal_symbol_solib_trampoline): Change return type.
      	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
      	* objc-lang.c (lookup_objc_class, lookup_child_selector)
      	(value_nsstring, find_imps): Update.
      	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
      	* p-lang.c (pascal_main_name): Update.
      	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update.
      	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
      	* proc-service.c (ps_pglobal_lookup): Update.
      	* ravenscar-thread.c (get_running_thread_msymbol): Change
      	return type.
      	(has_ravenscar_runtime, get_running_thread_id): Update.
      	* remote.c (remote_check_symbols): Update.
      	* sol-thread.c (ps_pglobal_lookup): Update.
      	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
      	* solib-dsbt.c (lm_base): Update.
      	* solib-frv.c (lm_base, frv_relocate_section_addresses):
      	Update.
      	* solib-irix.c (locate_base): Update.
      	* solib-som.c (som_solib_create_inferior_hook)
      	(som_solib_desire_dynamic_linker_symbols, link_map_start):
      	Update.
      	* solib-spu.c (spu_enable_break): Update.
      	* solib-svr4.c (elf_locate_base, enable_break): Update.
      	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
      	(flush_ea_cache): Update.
      	* stabsread.c (define_symbol): Update.
      	* symfile.c (simple_read_overlay_table): Update.
      	* symtab.c (find_pc_sect_line): Update.
      	* tracepoint.c (scope_info): Update.
      	* tui-disasm.c (tui_get_begin_asm_address): Update.
      	* value.c (value_static_field): Update.
      3b7344d5
    • Tom Tromey's avatar
      change minsym representation · efd66ac6
      Tom Tromey authored
      In a later patch we're going to change the minimal symbol address
      calculation to apply section offsets at the point of use.  To make it
      simpler to catch potential problem spots, this patch changes the
      representation of minimal symbols and introduces new
      minimal-symbol-specific variants of the various accessors.  This is
      necessary because it would be excessively ambitious to try to convert
      all the symbol types at once.
      
      The core of this change is just renaming a field in minimal_symbol;
      the rest is just a fairly mechanical rewording.
      
      2014-02-26  Tom Tromey  <tromey@redhat.com>
      
      	* symtab.h (struct minimal_symbol) <mginfo>: Rename from ginfo.
      	(MSYMBOL_VALUE, MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES)
      	(MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE)
      	(MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME)
      	(MSYMBOL_LINKAGE_NAME, MSYMBOL_PRINT_NAME, MSYMBOL_DEMANGLED_NAME)
      	(MSYMBOL_SET_LANGUAGE, MSYMBOL_SEARCH_NAME)
      	(MSYMBOL_MATCHES_SEARCH_NAME, MSYMBOL_SET_NAMES): New macros.
      	* ada-lang.c (ada_main_name): Update.
      	(ada_lookup_simple_minsym): Update.
      	(ada_make_symbol_completion_list): Update.
      	(ada_add_standard_exceptions): Update.
      	* ada-tasks.c (read_atcb, ada_tasks_inferior_data_sniffer): Update.
      	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
      	* amd64-windows-tdep.c (amd64_skip_main_prologue): Update.
      	* arm-tdep.c (skip_prologue_function): Update.
      	(arm_skip_stack_protector, arm_skip_stub): Update.
      	* arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update.
      	(arm_wince_skip_main_prologue): Update.
      	* auxv.c (ld_so_xfer_auxv): Update.
      	* avr-tdep.c (avr_scan_prologue): Update.
      	* ax-gdb.c (gen_var_ref): Update.
      	* block.c (call_site_for_pc): Update.
      	* blockframe.c (get_pc_function_start): Update.
      	(find_pc_partial_function_gnu_ifunc): Update.
      	* breakpoint.c (create_overlay_event_breakpoint): Update.
      	(create_longjmp_master_breakpoint): Update.
      	(create_std_terminate_master_breakpoint): Update.
      	(create_exception_master_breakpoint): Update.
      	(resolve_sal_pc): Update.
      	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
      	* btrace.c (ftrace_print_function_name, ftrace_function_switched):
      	Update.
      	* c-valprint.c (c_val_print): Update.
      	* coff-pe-read.c (add_pe_forwarded_sym): Update.
      	* coffread.c (coff_symfile_read): Update.
      	* common/agent.c (agent_look_up_symbols): Update.
      	* dbxread.c (find_stab_function_addr): Update.
      	(end_psymtab): Update.
      	* dwarf2loc.c (call_site_to_target_addr): Update.
      	(func_verify_no_selftailcall): Update.
      	(tailcall_dump): Update.
      	(call_site_find_chain_1): Update.
      	(dwarf_expr_reg_to_entry_parameter): Update.
      	* elfread.c (elf_gnu_ifunc_record_cache): Update.
      	(elf_gnu_ifunc_resolve_by_got): Update.
      	* f-valprint.c (info_common_command): Update.
      	* findvar.c (read_var_value): Update.
      	* frame.c (get_prev_frame_1): Update.
      	(inside_main_func): Update.
      	* frv-tdep.c (frv_skip_main_prologue): Update.
      	(frv_frame_this_id): Update.
      	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
      	* gnu-v2-abi.c (gnuv2_value_rtti_type): Update.
      	* gnu-v3-abi.c (gnuv3_rtti_type): Update.
      	(gnuv3_skip_trampoline): Update.
      	* hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline): Update.
      	(hppa64_hpux_in_solib_call_trampoline): Update.
      	(hppa_hpux_skip_trampoline_code): Update.
      	(hppa64_hpux_search_dummy_call_sequence): Update.
      	(hppa_hpux_find_import_stub_for_addr): Update.
      	(hppa_hpux_find_dummy_bpaddr): Update.
      	* hppa-tdep.c (hppa_symbol_address)
      	(hppa_lookup_stub_minimal_symbol): Update.
      	* i386-tdep.c (i386_skip_main_prologue): Update.
      	(i386_pe_skip_trampoline_code): Update.
      	* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
      	* infcall.c (get_function_name): Update.
      	* infcmd.c (until_next_command): Update.
      	* jit.c (jit_breakpoint_re_set_internal): Update.
      	(jit_inferior_init): Update.
      	* linespec.c (minsym_found): Update.
      	(add_minsym): Update.
      	* linux-fork.c (info_checkpoints_command): Update.
      	* linux-nat.c (get_signo): Update.
      	* linux-thread-db.c (inferior_has_bug): Update.
      	* m32c-tdep.c (m32c_return_value): Update.
      	(m32c_m16c_address_to_pointer): Update.
      	(m32c_m16c_pointer_to_address): Update.
      	* m32r-tdep.c (m32r_frame_this_id): Update.
      	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
      	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
      	* maint.c (maintenance_translate_address): Update.
      	* minsyms.c (add_minsym_to_hash_table): Update.
      	(add_minsym_to_demangled_hash_table): Update.
      	(msymbol_objfile): Update.
      	(lookup_minimal_symbol): Update.
      	(iterate_over_minimal_symbols): Update.
      	(lookup_minimal_symbol_text): Update.
      	(lookup_minimal_symbol_by_pc_name): Update.
      	(lookup_minimal_symbol_solib_trampoline): Update.
      	(lookup_minimal_symbol_by_pc_section_1): Update.
      	(lookup_minimal_symbol_and_objfile): Update.
      	(prim_record_minimal_symbol_full): Update.
      	(compare_minimal_symbols): Update.
      	(compact_minimal_symbols): Update.
      	(build_minimal_symbol_hash_tables): Update.
      	(install_minimal_symbols): Update.
      	(terminate_minimal_symbol_table): Update.
      	(find_solib_trampoline_target): Update.
      	(minimal_symbol_upper_bound): Update.
      	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
      	* mips-tdep.c (mips_stub_frame_sniffer): Update.
      	(mips_skip_pic_trampoline_code): Update.
      	* msp430-tdep.c (msp430_skip_trampoline_code): Update.
      	* objc-lang.c (selectors_info): Update.
      	(classes_info): Update.
      	(find_methods): Update.
      	(find_imps): Update.
      	(find_objc_msgsend): Update.
      	* objfiles.c (objfile_relocate1): Update.
      	* objfiles.h (ALL_OBJFILE_MSYMBOLS): Update.
      	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
      	* p-valprint.c (pascal_val_print): Update.
      	* parse.c (write_exp_msymbol): Update.
      	* ppc-linux-tdep.c (powerpc_linux_in_dynsym_resolve_code)
      	(ppc_linux_spe_context_lookup, ppc_elfv2_skip_entrypoint): Update.
      	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
      	* printcmd.c (build_address_symbolic): Update.
      	(sym_info): Update.
      	(address_info): Update.
      	* proc-service.c (ps_pglobal_lookup): Update.
      	* psymtab.c (find_pc_sect_psymtab_closer): Update.
      	(find_pc_sect_psymtab): Update.
      	* python/py-framefilter.c (py_print_frame): Update.
      	* ravenscar-thread.c (get_running_thread_id): Update.
      	* record-btrace.c (btrace_call_history, btrace_get_bfun_name):
      	Update.
      	* remote.c (remote_check_symbols): Update.
      	* rs6000-tdep.c (rs6000_skip_main_prologue): Update.
      	(rs6000_skip_trampoline_code): Update.
      	* sh64-tdep.c (sh64_elf_make_msymbol_special): Update.
      	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
      	* solib-dsbt.c (lm_base): Update.
      	* solib-frv.c (lm_base): Update.
      	(main_got): Update.
      	* solib-irix.c (locate_base): Update.
      	* solib-som.c (som_solib_create_inferior_hook): Update.
      	(som_solib_desire_dynamic_linker_symbols): Update.
      	(link_map_start): Update.
      	* solib-spu.c (spu_enable_break): Update.
      	(ocl_enable_break): Update.
      	* solib-svr4.c (elf_locate_base): Update.
      	(enable_break): Update.
      	* spu-tdep.c (spu_get_overlay_table): Update.
      	(spu_catch_start): Update.
      	(flush_ea_cache): Update.
      	* stabsread.c (define_symbol): Update.
      	(scan_file_globals): Update.
      	* stack.c (find_frame_funname): Update.
      	(frame_info): Update.
      	* symfile.c (simple_read_overlay_table): Update.
      	(simple_overlay_update): Update.
      	* symmisc.c (dump_msymbols): Update.
      	* symtab.c (fixup_section): Update.
      	(find_pc_sect_line): Update.
      	(skip_prologue_sal): Update.
      	(search_symbols): Update.
      	(print_msymbol_info): Update.
      	(rbreak_command): Update.
      	(MCOMPLETION_LIST_ADD_SYMBOL): New macro.
      	(completion_list_objc_symbol): Update.
      	(default_make_symbol_completion_list_break_on): Update.
      	* tracepoint.c (scope_info): Update.
      	* tui/tui-disasm.c (tui_find_disassembly_address): Update.
      	(tui_get_begin_asm_address): Update.
      	* valops.c (find_function_in_inferior): Update.
      	* value.c (value_static_field): Update.
      	(value_fn_field): Update.
      efd66ac6
  26. 13 Jan, 2014 1 commit
    • Tom Tromey's avatar
      replace XZALLOC with XCNEW · 41bf6aca
      Tom Tromey authored
      This replaces XZALLOC with XCNEW and removes XZALLOC.
      This change is purely mechanical.
      
      2014-01-13  Tom Tromey  <tromey@redhat.com>
      
      	* defs.h (XZALLOC): Remove.
      	* ada-lang.c (get_ada_inferior_data): Use XCNEW, not XZALLOC.
      	* ada-tasks.c (get_ada_tasks_pspace_data): Likewise.
      	(get_ada_tasks_inferior_data): Likewise.
      	* auto-load.c (get_auto_load_pspace_data): Likewise.
      	* auxv.c (get_auxv_inferior_data): Likewise.
      	* bfd-target.c (target_bfd_reopen): Likewise.
      	* breakpoint.c (get_catch_syscall_inferior_data): Likewise.
      	(deprecated_insert_raw_breakpoint): Likewise.
      	* bsd-uthread.c (bsd_uthread_pid_to_str): Likewise.
      	* corelow.c (core_open): Likewise.
      	* darwin-nat.c (darwin_check_new_threads): Likewise.
      	(darwin_attach_pid): Likewise.
      	* dummy-frame.c (dummy_frame_push): Likewise.
      	* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
      	* dwarf2loc.c (allocate_piece_closure): Likewise.
      	* elfread.c (elf_symfile_segments): Likewise.
      	* eval.c (ptrmath_type_p): Likewise.
      	* exceptions.c (EXCEPTIONS_SIGJMP_BUF): Likewise.
      	* gdbtypes.c (alloc_type_arch): Likewise.
      	(alloc_type_instance): Likewise.
      	* hppa-tdep.c (hppa_gdbarch_init): Likewise.
      	* inf-child.c (inf_child_can_use_agent): Likewise.
      	* inflow.c (get_inflow_inferior_data): Likewise.
      	* infrun.c (save_infcall_suspend_state): Likewise.
      	* jit.c (jit_reader_load): Likewise.
      	(get_jit_objfile_data): Likewise.
      	(get_jit_program_space_data): Likewise.
      	(jit_object_open_impl): Likewise.
      	(jit_symtab_open_impl): Likewise.
      	(jit_block_open_impl): Likewise.
      	(jit_frame_sniffer): Likewise.
      	* linux-fork.c (add_fork): Likewise.
      	* maint.c (make_command_stats_cleanup): Likewise.
      	* objfiles.c (get_objfile_pspace_data): Likewise.
      	* opencl-lang.c (struct lval_closure): Likewise.
      	* osdata.c (osdata_start_osdata): Likewise.
      	* progspace.c (new_address_space): Likewise.
      	(add_program_space): Likewise.
      	* remote-sim.c (get_sim_inferior_data): Likewise.
      	* sh-tdep.c (sh_gdbarch_init): Likewise.
      	* skip.c (Ignore): Likewise.
      	(skip_delete_command): Likewise.
      	* solib-aix.c (get_solib_aix_inferior_data): Likewise.
      	(library_list_start_library): Likewise.
      	(solib_aix_current_sos): Likewise.
      	* solib-darwin.c (get_darwin_info): Likewise.
      	(darwin_current_sos): Likewise.
      	* solib-dsbt.c (get_dsbt_info): Likewise.
      	* solib-ia64-hpux.c (new_so_list): Likewise.
      	(ia64_hpux_get_solib_linkage_addr): Likewise.
      	* solib-spu.c (append_ocl_sos): Likewise.
      	(spu_current_sos): Likewise.
      	* solib-svr4.c (get_svr4_info): Likewise.
      	(svr4_keep_data_in_core): Likewise.
      	(library_list_start_library): Likewise.
      	(svr4_default_sos): Likewise.
      	(svr4_read_so_list): Likewise.
      	* solib-target.c (library_list_start_library): Likewise.
      	(solib_target_current_sos): Likewise.
      	* sparc-tdep.c (sparc32_gdbarch_init): Likewise.
      	* symfile-debug.c (install_symfile_debug_logging): Likewise.
      	* symfile.c (default_symfile_segments): Likewise.
      	* target-descriptions.c (tdesc_data_init): Likewise.
      	(tdesc_create_reg): Likewise.
      	(struct tdesc_type *): Likewise.
      	(tdesc_create_vector): Likewise.
      	(tdesc_set_struct_size): Likewise.
      	(struct tdesc_type *): Likewise.
      	(tdesc_free_feature): Likewise.
      	(tdesc_create_feature): Likewise.
      	* windows-nat.c (windows_add_thread): Likewise.
      	(windows_make_so): Likewise.
      	* xml-support.c (gdb_xml_body_text): Likewise.
      	(gdb_xml_create_parser_and_cleanup): Likewise.
      	(xml_process_xincludes): Likewise.
      	* xml-syscall.c (allocate_syscalls_info): Likewise.
      	(syscall_create_syscall_desc): Likewise.
      41bf6aca
  27. 01 Jan, 2014 1 commit
  28. 18 Nov, 2013 1 commit
    • Tom Tromey's avatar
      remove gdb_string.h · 0e9f083f
      Tom Tromey authored
      This removes gdb_string.h.  This patch is purely mechanical.  I
      created it by running the two commands:
      
          git rm common/gdb_string.h
          perl -pi -e's/"gdb_string.h"/<string.h>/;'  *.[chyl] */*.[chyl]
      
      2013-11-18  Tom Tromey  <tromey@redhat.com>
      
      	* common/gdb_string.h: Remove.
      	* aarch64-tdep.c: Use string.h, not gdb_string.h.
      	* ada-exp.y: Use string.h, not gdb_string.h.
      	* ada-lang.c: Use string.h, not gdb_string.h.
      	* ada-lex.l: Use string.h, not gdb_string.h.
      	* ada-typeprint.c: Use string.h, not gdb_string.h.
      	* ada-valprint.c: Use string.h, not gdb_string.h.
      	* aix-thread.c: Use string.h, not gdb_string.h.
      	* alpha-linux-tdep.c: Use string.h, not gdb_string.h.
      	* alpha-mdebug-tdep.c: Use string.h, not gdb_string.h.
      	* alpha-nat.c: Use string.h, not gdb_string.h.
      	* alpha-osf1-tdep.c: Use string.h, not gdb_string.h.
      	* alpha-tdep.c: Use string.h, not gdb_string.h.
      	* alphanbsd-tdep.c: Use string.h, not gdb_string.h.
      	* amd64-dicos-tdep.c: Use string.h, not gdb_string.h.
      	* amd64-linux-nat.c: Use string.h, not gdb_string.h.
      	* amd64-linux-tdep.c: Use string.h, not gdb_string.h.
      	* amd64-nat.c: Use string.h, not gdb_string.h.
      	* amd64-sol2-tdep.c: Use string.h, not gdb_string.h.
      	* amd64fbsd-tdep.c: Use string.h, not gdb_string.h.
      	* amd64obsd-tdep.c: Use string.h, not gdb_string.h.
      	* arch-utils.c: Use string.h, not gdb_string.h.
      	* arm-linux-nat.c: Use string.h, not gdb_string.h.
      	* arm-linux-tdep.c: Use string.h, not gdb_string.h.
      	* arm-tdep.c: Use string.h, not gdb_string.h.
      	* arm-wince-tdep.c: Use string.h, not gdb_string.h.
      	* armbsd-tdep.c: Use string.h, not gdb_string.h.
      	* armnbsd-nat.c: Use string.h, not gdb_string.h.
      	* armnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* armobsd-tdep.c: Use string.h, not gdb_string.h.
      	* avr-tdep.c: Use string.h, not gdb_string.h.
      	* ax-gdb.c: Use string.h, not gdb_string.h.
      	* ax-general.c: Use string.h, not gdb_string.h.
      	* bcache.c: Use string.h, not gdb_string.h.
      	* bfin-tdep.c: Use string.h, not gdb_string.h.
      	* breakpoint.c: Use string.h, not gdb_string.h.
      	* build-id.c: Use string.h, not gdb_string.h.
      	* buildsym.c: Use string.h, not gdb_string.h.
      	* c-exp.y: Use string.h, not gdb_string.h.
      	* c-lang.c: Use string.h, not gdb_string.h.
      	* c-typeprint.c: Use string.h, not gdb_string.h.
      	* c-valprint.c: Use string.h, not gdb_string.h.
      	* charset.c: Use string.h, not gdb_string.h.
      	* cli-out.c: Use string.h, not gdb_string.h.
      	* cli/cli-cmds.c: Use string.h, not gdb_string.h.
      	* cli/cli-decode.c: Use string.h, not gdb_string.h.
      	* cli/cli-dump.c: Use string.h, not gdb_string.h.
      	* cli/cli-interp.c: Use string.h, not gdb_string.h.
      	* cli/cli-logging.c: Use string.h, not gdb_string.h.
      	* cli/cli-script.c: Use string.h, not gdb_string.h.
      	* cli/cli-setshow.c: Use string.h, not gdb_string.h.
      	* cli/cli-utils.c: Use string.h, not gdb_string.h.
      	* coffread.c: Use string.h, not gdb_string.h.
      	* common/common-utils.c: Use string.h, not gdb_string.h.
      	* common/filestuff.c: Use string.h, not gdb_string.h.
      	* common/linux-procfs.c: Use string.h, not gdb_string.h.
      	* common/linux-ptrace.c: Use string.h, not gdb_string.h.
      	* common/signals.c: Use string.h, not gdb_string.h.
      	* common/vec.h: Use string.h, not gdb_string.h.
      	* core-regset.c: Use string.h, not gdb_string.h.
      	* corefile.c: Use string.h, not gdb_string.h.
      	* corelow.c: Use string.h, not gdb_string.h.
      	* cp-abi.c: Use string.h, not gdb_string.h.
      	* cp-support.c: Use string.h, not gdb_string.h.
      	* cp-valprint.c: Use string.h, not gdb_string.h.
      	* cris-tdep.c: Use string.h, not gdb_string.h.
      	* d-lang.c: Use string.h, not gdb_string.h.
      	* dbxread.c: Use string.h, not gdb_string.h.
      	* dcache.c: Use string.h, not gdb_string.h.
      	* demangle.c: Use string.h, not gdb_string.h.
      	* dicos-tdep.c: Use string.h, not gdb_string.h.
      	* disasm.c: Use string.h, not gdb_string.h.
      	* doublest.c: Use string.h, not gdb_string.h.
      	* dsrec.c: Use string.h, not gdb_string.h.
      	* dummy-frame.c: Use string.h, not gdb_string.h.
      	* dwarf2-frame.c: Use string.h, not gdb_string.h.
      	* dwarf2loc.c: Use string.h, not gdb_string.h.
      	* dwarf2read.c: Use string.h, not gdb_string.h.
      	* elfread.c: Use string.h, not gdb_string.h.
      	* environ.c: Use string.h, not gdb_string.h.
      	* eval.c: Use string.h, not gdb_string.h.
      	* event-loop.c: Use string.h, not gdb_string.h.
      	* exceptions.c: Use string.h, not gdb_string.h.
      	* exec.c: Use string.h, not gdb_string.h.
      	* expprint.c: Use string.h, not gdb_string.h.
      	* f-exp.y: Use string.h, not gdb_string.h.
      	* f-lang.c: Use string.h, not gdb_string.h.
      	* f-typeprint.c: Use string.h, not gdb_string.h.
      	* f-valprint.c: Use string.h, not gdb_string.h.
      	* fbsd-nat.c: Use string.h, not gdb_string.h.
      	* findcmd.c: Use string.h, not gdb_string.h.
      	* findvar.c: Use string.h, not gdb_string.h.
      	* fork-child.c: Use string.h, not gdb_string.h.
      	* frame.c: Use string.h, not gdb_string.h.
      	* frv-linux-tdep.c: Use string.h, not gdb_string.h.
      	* frv-tdep.c: Use string.h, not gdb_string.h.
      	* gdb.c: Use string.h, not gdb_string.h.
      	* gdb_bfd.c: Use string.h, not gdb_string.h.
      	* gdbarch.c: Use string.h, not gdb_string.h.
      	* gdbtypes.c: Use string.h, not gdb_string.h.
      	* gnu-nat.c: Use string.h, not gdb_string.h.
      	* gnu-v2-abi.c: Use string.h, not gdb_string.h.
      	* gnu-v3-abi.c: Use string.h, not gdb_string.h.
      	* go-exp.y: Use string.h, not gdb_string.h.
      	* go-lang.c: Use string.h, not gdb_string.h.
      	* go32-nat.c: Use string.h, not gdb_string.h.
      	* hppa-hpux-tdep.c: Use string.h, not gdb_string.h.
      	* hppa-linux-nat.c: Use string.h, not gdb_string.h.
      	* hppanbsd-tdep.c: Use string.h, not gdb_string.h.
      	* hppaobsd-tdep.c: Use string.h, not gdb_string.h.
      	* i386-cygwin-tdep.c: Use string.h, not gdb_string.h.
      	* i386-dicos-tdep.c: Use string.h, not gdb_string.h.
      	* i386-linux-nat.c: Use string.h, not gdb_string.h.
      	* i386-linux-tdep.c: Use string.h, not gdb_string.h.
      	* i386-nto-tdep.c: Use string.h, not gdb_string.h.
      	* i386-sol2-tdep.c: Use string.h, not gdb_string.h.
      	* i386-tdep.c: Use string.h, not gdb_string.h.
      	* i386bsd-tdep.c: Use string.h, not gdb_string.h.
      	* i386gnu-nat.c: Use string.h, not gdb_string.h.
      	* i386nbsd-tdep.c: Use string.h, not gdb_string.h.
      	* i386obsd-tdep.c: Use string.h, not gdb_string.h.
      	* i387-tdep.c: Use string.h, not gdb_string.h.
      	* ia64-libunwind-tdep.c: Use string.h, not gdb_string.h.
      	* ia64-linux-nat.c: Use string.h, not gdb_string.h.
      	* inf-child.c: Use string.h, not gdb_string.h.
      	* inf-ptrace.c: Use string.h, not gdb_string.h.
      	* inf-ttrace.c: Use string.h, not gdb_string.h.
      	* infcall.c: Use string.h, not gdb_string.h.
      	* infcmd.c: Use string.h, not gdb_string.h.
      	* inflow.c: Use string.h, not gdb_string.h.
      	* infrun.c: Use string.h, not gdb_string.h.
      	* interps.c: Use string.h, not gdb_string.h.
      	* iq2000-tdep.c: Use string.h, not gdb_string.h.
      	* irix5-nat.c: Use string.h, not gdb_string.h.
      	* jv-exp.y: Use string.h, not gdb_string.h.
      	* jv-lang.c: Use string.h, not gdb_string.h.
      	* jv-typeprint.c: Use string.h, not gdb_string.h.
      	* jv-valprint.c: Use string.h, not gdb_string.h.
      	* language.c: Use string.h, not gdb_string.h.
      	* linux-fork.c: Use string.h, not gdb_string.h.
      	* linux-nat.c: Use string.h, not gdb_string.h.
      	* lm32-tdep.c: Use string.h, not gdb_string.h.
      	* m2-exp.y: Use string.h, not gdb_string.h.
      	* m2-typeprint.c: Use string.h, not gdb_string.h.
      	* m32c-tdep.c: Use string.h, not gdb_string.h.
      	* m32r-linux-nat.c: Use string.h, not gdb_string.h.
      	* m32r-linux-tdep.c: Use string.h, not gdb_string.h.
      	* m32r-rom.c: Use string.h, not gdb_string.h.
      	* m32r-tdep.c: Use string.h, not gdb_string.h.
      	* m68hc11-tdep.c: Use string.h, not gdb_string.h.
      	* m68k-tdep.c: Use string.h, not gdb_string.h.
      	* m68kbsd-tdep.c: Use string.h, not gdb_string.h.
      	* m68klinux-nat.c: Use string.h, not gdb_string.h.
      	* m68klinux-tdep.c: Use string.h, not gdb_string.h.
      	* m88k-tdep.c: Use string.h, not gdb_string.h.
      	* macrocmd.c: Use string.h, not gdb_string.h.
      	* main.c: Use string.h, not gdb_string.h.
      	* mdebugread.c: Use string.h, not gdb_string.h.
      	* mem-break.c: Use string.h, not gdb_string.h.
      	* memattr.c: Use string.h, not gdb_string.h.
      	* memory-map.c: Use string.h, not gdb_string.h.
      	* mep-tdep.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-break.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-disas.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-env.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-stack.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-var.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmds.c: Use string.h, not gdb_string.h.
      	* mi/mi-console.c: Use string.h, not gdb_string.h.
      	* mi/mi-getopt.c: Use string.h, not gdb_string.h.
      	* mi/mi-interp.c: Use string.h, not gdb_string.h.
      	* mi/mi-main.c: Use string.h, not gdb_string.h.
      	* mi/mi-parse.c: Use string.h, not gdb_string.h.
      	* microblaze-rom.c: Use string.h, not gdb_string.h.
      	* microblaze-tdep.c: Use string.h, not gdb_string.h.
      	* mingw-hdep.c: Use string.h, not gdb_string.h.
      	* minidebug.c: Use string.h, not gdb_string.h.
      	* minsyms.c: Use string.h, not gdb_string.h.
      	* mips-irix-tdep.c: Use string.h, not gdb_string.h.
      	* mips-linux-tdep.c: Use string.h, not gdb_string.h.
      	* mips-tdep.c: Use string.h, not gdb_string.h.
      	* mips64obsd-tdep.c: Use string.h, not gdb_string.h.
      	* mipsnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* mipsread.c: Use string.h, not gdb_string.h.
      	* mn10300-linux-tdep.c: Use string.h, not gdb_string.h.
      	* mn10300-tdep.c: Use string.h, not gdb_string.h.
      	* monitor.c: Use string.h, not gdb_string.h.
      	* moxie-tdep.c: Use string.h, not gdb_string.h.
      	* mt-tdep.c: Use string.h, not gdb_string.h.
      	* nbsd-tdep.c: Use string.h, not gdb_string.h.
      	* nios2-linux-tdep.c: Use string.h, not gdb_string.h.
      	* nto-procfs.c: Use string.h, not gdb_string.h.
      	* nto-tdep.c: Use string.h, not gdb_string.h.
      	* objc-lang.c: Use string.h, not gdb_string.h.
      	* objfiles.c: Use string.h, not gdb_string.h.
      	* opencl-lang.c: Use string.h, not gdb_string.h.
      	* osabi.c: Use string.h, not gdb_string.h.
      	* osdata.c: Use string.h, not gdb_string.h.
      	* p-exp.y: Use string.h, not gdb_string.h.
      	* p-lang.c: Use string.h, not gdb_string.h.
      	* p-typeprint.c: Use string.h, not gdb_string.h.
      	* parse.c: Use string.h, not gdb_string.h.
      	* posix-hdep.c: Use string.h, not gdb_string.h.
      	* ppc-linux-nat.c: Use string.h, not gdb_string.h.
      	* ppc-sysv-tdep.c: Use string.h, not gdb_string.h.
      	* ppcfbsd-tdep.c: Use string.h, not gdb_string.h.
      	* ppcnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* ppcobsd-tdep.c: Use string.h, not gdb_string.h.
      	* printcmd.c: Use string.h, not gdb_string.h.
      	* procfs.c: Use string.h, not gdb_string.h.
      	* prologue-value.c: Use string.h, not gdb_string.h.
      	* python/py-auto-load.c: Use string.h, not gdb_string.h.
      	* python/py-gdb-readline.c: Use string.h, not gdb_string.h.
      	* ravenscar-thread.c: Use string.h, not gdb_string.h.
      	* regcache.c: Use string.h, not gdb_string.h.
      	* registry.c: Use string.h, not gdb_string.h.
      	* remote-fileio.c: Use string.h, not gdb_string.h.
      	* remote-m32r-sdi.c: Use string.h, not gdb_string.h.
      	* remote-mips.c: Use string.h, not gdb_string.h.
      	* remote-sim.c: Use string.h, not gdb_string.h.
      	* remote.c: Use string.h, not gdb_string.h.
      	* reverse.c: Use string.h, not gdb_string.h.
      	* rs6000-aix-tdep.c: Use string.h, not gdb_string.h.
      	* ser-base.c: Use string.h, not gdb_string.h.
      	* ser-go32.c: Use string.h, not gdb_string.h.
      	* ser-mingw.c: Use string.h, not gdb_string.h.
      	* ser-pipe.c: Use string.h, not gdb_string.h.
      	* ser-tcp.c: Use string.h, not gdb_string.h.
      	* ser-unix.c: Use string.h, not gdb_string.h.
      	* serial.c: Use string.h, not gdb_string.h.
      	* sh-tdep.c: Use string.h, not gdb_string.h.
      	* sh64-tdep.c: Use string.h, not gdb_string.h.
      	* shnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* skip.c: Use string.h, not gdb_string.h.
      	* sol-thread.c: Use string.h, not gdb_string.h.
      	* solib-dsbt.c: Use string.h, not gdb_string.h.
      	* solib-frv.c: Use string.h, not gdb_string.h.
      	* solib-osf.c: Use string.h, not gdb_string.h.
      	* solib-spu.c: Use string.h, not gdb_string.h.
      	* solib-target.c: Use string.h, not gdb_string.h.
      	* solib.c: Use string.h, not gdb_string.h.
      	* somread.c: Use string.h, not gdb_string.h.
      	* source.c: Use string.h, not gdb_string.h.
      	* sparc-nat.c: Use string.h, not gdb_string.h.
      	* sparc-sol2-tdep.c: Use string.h, not gdb_string.h.
      	* sparc-tdep.c: Use string.h, not gdb_string.h.
      	* sparc64-tdep.c: Use string.h, not gdb_string.h.
      	* sparc64fbsd-tdep.c: Use string.h, not gdb_string.h.
      	* sparc64nbsd-tdep.c: Use string.h, not gdb_string.h.
      	* sparcnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* spu-linux-nat.c: Use string.h, not gdb_string.h.
      	* spu-multiarch.c: Use string.h, not gdb_string.h.
      	* spu-tdep.c: Use string.h, not gdb_string.h.
      	* stabsread.c: Use string.h, not gdb_string.h.
      	* stack.c: Use string.h, not gdb_string.h.
      	* std-regs.c: Use string.h, not gdb_string.h.
      	* symfile.c: Use string.h, not gdb_string.h.
      	* symmisc.c: Use string.h, not gdb_string.h.
      	* symtab.c: Use string.h, not gdb_string.h.
      	* target.c: Use string.h, not gdb_string.h.
      	* thread.c: Use string.h, not gdb_string.h.
      	* tilegx-linux-nat.c: Use string.h, not gdb_string.h.
      	* tilegx-tdep.c: Use string.h, not gdb_string.h.
      	* top.c: Use string.h, not gdb_string.h.
      	* tracepoint.c: Use string.h, not gdb_string.h.
      	* tui/tui-command.c: Use string.h, not gdb_string.h.
      	* tui/tui-data.c: Use string.h, not gdb_string.h.
      	* tui/tui-disasm.c: Use string.h, not gdb_string.h.
      	* tui/tui-file.c: Use string.h, not gdb_string.h.
      	* tui/tui-layout.c: Use string.h, not gdb_string.h.
      	* tui/tui-out.c: Use string.h, not gdb_string.h.
      	* tui/tui-regs.c: Use string.h, not gdb_string.h.
      	* tui/tui-source.c: Use string.h, not gdb_string.h.
      	* tui/tui-stack.c: Use string.h, not gdb_string.h.
      	* tui/tui-win.c: Use string.h, not gdb_string.h.
      	* tui/tui-windata.c: Use string.h, not gdb_string.h.
      	* tui/tui-winsource.c: Use string.h, not gdb_string.h.
      	* typeprint.c: Use string.h, not gdb_string.h.
      	* ui-file.c: Use string.h, not gdb_string.h.
      	* ui-out.c: Use string.h, not gdb_string.h.
      	* user-regs.c: Use string.h, not gdb_string.h.
      	* utils.c: Use string.h, not gdb_string.h.
      	* v850-tdep.c: Use string.h, not gdb_string.h.
      	* valarith.c: Use string.h, not gdb_string.h.
      	* valops.c: Use string.h, not gdb_string.h.
      	* valprint.c: Use string.h, not gdb_string.h.
      	* value.c: Use string.h, not gdb_string.h.
      	* varobj.c: Use string.h, not gdb_string.h.
      	* vax-tdep.c: Use string.h, not gdb_string.h.
      	* vaxnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* vaxobsd-tdep.c: Use string.h, not gdb_string.h.
      	* windows-nat.c: Use string.h, not gdb_string.h.
      	* xcoffread.c: Use string.h, not gdb_string.h.
      	* xml-support.c: Use string.h, not gdb_string.h.
      	* xstormy16-tdep.c: Use string.h, not gdb_string.h.
      	* xtensa-linux-nat.c: Use string.h, not gdb_string.h.
      0e9f083f
  29. 29 Oct, 2013 1 commit
    • Yao Qi's avatar
      Simplify REGISTRY cleanup usages · 487ad57c
      Yao Qi authored
      In registry.c:registry_clear_data, the registered data is iterated and
      invoke each 'free' function with the data passed:
      
        for (registration = data_registry->registrations, i = 0;
             i < fields->num_data;
             registration = registration->next, i++)
          if (fields->data[i] != NULL && registration->data->free != NULL)
            adaptor (registration->data->free, container, fields->data[i]);
      
      we can see that data is passed to function 'free' and data is not NULL.
      In each usage, we don't have to get the data again through key and
      do NULL pointer checking.  This patch is to simplify them.
      
      gdb:
      
      2013-10-29  Yao Qi  <yao@codesourcery.com>
      
      	* auto-load.c (auto_load_pspace_data_cleanup): Get data from
      	parameter 'arg' instead of from program_space_data.
      	* objfiles.c (objfiles_pspace_data_cleanup): Likewise.
      	* solib-darwin.c (darwin_pspace_data_cleanup): Likewise.
      	* solib-dsbt.c (dsbt_pspace_data_cleanup): Likewise.
      	* solib-svr4.c (svr4_pspace_data_cleanup): Likewise.
      	* inflow.c (inflow_inferior_data_cleanup): Get data from
      	parameter 'arg' instead of inferior_data.
      	* registry.h: Add comments.
      487ad57c
  30. 24 Jun, 2013 1 commit
    • Maciej W. Rozycki's avatar
      * objfiles.h (pc_in_section): New prototype. · 3e5d3a5a
      Maciej W. Rozycki authored
      	(in_plt_section): Remove name argument, replace prototype with
      	static inline function.
      	* mips-tdep.h: Include "objfiles.h".
      	(in_mips_stubs_section): New function.
      	* hppa-tdep.h (gdbarch_tdep): Remove name argument of
      	in_solib_call_trampoline member.
      	(hppa_in_solib_call_trampoline): Remove name argument.
      	* objfiles.c (pc_in_section): New function.
      	(in_plt_section): Remove function.
      	* mips-linux-tdep.c: Include "objfiles.h".
      	(mips_linux_in_dynsym_stub): Call in_mips_stubs_section.  Remove
      	name argument.  Return 1 rather than the low 16-bit halfword of
      	any instruction examined.
      	(mips_linux_in_dynsym_resolve_code): Update
      	mips_linux_in_dynsym_stub call accordingly.
      	* mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section
      	rather than an equivalent hand-coded sequence.
      	* hppa-hpux-tdep.c (in_opd_section): Remove function.
      	(hppa32_hpux_in_solib_call_trampoline): Remove name argument.
      	(hppa64_hpux_in_solib_call_trampoline): Likewise.
      	(hppa64_hpux_find_global_pointer): Use pc_in_section rather than
      	in_opd_section.
      	* hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument
      	on call to tdep->in_solib_call_trampoline.
      	(hppa_in_solib_call_trampoline): Remove name argument, update
      	according to in_plt_section change.
      	(hppa_skip_trampoline_code): Update according to in_plt_section
      	change.
      	* aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise.
      	* arm-symbian-tdep.c (arm_symbian_skip_trampoline_code):
      	Likewise.
      	* arm-tdep.c (arm_stub_unwind_sniffer): Likewise.
      	* hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
      	* hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise.
      	* nios2-tdep.c (nios2_stub_frame_sniffer): Likewise.
      	* nto-tdep.c (nto_relocate_section_addresses): Likewise.
      	* s390-tdep.c (s390_stub_frame_sniffer): Likewise.
      	* sh-tdep.c (sh_stub_unwind_sniffer): Likewise.
      	* solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise.
      	* solib-frv.c (frv_in_dynsym_resolve_code): Likewise.
      	* solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise.
      	* solib-target.c (solib_target_in_dynsym_resolve_code): Likewise.
      	* sparc-tdep.c (sparc_analyze_prologue): Likewise.
      	* tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.
      3e5d3a5a
  31. 07 May, 2013 2 commits
    • Yao Qi's avatar
      gdb/ · 26a4dda9
      Yao Qi authored
      	* solib-dsbt.c (struct dsbt_info) <enable_break2_done>: Remove.
      	(get_dsbt_info, enable_break, dsbt_clear_solib): Update.
      26a4dda9
    • Yao Qi's avatar
      gdb/ · 3582629f
      Yao Qi authored
      	* solib-dsbt.c (enable_break): Declare.
      	(dsbt_current_sos): Remove call to enable_break2.
      	(enable_break2): Rename to enable_break.  Set solib breakpoint
      	on '_dl_debug_state'.
      	(enable_break): Remove.
      3582629f
  32. 06 May, 2013 1 commit
    • Joel Brobecker's avatar
      Reimplement shared library support on ppc-aix... · 4d1eb6b4
      Joel Brobecker authored
      ... using the target_so_ops framework.
      
      gdb/ChangeLog:
      
              * target.h (TARGET_OBJECT_AIX_LIBRARIES): New target_object enum.
              * features/library-list-aix.dtd: New file.
              * solib-aix.h, solib-aix.c: New file.
              * rs6000-aix-tdep.c: #include "solib.h" and "solib-aix.h".
              (rs6000_find_toc_address_hook): Delete.
              (rs6000_push_dummy_call): Rewrite code setting the TOC value.
              (rs6000_aix_init_osabi): Register solib_aix_so_ops.
              * rs6000-nat.c: Remove "xcoffsolib.h" include.  Include
              "xml-utils.h".
              (map_vmap, vmap_exec, vmap_ldinfo, add_vmap, objfile_symbol_add)
              (vmap_symtab, fixup_breakpoints): Delete.
              (rs6000_xfer_shared_libraries): New function.
              (rs6000_xfer_partial): Add TARGET_OBJECT_AIX_LIBRARIES handling.
              (vmap_secs, bss_data_overlap, vmap_add_symbols): Delete.
              (xcoff_relocate_symtab, xcoff_relocate_core): Delete.
              (rs6000_ptrace_ldinfo, rs6000_core_ldinfo)
              (rs6000_xfer_shared_library): New function.
              (find_toc_address): Delete.
              (_initialize_rs6000_nat): Do not set rs6000_find_toc_address_hook.
              * rs6000-tdep.h (rs6000_find_toc_address_hook): Remove.
              * xcoffread.c (record_minimal_symbol): Reloate symbol address
              before creating minimal symbol.  Adjust function description
              accordingly.
              (scan_xcoff_symtab): Replace call to
              prim_record_minimal_symbol_and_info by call to
              record_minimal_symbol.
              (xcoff_symfile_offsets): Reimplement mostly as a wrapper
              around default_symfile_offsets.
              * configure.tgt: Add solib-aix.o to gdb_target_obs for
              powerpc-aix targets.
              * config/rs6000/nm-rs6000.h: Delete.
              * config/powerpc/aix.mh (NAT_FILE): Delete.
              (NATDEPFILES): Remove xcoffsolib.o.
              * Makefile.in (XMLFILES): Add library-list-aix.dtd.
              (ALL_TARGET_OBS): Add solib-aix.o.
              (HFILES_NO_SRCDIR): Remove xcoffsolib.h and
              config/rs6000/nm-rs6000.h.  Add solib-aix.h.
              (ALLDEPFILES): Add solib-aix.c.  Remove xcoffsolib.c.
              * xcoffsolib.h, xcoffsolib.c: Delete.
      
              * solib.c (reload_shared_libraries): Remove reference to
              SOLIB_CREATE_INFERIOR_HOOK.
              * breakpoint.c (handle_solib_event): Remove reference to SOLIB_ADD.
              (disable_breakpoints_in_shlibs): Remove reference to PC_SOLIB.
              (momentary_bkpt_re_set): Replace SOLIB_ADD by solib_add in
              comment.
              * corelow.c (deprecated_core_resize_section_table): Delete.
              * exec.c: Remove include of xcoffsolib.h".
              (map_vmap, vmap): Delete.
              (exec_close_1): Remove references to vmap.
              (exec_file_attach): Remove vmap handling code, and reference
              to DEPRECATED_IBM6000_TARGET.
              (bfdsec_to_vmap): Delete.
              (exec_files_info): Remove block of code handling VMAP.
              * infcmd.c (post_create_inferior): Remove reference to
              SOLIB_CREATE_INFERIOR_HOOK and SOLIB_ADD.
              * infrun.c (follow_exec): Remove reference to
              SOLIB_CREATE_INFERIOR_HOOK.
              * stack.c (print_frame): Remove reference to PC_SOLIB.
              * solib-dsbt.c (dsbt_current_sos): Adjust comment.
              (dsbt_relocate_main_executable): Likewise.
              * solib-frv.c (frv_current_sos): Likewise.
      
      gdb/doc/ChangeLog:
      
              * gdbint.texinfo (Algorithms): Remove entries documenting
              DEPRECATED_IBM6000_TARGET, SOLIB_ADD, and
              SOLIB_CREATE_INFERIOR_HOOK.
      4d1eb6b4
  33. 28 Apr, 2013 1 commit
    • Yao Qi's avatar
      gdb/ · 7ee4732a
      Yao Qi authored
      	* solib-dsbt.c (fetch_loadmap): Re-indent.
      	(displacement_from_map, enable_break2): Likewise.
      	(dsbt_relocate_section_addresses): Likewise.
      7ee4732a
  34. 19 Apr, 2013 1 commit
    • Pedro Alves's avatar
      -Wpointer-sign: gdb_byte -> char. · 001f13d8
      Pedro Alves authored
      This is sort of the opposite of the previous patch.  Places that
      manipulate strings or interfaces that return strings are changed to
      use char* instead of gdb_byte*.
      
      gdb/
      2013-04-19  Pedro Alves  <palves@redhat.com>
      
      	* avr-tdep.c (avr_io_reg_read_command): New local 'bufstr'.  Use
      	it to get a string view of the byte buffer.
      	* i386-cygwin-tdep.c (core_process_module_section): Change local 'buf'
      	type to gdb_byte *.  Adjust.
      	* linux-tdep.c (linux_info_proc, linux_find_memory_regions_full):
      	Change local to char *.
      	* solib-darwin.c (find_program_interpreter): Change return type to
      	char *.  Adjust.
      	(darwin_solib_get_all_image_info_addr_at_init): Adjust.
      	* solib-dsbt.c (enable_break2): Change local 'buf' to char *.
      	* solib-frv.c (enable_break2): Change local 'buf' to char *.
      	* solib-spu.c (spu_current_sos): Add gdb_byte * cast.
      	* solib-svr4.c (find_program_interpreter): Change return type to
      	char *.  Adjust.
      	(enable_break): Change local 'interp_name' to char *.
      	* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
      	* spu-tdep.c (spu_pseudo_register_read_spu): Add cast to 'char *'.
      	(spu_pseudo_register_write_spu): Use char for string buffer.
      	Adjust.
      	(info_spu_event_command, info_spu_signal_command): Add casts to
      	'char *'.
      001f13d8