+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * c-lang.h (c_compute_program): Now returns std::string.
+ * compile/compile-internal.h (class compile_file_names): New
+ class.
+ * compile/compile-object-load.c (compile_object_load): Replace
+ object_file and source_file parameters with a compile_file_names
+ parameter. Adjust.
+ * compile-object-load.h: Include "compile-internal.h".
+ (compile_object_load): Replace object_file and source_file
+ parameters with a compile_file_names parameter.
+ * compile/compile-c-support.c (c_compute_program): Now returns a
+ std::string. Use ui_file_as_string.
+ * compile/compile.c (get_new_file_names): Remove parameters and
+ return a compile_file_names instead.
+ (compile_to_object): Now returns a compile_file_names. Use
+ ui_file_as_string.
+ (eval_compile_command): Use compile_file_names.
+ * language.h (struct language_defn) <la_compute_program>: Now
+ returns std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-setshow.c (do_show_command): Adjust to use
+ ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * remote.c (escape_buffer): Use ui_file_as_string and return
+ std::string.
+ (putpkt_binary, read_frame): Adjust to use std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * python/py-arch.c (archpy_disassemble): Use ui_file_as_string and
+ std::string.
+ * python/py-breakpoint.c (bppy_get_commands): Use
+ ui_file_as_string and std::string.
+ * python/py-frame.c (frapy_str): Likewise.
+ * python/py-type.c (typy_str): Likewise.
+ * python/py-unwind.c (unwind_infopy_str): Likewise.
+ * python/py-value.c (valpy_str): Likewise.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * printcmd.c (eval_command): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * top.c (quit_confirm): Use ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * gdbcmd.h (execute_command_to_string): Now returns std::string.
+ (lookup_struct_elt_type): Adjust to use std::string.
+ * top.c (execute_command_to_string): Use ui_file_as_string and
+ return std::string.
+ * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
+ std::string.
+ * python/python.c (execute_gdb_command): Adjust to use
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
+ ui_file_as_string and adjust to use std::string.
+ * guile/scm-disasm.c (gdbscm_arch_disassemble): Likewise.
+ * guile/scm-frame.c (frscm_print_frame_smob): Likewise.
+ * guile/scm-type.c (tyscm_type_name): Use ui_file_as_string and
+ adjust to use std::string. Throw exception directly instead of
+ returning it in EXCP output parameter.
+ (tyscm_print_type_smob, gdbscm_type_print_name): Adjust to
+ tyscm_type_name interface change.
+ * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
+ Use ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * arm-tdep.c (_initialize_arm_tdep): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * utils.c (error_stream): Use ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ui-out.c (ui_out_field_stream): Use ui_file_as_string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ada-valprint.c (ada_print_floating): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * xtensa-tdep.c (xtensa_verify_config): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (dwarf2_compute_name): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * mi/mi-main.c (print_variable_or_computed): Constify 'expression'
+ parameter.
+ (mi_cmd_trace_frame_collected): Call encode_actions instead of
+ encode_actions_and_make_cleanup. Adjust to use std::vector.
+ * tracepoint.c (memrange_cmp): Delete.
+ (memrange_comp): New.
+ (memrange_sortmerge): Take a memrange vector as parameter instead
+ of a collection_list. Use std::sort instead of qsort.
+ (add_register): Now a method of collection_list. Adjust to m_
+ prefix of data fields.
+ (add_memrange): Now a method of collection_list. Adjust to m_
+ prefix of data fields. Adjust to use std::vector.
+ (collect_symbol): Now a method of collection_list. Adjust to m_
+ prefix of data fields.
+ (do_collect_symbol): Adjust. Call add_wholly_collected instead of
+ accessing the vector directly.
+ (collection_list::add_wholly_collected): New.
+ (add_local_symbols): Now a method of collection_list.
+ (add_static_trace_data): Now a method of collection_list. Adjust
+ to use bool.
+ (clear_collection_list, do_clear_collection_list): Delete.
+ (init_collection_list): Delete.
+ (collection_list::collection_list): New.
+ (collection_list::~collection_list): New.
+ (stringify_collection_list): Rename to ...
+ (collection_list::stringify): ... this and adjust to being a
+ method of collection_list. Adjust to use of std::vector.
+ (append_exp): Now a method of collection_list. Use
+ ui_file_as_string. Adjust to std::vector.
+ (collection_list::finish): New.
+ (encode_actions_1): Adjust.
+ (encode_actions_and_make_cleanup): Rename to ...
+ (encode_actions)... this. No longer returns a cleanup. No longer
+ call init_collection_list nor install do_clear_collection_list
+ cleanups. Call collection_list::finish instead of
+ memrange_sortmerge directly.
+ (encode_actions_rsp): Adjust to call encode_actions instead of
+ encode_actions_and_make_cleanup. Adjust to method renames.
+ (add_aexpr): Now a method of collection_list.
+ * tracepoint.h: Include <vector> and <string>.
+ (struct memrange): Add constructors.
+ (struct collection_list): Now a class.
+ (class collection_list) <collection_list, ~collection_list,
+ add_wholly_collected, append_exp, add_aexpr, add_register,
+ add_memrange, collect_symbol, add_local_symbols,
+ add_static_trace_data, finish, stringify, wholly_collected, and
+ computed>: New methods.
+ <regs_mask>: Rename to ...
+ <m_regs_mask>: ... this.
+ <listsize, next_memrange, list>: Delete fields.
+ <m_memranges>: New field.
+ <aexpr_listsize, next_aexpr_elt, aexpr_list>: Delete fields.
+ <m_aexprs>: New field.
+ <strace_data>: Rename to ...
+ <m_strace_data>: ... this. Now a bool.
+ <wholly_collected>: Rename to ...
+ <m_wholly_collected>: ... this. Now a std::vector<std::string>.
+ <computed>: Rename to ...
+ <m_computed>: ... this. Now a std::vector<std::string>.
+ (encode_actions_and_make_cleanup): Delete declaration.
+ (encode_actions): New declaration.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ui-file.c (do_ui_file_as_string, ui_file_as_string): New
+ functions.
+ * ui-file.h: Include <string>.
+ (ui_file_as_string): New declaration.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_read_renaming_var_value): Use expression_up.
+ (struct ada_catchpoint_location) <excep_cond_expr>: Now an
+ expression_up.
+ (ada_catchpoint_location_dtor): Reset excep_cond_expr instead of
+ using xfree.
+ (create_excep_cond_exprs): Use expression_up and gdb::move.
+ (allocate_location_exception): Use new instead of XNEW.
+ (should_stop_exception): Likewise. Adjust to use expression_up.
+ (create_ada_exception_catchpoint): Use new instead of XNEW.
+ * ax-gdb.c (agent_eval_command_one): Use expression_up instead of
+ cleanups.
+ (maint_agent_printf_command): Use expression_up.
+ * break-catch-sig.c (create_signal_catchpoint): Use new instead of
+ XNEW.
+ * break-catch-syscall.c (create_syscall_event_catchpoint):
+ Likewise.
+ * break-catch-throw.c (handle_gnu_v3_exceptions): Use new instead
+ of XCNEW. Use gdb::unique_ptr instead of cleanups.
+ * breakpoint.c (set_breakpoint_condition, update_watchpoint)
+ (parse_cmd_to_aexpr, watchpoint_check)
+ (bpstat_check_breakpoint_conditions, watchpoint_locations_match):
+ Adjust to use expression_up.
+ (init_bp_location): Adjust.
+ (free_bp_location): Use delete instead of xfree.
+ (set_raw_breakpoint_without_location, set_raw_breakpoint)
+ (add_solib_catchpoint, create_fork_vfork_event_catchpoint)
+ (new_single_step_breakpoint, create_breakpoint_sal): Use new
+ instead of XNEW.
+ (find_condition_and_thread): Adjust to use expression_up.
+ (create_breakpoint): Use new instead of XNEW.
+ (dtor_watchpoint): Don't xfree expression pointers, they're
+ unique_ptr's now.
+ (insert_watchpoint, remove_watchpoint): Adjust.
+ (watch_command_1): Use expression_up. Use new instead of XCNEW.
+ (catch_exec_command_1): Use new instead of XNEW.
+ (bp_location_dtor): Don't xfree expression pointers, they're
+ unique_ptr's now.
+ (base_breakpoint_allocate_location)
+ (strace_marker_create_breakpoints_sal): Use new instead of XNEW.
+ (delete_breakpoint): Use delete instead of xfree.
+ * breakpoint.h (struct bp_location) <cond>: Now an
+ unique_ptr<expression> instead of a raw pointer.
+ (struct watchpoint) <exp, cond_exp>: Likewise.
+ * cli/cli-script.c (execute_control_command): Use expression_up
+ instead of cleanups.
+ * dtrace-probe.c (dtrace_process_dof_probe): Use expression_up.
+ * eval.c (parse_and_eval_address, parse_and_eval_long)
+ (parse_and_eval, parse_to_comma_and_eval, parse_and_eval_type):
+ Use expression_up instead of cleanups.
+ * expression.h (expression_up): New typedef.
+ (parse_expression, parse_expression_with_language, parse_exp_1):
+ Change return type to expression_up.
+ * mi/mi-main.c (mi_cmd_data_evaluate_expression)
+ (print_variable_or_computed): Use expression_up.
+ * objc-lang.c (print_object_command): Use expression_up instead of
+ cleanups.
+ * parse.c (parse_exp_1, parse_exp_in_context)
+ (parse_exp_in_context_1, parse_expression)
+ (parse_expression_with_language): Return an expression_up instead
+ of a raw pointer.
+ (parse_expression_for_completion): Use expression_up.
+ * printcmd.c (struct display) <exp>: Now an expression_up instead
+ of a raw pointer.
+ (print_command_1, output_command_const, set_command, x_command):
+ Use expression_up instead of cleanups.
+ (display_command): Likewise. Use new instead of XNEW.
+ (free_display): Use delete instead of xfree.
+ (do_one_display): Adjust to use expression_up.
+ * remote.c (remote_download_tracepoint): Likewise.
+ * stack.c (return_command): Likewise.
+ * tracepoint.c (validate_actionline, encode_actions_1): Use
+ expression_up instead of cleanups.
+ * typeprint.c (whatis_exp, maintenance_print_type): Likewise.
+ * value.c (init_if_undefined_command): Likewise.
+ * varobj.c (struct varobj_root) <exp>: Now an expression_up
+ instead of a raw pointer.
+ (varobj_create): Adjust.
+ (varobj_set_value): Use an expression_up instead of cleanups.
+ (new_root_variable): Use new instead of XNEW.
+ (free_variable): Use delete instead of xfree.
+ (value_of_root_1): Use std::swap.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-script.c (execute_control_command): Use std::string
+ instead of cleanups.
+ (locate_arg): Constify return type.
+ (insert_args): Constify paremeter. Simplify using std::string.
+ Return a std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (struct commands_info) <arg>: Constify.
+ (commands_command_1): Constify 'arg' parameter. Use std::string
+ and string_printf.
+ (commands_from_control_command): Constify 'arg' parameter.
+ (map_breakpoint_numbers): Constify 'args' parameter.
+ * breakpoint.h (commands_from_control_command): Constify 'arg'
+ parameter.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-script.c (execute_control_command): Assume insert_args
+ never returns NULL.
+ (insert_args): Assume xmalloc never returns NULL.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (COMMON_OBS): Add utils-selftests.o.
+ * common/common-utils.c (string_printf): New function.
+ * common/common-utils.h: Include <string>.
+ (string_printf): Declare.
+ * utils-selftests.c: New file.
+
+2016-11-08 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-tdep.c (aarch64_software_single_step): Return
+ VEC (CORE_ADDR) *. Return NULL instead of 0. Don't call
+ insert_single_step_breakpoint.
+ * alpha-tdep.c (alpha_deal_with_atomic_sequence): Likewise.
+ (alpha_software_single_step): Likewise.
+ * alpha-tdep.h (alpha_software_single_step): Update declaration.
+ * arm-linux-tdep.c (arm_linux_software_single_step): Return
+ VEC (CORE_ADDR) *. Return NULL instead of 0.
+ * arm-tdep.c (arm_software_single_step): Return NULL instead of 0.
+ * arm-tdep.h (arm_software_single_step): Update declaration.
+ * breakpoint.c (insert_single_step_breakpoints): New function.
+ * breakpoint.h (insert_single_step_breakpoints): Declare.
+ * cris-tdep.c (cris_software_single_step): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ * gdbarch.sh (software_single_step): Change it to return
+ VEC (CORE_ADDR) *.
+ * gdbarch.c, gdbarch.h: Regenerated.
+ * infrun.c (maybe_software_singlestep): Adjust.
+ * mips-tdep.c (mips_deal_with_atomic_sequence): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ (micromips_deal_with_atomic_sequence): Likewise.
+ (deal_with_atomic_sequence): Likewise.
+ (mips_software_single_step): Likewise.
+ * mips-tdep.h (mips_software_single_step): Update declaration.
+ * moxie-tdep.c (moxie_software_single_step): Likewise.
+ * nios2-tdep.c (nios2_software_single_step): Likewise.
+ * ppc-tdep.h (ppc_deal_with_atomic_sequence): Update
+ declaration.
+ * record-full.c (record_full_resume): Adjust.
+ (record_full_wait_1): Likewise.
+ * rs6000-aix-tdep.c (rs6000_software_single_step): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ * s390-linux-tdep.c (s390_software_single_step): Likewise.
+ * sparc-tdep.c (sparc_software_single_step): Likewise.
+ * spu-tdep.c (spu_software_single_step): Likewise.
+ * tic6x-tdep.c (tic6x_software_single_step): Likewise.
+
+2016-11-08 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-tdep.c (arm_linux_software_single_step): Write
+ adjusted address back to vector. Call insert_single_step_breakpoint
+ in a new loop.
+ * arm-tdep.c (arm_software_single_step): Likewise.
+
+2016-11-08 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-tdep.c (arm_linux_software_single_step): Don't
+ call arm_insert_single_step_breakpoint, call
+ insert_single_step_breakpoint instead.
+ * arm-tdep.c (arm_insert_single_step_breakpoint): Remove.
+ (arm_software_single_step): Don't call
+ arm_insert_single_step_breakpoint, call
+ insert_single_step_breakpoint instead.
+ * arm-tdep.h (arm_insert_single_step_breakpoint): Remove
+ declaration.
+
+2016-11-08 Cordian A. Daniluk <th3c0r1uk@gmail.com>
+
+ PR breakpoints/20739
+ * breakpoint.c (check_fast_tracepoint_sals): Don't print duplicate
+ 0x prefix.
+
+2016-11-08 Yao Qi <yao.qi@linaro.org>
+
+ * rust-lang.c (val_print_struct): Fix indentation.
+
+2016-11-08 Lionel Flandrin <lionel@svkt.org>
+
+ * remote.c (process_g_packet): Detect truncated registers in 'g'
+ packets and raise an error.
+
+2016-11-07 Doug Evans <dje@google.com>
+
+ * guile/scm-value.c (gdbscm_value_field): Fix call to value_struct_elt.
+ * python/py-value.c (valpy_getitem): Ditto.
+
+2016-11-07 Doug Evans <dje@google.com>
+
+ * i386-tdep.c (i386_gdbarch_init): Add comments.
+
+2016-11-07 Doug Evans <dje@google.com>
+
+ * python/py-unwind.c (unwind_infopy_str): Fix use of VEC_iterate.
+
+2016-11-07 Doug Evans <dje@google.com>
+
+ * configure.tgt (x86_64-*-elf*): Remove i386bsd-tdep.o.
+
+2016-11-04 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * maint.c (scoped_command_stats::scoped_command_stats): Fix typo.
+ * ppcnbsd-tdep.c (_initialize_ppcnbsd_tdep): Likewise.
+ * ppcobsd-tdep.c (_initialize_ppcobsd_tdep): Likewise.
+ * ui-out.c (ui_out_new): Likewise.
+ * utils.c (init_page_info): Likewise.
+ (reset_prompt_for_continue_wait_time): Likewise.
+ * windows-nat.c (windows_init_thread_list): Likewise.
+ * xtensa-tdep.c (call0_analyze_prologue): Likewise.
+
+2016-10-29 Manish Goregaokar <manish@mozilla.com>
+
+ * rust-exp.y: Parse `sizeof(exp)` as `UNOP_SIZEOF`
+
+2016-10-28 Manish Goregaokar <manish@mozilla.com>
+
+ * rust-lang.c (rust_union_is_untagged): Add function to
+ check if a union is an untagged unioni
+ (rust_val_print): Handle printing of untagged union values
+ (rust_print_type): Handle printing of untagged union types
+ (rust_evaluate_subexp): Handle evaluating field
+ access on untagged unions
+
+2016-10-27 Manish Goregaokar <manish@mozilla.com>
+
+ * rust-lang.c (rust_get_disr_info): Treat univariant enums
+ without discriminants as encoded enums with a real field
+ * rust-lang.c (rust_evaluate_subexp): Handle field access
+ on encoded struct-like enums
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * Makefile.in (.y.c): Replace YY_NULL with YY_NULLPTR.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+ Pedro Alves <palves@redhat.com>
+
+ * aarch64-tdep.c (aarch64_default_breakpoint): Change it to
+ constexpr. Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (aarch64_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * alpha-tdep.c (break_insn): Rename to alpha_break_insn.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (alpha_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * arc-tdep.c (arc_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): Remove.
+ (struct bp_manipulation): New.
+ (SET_GDBARCH_BREAKPOINT_MANIPULATION): Remove.
+ (struct bp_manipulation_endian): New.
+ (BP_MANIPULATION): New.
+ (BP_MANIPULATION_ENDIAN): New.
+ * arm-tdep.c (arm_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * avr-tdep.c (avr_break_insn): Change it constexpr.
+ (avr_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * bfin-tdep.c (bfin_gdbarch_init): Likewise.
+ * cris-tdep.c (cris_gdbarch_init): Likewise.
+ * frv-tdep.c (breakpoint): Rename it to frv_break_insn, and
+ change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (frv_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * ft32-tdep.c (breakpoint): Rename it to ft32_break_insn and
+ change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (ft32_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * h8300-tdep.c (breakpoint): Rename it to h8300_break_insn.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (h8300_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * hppa-tdep.c (breakpoint): Rename it to h8300_break_insn.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (hppa_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * i386-tdep.c (break_insn): Rename it to i386_break_insn.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (i386_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * iq2000-tdep.c (iq2000_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * lm32-tdep.c (breakpoint): Rename it to lm32_break_insn and
+ change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (lm32_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * m32c-tdep.c (break_insn): Rename it to m32c_break_insn and change
+ its type to constexpr. Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (m32c_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * m32r-tdep.c (m32r_gdbarch_init): Likewise.
+ * m68hc11-tdep.c (breakpoint): Rename it to m68hc11_break_insn and
+ change its type to constexpr.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (m68hc11_gdbarch_init): Don't use SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * m68k-tdep.c (break_insn): Rename it to m68k_break_insn and change
+ its type to constexpr. Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (m68k_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * m88k-tdep.c (break_insn): Rename it to m88k_break_insn and change
+ its type to constexpr. Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (m88k_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * mep-tdep.c (breakpoint): Rename it to mep_break_insn and change
+ its type to constexpr. Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (mep_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * microblaze-tdep.c (break_insn): Rename it to
+ microblaze_break_insn and change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (microblaze_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * mips-tdep.c (mips_gdbarch_init): Likewise.
+ * mn10300-tdep.c (breakpoint): Rename it to mn10300_break_insn and
+ change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (mn10300_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * moxie-tdep.c (breakpoint): Rename it to moxie_break_insn and
+ change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (moxie_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * msp430-tdep.c (breakpoint): Rename it to msp430_break_insn
+ and change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (msp430_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * mt-tdep.c (mt_gdbarch_init): Likewise.
+ * nds32-tdep.c (break_insn): Rename it to nds32_break_insn
+ and change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (nds32_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * nios2-tdep.c (nios2_gdbarch_init): Likewise.
+ * rl78-tdep.c (breakpoint): Rename it to rl78_break_ins
+ and change its type to rl78_break_insn. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (rl78_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * rs6000-tdep.c (big_breakpoint): Change its type to
+ constexpr.
+ (little_breakpoint): Likewise.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN.
+ (rs6000_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * rx-tdep.c (breakpoint): Rename it to rx_break_insn and
+ change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (rx_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * s390-linux-tdep.c (breakpoint): Rename it to s390_break_insn
+ and change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION
+ (s390_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * score-tdep.c (score_gdbarch_init): Likewise.
+ * sh-tdep.c (sh_gdbarch_init): Likewise.
+ * sh64-tdep.c (sh64_gdbarch_init): Likewise.
+ * sparc-tdep.c (break_insn): Rename it to sparc_break_insn
+ and change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (sparc32_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * spu-tdep.c (breakpoint): Rename it to spu_break_insn and change
+ its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (spu_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * tic6x-tdep.c (tic6x_gdbarch_init): Likewise.
+ * tilegx-tdep.c (breakpoint): Rename it to tilegx_break_insn
+ and change its type to constexpr. Don't use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (tilegx_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * v850-tdep.c (v850_gdbarch_init): Likewise.
+ * vax-tdep.c (break_insn): Rename it to vax_break_insn and
+ change its type to constexpr.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (vax_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * xstormy16-tdep.c (breakpoint): Rename it to
+ xstormy16_break_insn and change its type to constexpr.
+ Don't use GDBARCH_BREAKPOINT_MANIPULATION.
+ (xstormy16_gdbarch_init): Don't use
+ SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * arm-tdep.c (arm_override_mode): Remove.
+ (arm_pc_is_thumb): Update.
+ (arm_insert_single_step_breakpoint): Update.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * arch-utils.c (default_breakpoint_kind_from_current_state):
+ New function.
+ * arch-utils.h (default_breakpoint_kind_from_current_state):
+ Declare.
+ * arm-tdep.c (arm_breakpoint_kind_from_current_state): New
+ function.
+ (arm_gdbarch_init): Call
+ set_gdbarch_breakpoint_kind_from_current_state.
+ * breakpoint.c (breakpoint_kind): Call
+ gdbarch_breakpoint_kind_from_current_state for single step
+ breakpoint. Update comments.
+ * gdbarch.sh (breakpoint_kind_from_current_state): New.
+ * gdbarch.c, gdbarch.h: Regenerate.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * arch-utils.c (default_breakpoint_from_pc): New function.
+ * arch-utils.h (GDBARCH_BREAKPOINT_FROM_PC): Remove.
+ (GDBARCH_BREAKPOINT_MANIPULATION): Don't use
+ GDBARCH_BREAKPOINT_FROM_PC.
+ (SET_GDBARCH_BREAKPOINT_MANIPULATION): Don't call
+ set_gdbarch_breakpoint_from_pc.
+ (default_breakpoint_from_pc): Remove declaration.
+ * gdbarch.sh (breakpoint_from_pc): Add its default implementation.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * arm-tdep.c: Don't use GDBARCH_BREAKPOINT_FROM_PC.
+ * arc-tdep.c, bfin-tdep.c, cris-tdep.c, iq2000-tdep.c: Likewise.
+ * m32r-tdep.c, mips-tdep.c, mt-tdep.c: Likewise.
+ * nios2-tdep.c, score-tdep.c, sh-tdep.c: Likewise.
+ * sh64-tdep.c, tic6x-tdep.c, v850-tdep.c, xtensa-tdep.c: Likewise.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * arch-utils.c (default_remote_breakpoint_from_pc): Remove.
+ * arch-utils.h (default_remote_breakpoint_from_pc): Remove.
+ * arm-tdep.c (arm_remote_breakpoint_from_pc): Remove.
+ (arm_gdbarch_init): Don't call
+ set_gdbarch_remote_breakpoint_from_pc.
+ * gdbarch.sh (remote_breakpoint_from_pc): Remove.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * mips-tdep.c (mips_remote_breakpoint_from_pc): Remove.
+ (mips_gdbarch_init): Don't call
+ set_gdbarch_remote_breakpoint_from_pc.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * breakpoint.h (struct bp_target_info) <placed_size>: Remove.
+ <kind>: New field.
+ Update all users.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): Define
+ breakpoint_kind_from_pc and sw_breakpoint_from_kind.
+ (GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN): Likewise.
+ (SET_GDBARCH_BREAKPOINT_MANIPULATION): Call
+ set_gdbarch_breakpoint_kind_from_pc and
+ set_gdbarch_sw_breakpoint_from_kind.
+ * arm-tdep.c: Add comments.
+ * bfin-tdep.c: Likewise.
+ * breakpoint.c (breakpoint_kind): New function.
+ (insert_bp_location): Set target_info.placed_size and
+ target_info.placed_address.
+ (bkpt_insert_location): Likewise.
+ * cris-tdep.c: Add comments.
+ * gdbarch.sh (breakpoint_kind_from_pc): New.
+ (sw_breakpoint_from_kind): New.
+ * gdbarch.c, gdbarch.h: Regenerated.
+ * ia64-tdep.c (ia64_memory_insert_breakpoint): Don't set
+ bp_tgt->placed_size.
+ (ia64_memory_remove_breakpoint): Don't assert
+ bp_tgt->placed_size.
+ (ia64_breakpoint_kind_from_pc): New function.
+ (ia64_gdbarch_init): Install ia64_breakpoint_kind_from_pc.
+ * m32r-tdep.c (m32r_memory_insert_breakpoint): Don't set
+ bp_tgt->placed_size.
+ * mem-break.c (default_memory_insert_breakpoint): Don't set
+ bp_tgt->placed_size. Call gdbarch_sw_breakpoint_from_kind.
+ (default_memory_remove_breakpoint): Call
+ gdbarch_sw_breakpoint_from_kind.
+ (memory_validate_breakpoint): Don't check bp_tgt->placed_size.
+ * mips-tdep.c: Add comments.
+ * mt-tdep.c: Likewise.
+ * nios2-tdep.c: Likewise.
+ * record-full.c (record_full_insert_breakpoint): Don't call
+ gdbarch_breakpoint_from_pc. Don't set bp_tgt->placed_address
+ and bp_tgt->placed_size.
+ * remote.c (remote_insert_breakpoint): Don't call
+ gdbarch_remote_breakpoint_from_pc. Use bp_tgt->placed_size.
+ Don't set bp_tgt->placed_address and bp_tgt->placed_size.
+ (remote_insert_hw_breakpoint): Likewise.
+ * score-tdep.c: Likewise.
+ * sh-tdep.c: Likewise.
+ * tic6x-tdep.c: Likewise.
+ * v850-tdep.c: Likewise.
+ * xtensa-tdep.c: Likewise.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * arch-utils.h (GDBARCH_BREAKPOINT_FROM_PC): New macro.
+ (GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN): New macro.
+ * arm-tdep.c (arm_breakpoint_from_pc): Remove.
+ (arm_breakpoint_kind_from_pc): New function.
+ (arm_sw_breakpoint_from_kind): New function.
+ (arm_breakpoint_from_pc): Call arm_breakpoint_kind_from_pc
+ and arm_sw_breakpoint_from_kind.
+ Use GDBARCH_BREAKPOINT_FROM_PC.
+ (arm_remote_breakpoint_from_pc): Call
+ arm_breakpoint_kind_from_pc.
+ (arm_gdbarch_init): Replace set_gdbarch_breakpoint_from_pc
+ with SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * arc-tdep.c: Likewise.
+ * bfin-tdep.c: Likewise.
+ * cris-tdep.c: Likewise.
+ * iq2000-tdep.c: Likewise.
+ * m32r-tdep.c: Likewise.
+ * mips-tdep.c: Likewise.
+ * mt-tdep.c: Likewise.
+ * nios2-tdep.c: Likewise.
+ * rs6000-tdep.c: Likewise.
+ * score-tdep.c: Likewise.
+ * sh-tdep.c: Likewise.
+ * sh64-tdep.c: Likewise.
+ * tic6x-tdep.c: Likewise.
+ * v850-tdep.c: Likewise.
+ * xtensa-tdep.c: Likewise.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * mips-tdep.c (mips_breakpoint_kind): New enum.
+ (mips_breakpoint_from_pc): Use it.
+ (mips_remote_breakpoint_from_pc): Likewise.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): New macro.
+ (SET_GDBARCH_BREAKPOINT_MANIPULATION): New macro.
+ aarch64-tdep.c (aarch64_breakpoint_from_pc): Remove. Use
+ GDBARCH_BREAKPOINT_MANIPULATION.
+ (aarch64_gdbarch_init): Replace set_gdbarch_breakpoint_from_pc
+ with SET_GDBARCH_BREAKPOINT_MANIPULATION.
+ * alpha-tdep.c: Likewise.
+ * avr-tdep.c: Likewise.
+ * frv-tdep.c: Likewise.
+ * ft32-tdep.c: Likewise.
+ * h8300-tdep.c: Likewise.
+ * hppa-tdep.c: Likewise.
+ * i386-tdep.c: Likewise.
+ * lm32-tdep.c: Likewise.
+ * m32c-tdep.c: Likewise.
+ * m68hc11-tdep.c: Likewise.
+ * m68k-tdep.c: Likewise.
+ * m88k-tdep.c: Likewise.
+ * mep-tdep.c: Likewise.
+ * microblaze-tdep.c: Likewise.
+ * mn10300-tdep.c: Likewise.
+ * moxie-tdep.c: Likewise.
+ * msp430-tdep.c: Likewise.
+ * rl78-tdep.c: Likewise.
+ * rx-tdep.c: Likewise.
+ * s390-linux-tdep.c: Likewise.
+ * sparc-tdep.c: Likewise.
+ * spu-tdep.c: Likewise.
+ * tilegx-tdep.c: Likewise.
+ * vax-tdep.c: Likewise.
+ * xstormy16-tdep.c: Likewise.
+
+2016-11-03 Yao Qi <yao.qi@linaro.org>
+
+ * mem-break.c (default_memory_insert_breakpoint): Don't check
+ 'bp' against NULL.
+ * microblaze-linux-tdep.c (microblaze_linux_memory_remove_breakpoint):
+ Likewise.
+ * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise.
+
+2016-11-02 Tom Tromey <tom@tromey.com>
+
+ * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type): Rename
+ from impl_get_base_type. Rewrite.
+ (struct dwarf_expr_baton): Remove.
+ (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value): Save and
+ restore more fields.
+ (symbol_needs_eval_context::get_frame_pc): New method.
+ * dwarf2expr.h (dwarf_expr_context::get_base_type): Now public,
+ virtual.
+ (dwarf_expr_context::impl_get_base_type): Remove.
+ * dwarf2expr.c (dwarf_expr_context::get_base_type): Remove.
+
+2016-10-31 Maciej W. Rozycki <macro@imgtec.com>
+
+ * configure.ac <mips-sgi-irix5*>: Remove <sys/proc.h> _KMEMUSER
+ workaround.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2016-10-31 Maciej W. Rozycki <macro@imgtec.com>
+
+ * mips-tdep.c (mips_r3041_reg_names): Remove.
+ (mips_breakpoint_from_pc): Remove IDT and PMON breakpoint
+ encodings.
+
+2016-10-31 Maciej W. Rozycki <macro@imgtec.com>
+
+ * defs.h (gdb_osabi): Remove GDB_OSABI_IRIX enum value.
+ * osabi.c (gdb_osabi_names): Remove "Irix" entry.
+ * mips-tdep.c (mips_irix_reg_names): Remove.
+ (mips_register_type): Remove GDB_OSABI_IRIX code.
+ (mips_pseudo_register_type): Likewise.
+ (mips_breakpoint_from_pc): Likewise.
+ (mips_gdbarch_init): Likewise.
+
+2016-10-29 Pedro Alves <palves@redhat.com>
+
+ * NEWS: Clarify C++ requirement.
+
+2016-10-29 Pedro Alves <palves@redhat.com>
+
+ * NEWS: Adjust to mention C++11 requirement.
+
+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