]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/ChangeLog
Support command-line redirection in native MS-Windows debugging
[thirdparty/binutils-gdb.git] / gdb / ChangeLog
index e8a997acc33443b3f27abf3966a2ea824e0b9aa2..b59a749379870b90b0c9e3997d33171cee855398 100644 (file)
@@ -1,3 +1,516 @@
+2016-10-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * NEWS: Mention support for redirection on MS-Windows.
+
+       * windows-nat.c (redir_open, redir_set_redirection)
+       (redirect_inferior_handles) [!__CYGWIN__]: New functions.
+       (windows_create_inferior) [!__CYGWIN__]: Use
+       'redirect_inferior_handles' to redirect standard handles of the
+       debuggee if the command line requests that.
+
+2016-10-28  Pedro Alves  <palves@redhat.com>
+
+       * Makefile.in (CXX_DIALECT): Get from configure.
+       (COMPILE.pre, CC_LD): Append $(CXX_DIALECT).
+       (FLAGS_TO_PASS): Pass CXX_DIALECT.
+       * acinclude.m4: Include ax_cxx_compile_stdcxx.m4.
+       * ax_cxx_compile_stdcxx.m4: Add FSF copyright header.  Set and
+       AC_SUBST CXX_DIALECT instead of changing CXX/CXXCPP.
+       * configure.ac: Call AX_CXX_COMPILE_STDCXX.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2016-10-28  Pedro Alves  <palves@redhat.com>
+
+       * ax_cxx_compile_stdcxx.m4: New file.
+
+2016-10-28  Pedro Alves  <palves@redhat.com>
+
+       * maint.c (scoped_command_stats::scoped_command_stats): Clear
+       m_space_enabled, m_time_enabled and m_symtab_enabled.
+
+2016-10-28  Markus Metzger  <markus.t.metzger@intel.com>
+
+       * btrace.c (bfun_s): New typedef.
+       (ftrace_update_caller): Print caller in debug dump.
+       (ftrace_get_caller, ftrace_match_backtrace, ftrace_fixup_level)
+       (ftrace_compute_global_level_offset, ftrace_connect_bfun)
+       (ftrace_connect_backtrace, ftrace_bridge_gap, btrace_bridge_gaps): New.
+       (btrace_compute_ftrace_bts): Pass vector of gaps.  Collect gaps.
+       (btrace_compute_ftrace_pt): Likewise.
+       (btrace_compute_ftrace): Split into this, ...
+       (btrace_compute_ftrace_1): ... this, and ...
+       (btrace_finalize_ftrace): ... this.  Call btrace_bridge_gaps.
+
+2016-10-28  Markus Metzger  <markus.t.metzger@intel.com>
+
+       * btrace.c (ftrace_new_return): Start from the previous function's
+       level if we can't find a matching call for a return.
+
+2016-10-28  Markus Metzger  <markus.t.metzger@intel.com>
+
+       * btrace.c (ftrace_update_function): Update tail call heuristic.
+
+2016-10-28  Markus Metzger  <markus.t.metzger@intel.com>
+
+       * btrace.c (btrace_compute_ftrace_bts, ftrace_add_pt): Allow
+       leading gaps.
+       * record-btrace.c (record_btrace_single_step_forward)
+       (record_btrace_single_step_backward): Jump back to last
+       instruction if step ends at a gap.
+       (record_btrace_goto_begin): Skip gaps.
+
+2016-10-28  Markus Metzger  <markus.t.metzger@intel.com>
+
+       * btrace.c (ftrace_add_pt): Fix gap indication.  Add warning for non-
+       contiguous trace and overflow.  Rephrase trace decode warning and print
+       instruction number.  Remove dead gaps warning.
+       (btrace_compute_ftrace_bts): Rephrase warnings and print instruction
+       number.
+
+2016-10-25  Sandra Loosemore  <sandra@codesourcery.com>
+           Luis Machado  <lgustavo@codesourcery.com>
+           Pedro Alves  <palves@redhat.com>
+
+       PR gdb/20569
+       * exceptions.c (exception_print_same): Moved here from exec.c.
+       * exceptions.h (exception_print_same): Declare.
+       * exec.h: Include "symfile-add-flags.h".
+       (try_open_exec_file): New declaration.
+       * exec.c (exception_print_same): Moved to exceptions.c.
+       (try_open_exec_file): New function.
+       (exec_file_locate_attach): Rename exec_file and full_exec_path
+       variables to avoid confusion between target and host pathnames.
+       Move pathname processing logic to exec_file_find.  Do not return
+       early if pathname lookup fails; Call try_open_exec_file.
+       * infrun.c (follow_exec): Split and rename execd_pathname variable
+       to avoid confusion between target and host pathnames.  Warn if
+       pathname lookup fails.  Pass target pathname to
+       target_follow_exec, not hostpathname.  Call try_open_exec_file.
+       * main.c (symbol_file_add_main_adapter): New function.
+       (captured_main_1): Use it.
+       * solib-svr4.c (open_symbol_file_object): Adjust to pass
+       symfile_add_flags to symbol_file_add_main.
+       * solib.c (exec_file_find): Incorporate fallback logic for relative
+       pathnames formerly in exec_file_locate_attach.
+       * symfile.c (symbol_file_add_main, symbol_file_add_main_1):
+       Replace 'from_tty' parameter with a symfile_add_file.
+       (symbol_file_command): Adjust to pass symfile_add_flags to
+       symbol_file_add_main.
+       * symfile.h (symbol_file_add_main): Replace 'from_tty' parameter
+       with a symfile_add_file.
+
+2016-10-26  Pedro Alves  <palves@redhat.com>
+
+       * coffread.c (coff_symfile_read): Use symfile_add_flags.
+       * dbxread.c (dbx_symfile_read): Ditto.
+       * elfread.c (elf_symfile_read): Ditto.
+       * inferior.h: Include symfile-add-flags.h.
+       (struct inferior) <symfile_flags>: Now symfile_add_flags.
+       * machoread.c (macho_add_oso_symfile, macho_symfile_read_all_oso)
+       (macho_symfile_read, mipscoff_symfile_read): Use
+       symfile_add_flags.
+       * objfile-flags.h: New file.
+       * objfiles.c (allocate_objfile): Use objfile_flags.
+       * objfiles.h: Include objfile-flags.h.
+       (struct objfile) <flags>: Now an objfile_flags.
+       (OBJF_REORDERED, OBJF_SHARED, OBJF_READNOW, OBJF_USERLOADED)
+       (OBJF_PSYMTABS_READ, OBJF_MAINLINE, OBJF_NOT_FILENAME): Delete.
+       Converted to an enum-flags in objfile-flags.h.
+       (allocate_objfile): Use objfile_flags.
+       * python/py-objfile.c (objfpy_add_separate_debug_file): Remove
+       unnecessary local.
+       * solib.c (solib_read_symbols, solib_add)
+       (reload_shared_libraries_1): Use symfile_add_flags.
+       * solib.h: Include "symfile-add-flags.h".
+       (solib_read_symbols): Use symfile_add_flags.
+       * symfile-add-flags.h: New file.
+       * symfile-debug.c (debug_sym_read): Use symfile_add_flags.
+       * symfile-mem.c (symbol_file_add_from_memory): Use
+       symfile_add_flags.
+       * symfile.c (read_symbols, syms_from_objfile_1)
+       (syms_from_objfile, finish_new_objfile): Use symfile_add_flags.
+       (symbol_file_add_with_addrs): Use symfile_add_flags and
+       objfile_flags.
+       (symbol_file_add_separate): Use symfile_add_flags.
+       (symbol_file_add_from_bfd, symbol_file_add): Use symfile_add_flags
+       and objfile_flags.
+       (symbol_file_add_main_1): : Use objfile_flags.  Fix add_flags vs
+       flags confusion.
+       (symbol_file_command): Use objfile_flags.
+       (add_symbol_file_command): Use symfile_add_flags and
+       objfile_flags.
+       (clear_symtab_users): Use symfile_add_flags.
+       * symfile.h: Include "symfile-add-flags.h" and "objfile-flags.h".
+       (struct sym_fns) <sym_read>: Use symfile_add_flags.
+       (clear_symtab_users): Use symfile_add_flags.
+       (enum symfile_add_flags): Delete, moved to symfile-add-flags.h and
+       converted to enum-flags.
+       (symbol_file_add, symbol_file_add_from_bfd)
+       (symbol_file_add_separate): Use symfile_add_flags.
+       * xcoffread.c (xcoff_initial_scan): Use symfile_add_flags.
+
+2016-10-26  Pedro Alves  <palves@redhat.com>
+
+       * inferior.h (ALL_NON_EXITED_INFERIORS): New macro.
+       * infrun.c (do_target_resume): Call target_commit_resume.
+       (proceed): Defer target_commit_resume while looping over threads,
+       resuming them.  Call target_commit_resume at the end.
+       * record-btrace.c (record_btrace_commit_resume): New function.
+       (init_record_btrace_ops): Install it as to_commit_resume method.
+       * record-full.c (record_full_commit_resume): New function.
+       (record_full_wait_1): Call the beneath target's to_commit_resume
+       method.
+       (init_record_full_ops): Install record_full_commit_resume as
+       to_commit_resume method.
+       * remote.c (struct private_thread_info) <last_resume_step,
+       last_resume_sig, vcont_resumed>: New fields.
+       (remote_add_thread): Set the new thread's vcont_resumed flag.
+       (demand_private_info): Delete.
+       (get_private_info_thread, get_private_info_ptid): New functions.
+       (remote_update_thread_list): Adjust.
+       (process_initial_stop_replies): Clear the thread's vcont_resumed
+       flag.
+       (remote_resume): If connected in non-stop mode, record the resume
+       request and return early.
+       (struct private_inferior): New.
+       (struct vcont_builder): New.
+       (vcont_builder_restart, vcont_builder_flush)
+       (vcont_builder_push_action): New functions.
+       (MAX_ACTION_SIZE): New macro.
+       (remote_commit_resume): New function.
+       (thread_pending_fork_status, is_pending_fork_parent_thread): New
+       functions.
+       (check_pending_event_prevents_wildcard_vcont_callback)
+       (check_pending_events_prevent_wildcard_vcont): New functions.
+       (process_stop_reply): Adjust.  Clear the thread's vcont_resumed
+       flag.
+       (init_remote_ops): Install remote_commit_resume.
+       * target-delegates.c: Regenerate.
+       * target.c (defer_target_commit_resume): New global.
+       (target_commit_resume, make_cleanup_defer_target_commit_resume):
+       New functions.
+       * target.h (struct target_ops) <to_commit_resume>: New field.
+       (target_resume): Update comments.
+       (target_commit_resume): New declaration.
+
+2016-10-26  Pedro Alves  <palves@redhat.com>
+
+       * inferior.c (exit_inferior_1): Free 'priv'.
+
+2016-10-26  Pedro Alves  <palves@redhat.com>
+
+       * remote.c (remote_resume_with_hc): New function, factored out
+       from ...
+       (remote_resume): ... this.  Always try vCont first.
+       (remote_vcont_resume): Rename to ...
+       (remote_resume_with_vcont): ... this.  Bail out if execution
+       direction is reverse.
+
+2016-10-25  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2expr.h (struct dwarf_expr_context) <~dwarf_expr_context>:
+       Make virtual.
+
+2016-10-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR build/20712
+       * defs.h: Remove obsolete comment
+       (atof): Remove.
+       * procfs.c (do_destroy_procinfo_cleanup): Add cast.
+       (sysset_t_alloc): Likewise.
+       (proc_set_traced_sysentry): Likewise.
+       (proc_set_traced_sysexit): Likewise.
+       [!PIOCLSTATUS && NEW_PROC_API] (do_closedir_cleanup): Likewise.
+       (proc_get_LDT_entry): Initiate cleanups before returns.
+       (procfs_wait): Use GDB_SIGNAL_0.
+       (procfs_corefile_thread_callback): Add cast.
+       * sol-thread.c (td_log_ftype, td_ta_new_ftype, td_ta_delete_ftype)
+       (td_init_ftype, td_ta_get_ph_ftype, td_ta_get_nthreads_ftype)
+       (td_ta_tsd_iter_ftype, td_ta_thr_iter_ftype)
+       (td_thr_validate_ftype, td_thr_tsd_ftype, td_thr_get_info_ftype)
+       (td_thr_getfpregs_ftype, td_thr_getxregsize_ftype)
+       (td_thr_getxregs_ftype, td_thr_sigsetmask_ftype)
+       (td_thr_setprio_ftype, td_thr_setsigpending_ftype)
+       (td_thr_setfpregs_ftype, td_thr_setxregs_ftype)
+       (td_ta_map_id2thr_ftype, td_ta_map_lwp2thr_ftype)
+       (td_thr_getgregs_ftype, td_thr_setgregs_ftype): New typedefs.
+       (p_td_log, p_td_ta_new, p_td_ta_delete, p_td_init, p_td_ta_get_ph)
+       (p_td_ta_get_nthreads, p_td_ta_tsd_iter, p_td_ta_thr_iter)
+       (p_td_thr_validate, p_td_thr_tsd, p_td_thr_get_info)
+       (p_td_thr_getfpregs, p_td_thr_getxregsize, p_td_thr_getxregs)
+       (p_td_thr_sigsetmask, p_td_thr_setprio, p_td_thr_setsigpending)
+       (p_td_thr_setfpregs, p_td_thr_setxregs, p_td_ta_map_id2thr)
+       (p_td_ta_map_lwp2thr, p_td_thr_getgregs, p_td_thr_setgregs): Use them.
+       (ps_pdread): Add cast.
+       (ps_ptread): Likewise.
+       (resolve): Likewise.
+       * top.c (gdb_safe_append_history): Print pid_t as long.
+
+2016-10-25  Pedro Alves  <palves@redhat.com>
+
+       * common/common-defs.h (__STDC_FORMAT_MACROS): Define.
+
+2016-10-25  Pedro Alves  <palves@redhat.com>
+
+       * common/new-op.c: Add comment about -fsanitize=address.
+
+2016-10-25  Pedro Alves  <palves@redhat.com>
+
+       * common/common-defs.h (__STDC_CONSTANT_MACROS)
+       (__STDC_LIMIT_MACROS): Define.
+
+2016-10-25  Yao Qi  <yao.qi@linaro.org>
+
+       PR gdb/20716
+       * common/new-op.c (__has_feature): New macro.
+       Don't override operator new if asan is used.
+
+2016-10-24  Luis Machado  <lgustavo@codesourcery.com>
+
+       * exec.c (exec_file_locate_attach): Prevent NULL pointer dereference
+       when duplicating a string.
+
+2016-10-24  Luis Machado  <lgustavo@codesourcery.com>
+
+       * exec.c (exception_print_same): Fix string comparison to use
+       statically-allocated ones.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2expr.h (class dwarf_expr_context)
+       <get_frame_base, get_frame_cfa, get_tls_address, dwarf_call,
+       push_dwarf_block_entry_value, get_addr_index, get_object_address>:
+       Now pure virtual.
+       * dwarf2-frame.c (class dwarf_expr_executor)
+       <get_frame_base, get_frame_cfa, get_tls_address, dwarf_call,
+       push_dwarf_block_entry_value, get_addr_index, get_object_address>:
+       New methods.
+       <invalid>: New method.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * minsyms.h (minimal_symbol_reader::record_full): "copy_name" now
+       a bool.
+       (record, record_with_info): Update.
+       * minsyms.c (record): Fix indentation.
+       (record_full): Fix indentation.  Update for type change.
+       * elfread.c (record_minimal_symbol): "copy_name" now a bool.
+       (elf_symtab_read): "copy_names" now a bool.
+       (elf_rel_plt_read, elf_read_minimal_symbols): Update.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * main.c: Include <vector>.
+       (cmdarg_s): Remove typedef.  Don't define VEC.
+       (captured_main_1): Use vector, not VEC.  Remove cleanups.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2loc.c (struct dwarf_expr_context_funcs): Don't declare.
+       (dwarf_expr_read_addr_from_reg, dwarf_expr_get_reg_value)
+       (dwarf_expr_read_mem, dwarf_expr_frame_base): Rename; turn into
+       methods.
+       (get_frame_pc_for_per_cu_dwarf_call): New function.
+       (dwarf_expr_frame_cfa, dwarf_expr_frame_pc)
+       (dwarf_expr_tls_address): Rename; turn into methods.
+       (per_cu_dwarf_call): Remove arguments.  Use
+       get_frame_pc_for_per_cu_dwarf_call.
+       (dwarf_evaluate_loc_desc): New class.
+       (dwarf_expr_dwarf_call, dwarf_expr_context)
+       (dwarf_expr_push_dwarf_reg_entry_value)
+       (dwarf_expr_get_addr_index, dwarf_expr_get_obj_addr): Rename; turn
+       into methods.
+       (dwarf_expr_ctx_funcs): Remove.
+       (dwarf2_evaluate_loc_desc_full): Update.
+       (dwarf2_locexpr_baton_eval): Update.
+       (symbol_needs_eval_context): New class.
+       (symbol_needs_read_addr_from_reg, symbol_needs_get_reg_value)
+       (symbol_needs_read_mem, symbol_needs_frame_base)
+       (symbol_needs_frame_cfa, symbol_needs_tls_address)
+       (symbol_needs_dwarf_call, needs_dwarf_reg_entry_value): Rename;
+       turn into methods.
+       (needs_get_addr_index, needs_get_obj_addr): Remove; turn into
+       methods.
+       (symbol_needs_ctx_funcs): Remove.
+       (dwarf2_loc_desc_get_symbol_read_needs): Update.
+       * dwarf2expr.h (struct dwarf_expr_context_funcs): Remove; turn
+       contents into methods.
+       (struct dwarf_expr_context) <baton, funcs>: Remove.
+       <read_addr_from_reg, get_reg_value, read_mem, get_frame_base,
+       get_frame_cfa, get_frame_pc, get_tls_address, dwarf_call,
+       impl_get_base_type, push_dwarf_block_entry_value, get_addr_index,
+       get_object_address>: Declare new methods.
+       (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
+       (ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
+       (ctx_no_get_base_type, ctx_no_push_dwarf_reg_entry_value)
+       (ctx_no_get_addr_index): Don't declare.
+       * dwarf2expr.c (get_base_type): Use impl_get_base_type.
+       (execute_stack_op): Update.
+       (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
+       (ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
+       (ctx_no_get_base_type, ctx_no_push_dwarf_reg_entry_value)
+       (ctx_no_get_addr_index): Remove; now methods on
+       dwarf_expr_context.
+       * dwarf2-frame.c (read_addr_from_reg): Take a frame_info, not a
+       baton.
+       (class dwarf_expr_executor): New class.
+       (get_reg_value, read_mem): Rename, turn into methods.
+       (execute_stack_op): Use dwarf_expr_executor.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2loc.c (per_cu_dwarf_call)
+       (dwarf_expr_push_dwarf_reg_entry_value)
+       (dwarf2_evaluate_loc_desc_full, dwarf2_locexpr_baton_eval)
+       (needs_dwarf_reg_entry_value)
+       (dwarf2_loc_desc_get_symbol_read_needs): Update.
+       * dwarf2expr.h (dwarf_expr_context) <push_address, eval, fetch,
+       fetch_address, fetch_in_stack_memory, address_type, grow_stack,
+       push, stack_empty_p, add_piece, get_base_type, execute_stack_op,
+       pop>: New method declarations.
+       (dwarf_expr_push_address, dwarf_expr_eval, dwarf_expr_fetch)
+       (dwarf_expr_fetch_address, dwarf_expr_fetch_in_stack_memory):
+       Don't declare.
+       * dwarf2expr.c (address_type, grow_stack, push, push_address)
+       (pop, fetch, fetch_address, fetch_in_stack_memory)
+       (stack_empty_p, add_piece, eval, get_base_type)
+       (execute_stack_op): Rename.  Turn into methods.
+       * dwarf2-frame.c (execute_stack_op): Update.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Stack-allocate
+       dwarf_expr_context.  Remove cleanups.
+       (dwarf2_locexpr_baton_eval)
+       (dwarf2_loc_desc_get_symbol_read_needs):  Likewise.
+       * dwarf2expr.h (dwarf_expr_context, ~dwarf_expr_context): Add
+       constructors and destructors.
+       (new_dwarf_expr_context, free_dwarf_expr_context)
+       (make_cleanup_free_dwarf_expr_context): Don't declare.
+       * dwarf2-frame.c (execute_stack_op): Stack-allocate
+       dwarf_expr_context.  Remove cleanups.
+       (dwarf_expr_context): Rename from new_dwarf_expr_context.  Turn
+       into constructor.
+       (free_dwarf_expr_context, free_dwarf_expr_context_cleanup):
+       Remove.
+       (~dwarf_expr_context): Rename from
+       make_cleanup_free_dwarf_expr_context.  Turn into destructor.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2loc.c: Include <vector>.
+       (read_pieced_value, write_pieced_value)
+       (dwarf2_compile_expr_to_ax): Use std::vector.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * stack.c (print_stack_frame_to_uiout): Use scoped_restore.
+       * ui-out.c (make_cleanup_restore_current_uiout)
+       (restore_current_uiout_cleanup): Remove.
+       * infrun.c (print_stop_event): Use scoped_restore.
+       * ui-out.h (make_cleanup_restore_current_uiout): Don't declare.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * elfread.c (elf_read_minimal_symbols): Use gdb::unique_ptr.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * cli/cli-dump.c (dump_memory_to_file): Use gdb::unique_ptr.
+       (restore_binary_file): Likewise.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * maint.h (scoped_command_stats): New class.
+       (make_command_stats_cleanup): Don't declare.
+       * maint.c (struct cmd_stats): Remove.
+       (~scoped_command_stats): Rename from report_command_stats.  Now a
+       destructor.
+       (scoped_command_stats): Rename from make_command_stats_cleanup.
+       Now a constructor.
+       * main.c (captured_main_1): New function.  Use
+       scoped_command_stats.
+       (captured_main): Call captured_main_1.
+       * event-top.c (command_handler): Use scoped_command_stats.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * mi/mi-main.c (mi_cmd_data_read_memory): Use gdb::unique_ptr.
+       Remove some cleanups.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-interp.c (tui_on_normal_stop, tui_on_signal_received)
+       (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
+       (tui_on_no_history, tui_on_user_selected_context_changed):
+       Update.
+       * top.h (switch_thru_all_uis): New class.
+       (SWITCH_THRU_ALL_UIS): Rewrite.
+       (make_cleanup_restore_current_ui, switch_thru_all_uis_init)
+       (switch_thru_all_uis_cond, switch_thru_all_uis_next): Don't
+       declare.
+       * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
+       (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
+       (mi_inferior_exit, mi_inferior_removed, mi_on_signal_received)
+       (mi_on_end_stepping_range, mi_on_signal_exited, mi_on_exited)
+       (mi_on_no_history, mi_on_normal_stop, mi_traceframe_changed)
+       (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
+       (mi_breakpoint_created, mi_breakpoint_deleted)
+       (mi_breakpoint_modified, mi_output_running_pid, mi_on_resume)
+       (mi_solib_loaded, mi_solib_unloaded, mi_command_param_changed)
+       (mi_memory_changed, mi_user_selected_context_changed): Update.
+       * infrun.c (all_uis_check_sync_execution_done)
+       (all_uis_on_sync_execution_starting, normal_stop): Update.
+       * event-top.c (restore_ui_cleanup)
+       (make_cleanup_restore_current_ui, switch_thru_all_uis_init)
+       (switch_thru_all_uis_cond, switch_thru_all_uis_next): Remove.
+       * cli/cli-interp.c (cli_on_normal_stop, cli_on_signal_received)
+       (cli_on_end_stepping_range, cli_on_signal_exited, cli_on_exited)
+       (cli_on_no_history, cli_on_user_selected_context_changed):
+       Update.
+       * breakpoint.c (watchpoint_check): Update.
+
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (record_minimal_symbol, scan_xcoff_symtab): Add
+       "reader" argument.  Update.
+       (xcoff_initial_scan): Update.
+       * symfile.h (mdebug_build_psymtabs): Add "reader" argument.
+       * mipsread.c (mipscoff_symfile_read): Update.
+       (read_alphacoff_dynamic_symtab): Add "reader" argument.  Update.
+       * minsyms.h (minimal_symbol_reader) <record, record_full>:
+       Declare.
+       <m_msym_bunch, m_msym_bunch_index, m_msym_count>: New members.
+       <record_with_info>: New function, renamed from
+       prim_record_minimal_symbol_and_info.
+       * minsyms.c (msym_bunch, msym_bunch_index, msym_count): Remove
+       globals.
+       (minimal_symbol_reader): Initialize new members.
+       (minimal_symbol_reader::record): Renamed from
+       prim_record_minimal_symbol.
+       (minimal_symbol_reader::record_full): Renamed from
+       prim_record_minimal_symbol_full.
+       (prim_record_minimal_symbol_and_info): Move to minsyms.h; rename.
+       * mdebugread.c (mdebug_build_psymtabs, parse_partial_symbols)
+       (record_minimal_symbol): Add "reader" argument.  Update.
+       (elfmdebug_build_psymtabs): Update.
+       * machoread.c (macho_symtab_add_minsym, macho_symtab_read): Add
+       "reader" argument.  Update.
+       (macho_symfile_read): Update.
+       * elfread.c (record_minimal_symbol, elf_symtab_read)
+       (elf_rel_plt_read): Add "reader" argument.  Update.
+       (elf_read_minimal_symbols): Update.
+       * dbxread.c (record_minimal_symbol, read_dbx_dynamic_symtab)
+       (read_dbx_symtab): Add "reader" argument.  Update.
+       (dbx_symfile_read): Update.
+       * coffread.c (record_minimal_symbol, coff_symtab_read): Add
+       "reader" argument.  Update.
+       (coff_symfile_read): Update.
+       * coff-pe-read.h (read_pe_exported_syms): Add "reader" argument.
+       * coff-pe-read.c (add_pe_exported_sym, add_pe_forwarded_sym)
+       (read_pe_exported_syms): Add "reader" argument.  Update.
+
 2016-10-21  Tom Tromey  <tom@tromey.com>
 
        * xcoffread.c (xcoff_initial_scan): Update.