Convert generic probe interface to C++ (and perform some cleanups)
[external/binutils.git] / gdb / ChangeLog
index 25ece7f..2121e3e 100644 (file)
+2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       * break-catch-throw.c (fetch_probe_arguments): Use
+       'probe.prob' instead of 'probe.probe'.
+       * breakpoint.c (create_longjmp_master_breakpoint): Call
+       'can_evaluate_arguments' and 'get_relocated_address' methods
+       from probe.
+       (create_exception_master_breakpoint): Likewise.
+       (add_location_to_breakpoint): Use 'sal->prob' instead of
+       'sal->probe'.
+       (bkpt_probe_insert_location): Call 'set_semaphore' method from
+       probe.
+       (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
+       * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
+       of 'probe_ops'.
+       (probe_key_free): Call 'delete' on probe.
+       (check_exception_resume): Use 'probe.prob' instead of
+       'probe.probe'.
+       * location.c (string_to_event_location_basic): Call
+       'probe_linespec_to_static_ops'.
+       * probe.c (class any_static_probe_ops): New class.
+       (any_static_probe_ops any_static_probe_ops): New variable.
+       (parse_probes_in_pspace): Receive 'static_probe_ops' as
+       argument.  Adjust code to reflect change.
+       (parse_probes): Use 'static_probe_ops' instead of
+       'probe_ops'.  Adjust code to reflect change.
+       (find_probes_in_objfile): Call methods to get name and
+       provider from probe.
+       (find_probe_by_pc): Use 'result.prob' instead of
+       'result.probe'.  Call 'get_relocated_address' method from
+       probe.
+       (collect_probes): Adjust comment and argument list to receive
+       'static_probe_ops' instead of 'probe_ops'.  Adjust code to
+       reflect change.  Call necessary methods from probe.
+       (compare_probes): Call methods to get name and provider from
+       probes.
+       (gen_ui_out_table_header_info): Receive 'static_probe_ops'
+       instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
+       adjust code accordingly.
+       (print_ui_out_not_applicables): Likewise.
+       (info_probes_for_ops): Rename to...
+       (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
+       as argument instead of 'probe_ops'.  Adjust code.  Call
+       necessary methods from probe.
+       (info_probes_command): Use 'info_probes_for_spops'.
+       (enable_probes_command): Pass correct argument to
+       'collect_probes'.  Call methods from probe.
+       (disable_probes_command): Likewise.
+       (get_probe_address): Move to 'any_static_probe_ops::get_address'.
+       (get_probe_argument_count): Move to
+       'any_static_probe_ops::get_argument_count'.
+       (can_evaluate_probe_arguments): Move to
+       'any_static_probe_ops::can_evaluate_arguments'.
+       (evaluate_probe_argument): Move to
+       'any_static_probe_ops::evaluate_argument'.
+       (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
+       'probe.probe'.
+       (probe_linespec_to_ops): Rename to...
+       (probe_linespec_to_static_ops): ...this.  Adjust code.
+       (probe_any_is_linespec): Rename to...
+       (any_static_probe_ops::is_linespec): ...this.
+       (probe_any_get_probes): Rename to...
+       (any_static_probe_ops::get_probes): ...this.
+       (any_static_probe_ops::type_name): New method.
+       (any_static_probe_ops::gen_info_probes_table_header): New
+       method.
+       (compute_probe_arg): Use 'pc_probe.prob' instead of
+       'pc_probe.probe'.  Call methods from probe.
+       (compile_probe_arg): Likewise.
+       (std::vector<const probe_ops *> all_probe_ops): Delete.
+       (std::vector<const static_probe_ops *> all_static_probe_ops):
+       New variable.
+       (_initialize_probe): Use 'all_static_probe_ops' instead of
+       'all_probe_ops'.
+       * probe.h (struct info_probe_column) <field_name>: Delete
+       extraneous newline
+       (info_probe_column_s): Delete type and VEC.
+       (struct probe_ops): Delete.  Replace with...
+       (class static_probe_ops): ...this and...
+       (clas probe): ...this.
+       (struct bound_probe) <bound_probe>: Delete extraneous
+       newline.  Adjust constructor to receive 'probe' instead of
+       'struct probe'.
+       <probe>: Rename to...
+       <prob>: ...this.  Delete extraneous newline.
+       <objfile>: Delete extraneous newline.
+       (register_probe_ops): Delete unused prototype.
+       (info_probes_for_ops): Rename to...
+       (info_probes_for_spops): ...this.  Adjust comment.
+       (get_probe_address): Move to 'probe::get_address'.
+       (get_probe_argument_count): Move to
+       'probe::get_argument_count'.
+       (can_evaluate_probe_arguments): Move to
+       'probe::can_evaluate_arguments'.
+       (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
+       * solib-svr4.c (struct svr4_info): Adjust comment.
+       (struct probe_and_action) <probe>: Rename to...
+       <prob>: ...this.
+       (register_solib_event_probe): Receive 'probe' instead of
+       'struct probe' as argument.  Use 'prob' instead of 'probe'
+       when applicable.
+       (solib_event_probe_action): Call 'get_argument_count' method
+       from probe.  Adjust comment.
+       (svr4_handle_solib_event): Adjust comment.  Call
+       'evaluate_argument' method from probe.
+       (svr4_create_probe_breakpoints): Call 'get_relocated_address'
+       from probe.
+       (svr4_create_solib_event_breakpoints): Use 'probe' instead of
+       'struct probe'.  Call 'can_evaluate_arguments' from probe.
+       * symfile.h: Forward declare 'class probe' instead of 'struct
+       probe'.
+       * symtab.h: Likewise.
+       (struct symtab_and_line) <probe>: Rename to...
+       <prob>: ...this.
+       * tracepoint.c (start_tracing): Use 'prob' when applicable.
+       Call probe methods.
+       (stop_tracing): Likewise.
+
+2017-11-22  Joel Brobecker  <brobecker@adacore.com>
+
+       * ravenscar-thread.c (ravenscar_inferior_created): Remove
+       trailing newline at end of string in call to warning.
+
+2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * osdata.h: Include vector isntead of vec.h.
+       (osdata_column_s): Remove typedef.
+       (struct osdata_column): Add constructor.
+       <name, value>: Change type to std::string.
+       (DEF_VEC_O (osdata_column_s)): Remove.
+       (osdata_item_s): Remove typedef.
+       (struct osdata_item) <columns>: Change type to std::vector.
+       (DEF_VEC_O (osdata_item_s)): Remove.
+       (struct osdata): Add constructor.
+       <type>: Change type to std::string.
+       <items>: Change type to std::vector.
+       (osdata_p): Remove typedef.
+       (DEF_VEC_P (osdata_p)): Remove.
+       (osdata_parse): Return a unique_ptr.
+       (osdata_free): Remove.
+       (make_cleanup_osdata_free): Remove.
+       (get_osdata): Return a unique_ptr.
+       (get_osdata_column): Return pointer to std::string, take a
+       reference to osdata_item as parameter.
+       * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
+       unique_ptr.
+       <property_name>: Change type to std::string.
+       (osdata_start_osdata): Allocate osdata with new and adjust.
+       (osdata_start_item): Adjust.
+       (osdata_start_column): Adjust.
+       (osdata_end_column): Adjust.
+       (clear_parsing_data): Remove.
+       (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
+       (osdata_item_clear): Remove.
+       (get_osdata): return a unique_ptr and adjust.
+       (get_osdata_column): Return a pointer to std::string and adjust.
+       (info_osdata): Adjust.
+       * mi/mi-main.c: Include <map>.
+       (free_vector_of_osdata_items): Remove.
+       (list_available_thread_groups): Adjust, use std::map instead of
+       splay tree.
+
+2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
+       case in switch.
+
+2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * varobj.h (DEF_VEC_P (varobj_p)): Remove.
+
+2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * varobj.h (struct varobj_update_result): Add constructor, add
+       move constructor, disable copy and assign, initialize fields.
+       <newobj>: Change type to std::vector.
+       (varobj_update): Return std::vector.
+       * varobj.c (install_dynamic_child): Change VEC parameters to
+       std::vector and adjust.
+       (update_dynamic_varobj_children): Likewise.
+       (varobj_update): Return std::vector and adjust.
+       * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
+
+2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * varobj.h (struct varobj) <parent>: Remove const.
+       <children>: Change type to std::vector.
+       (varobj_list_children): Return std::vector const reference.
+       (varobj_restrict_range): Change parameter type to std::vector
+       const reference.
+       * varobj.c (varobj_has_more): Adjust.
+       (varobj_restrict_range): Change parameter type to std::vector
+       const reference and adjust.
+       (install_dynamic_child): Adjust.
+       (update_dynamic_varobj_children): Adjust.
+       (varobj_list_children): Return std::vector const reference and
+       adjust.
+       (varobj_add_child): Adjust.
+       (update_type_if_necessary): Adjust.
+       (varobj_update): Adjust.
+       (delete_variable_1): Adjust.
+       * ada-varobj.c (ada_value_has_mutated): Adjust.
+       * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
+
+2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * varobj.h (struct varobj): Add constructor and destructor,
+       initialize fields.
+       * varobj.c (struct varobj_root): Initialize fields.
+       (struct varobj_dynamic): Initialize fields.
+       (varobj_create): Use unique_ptr instead of cleanup.  Create
+       varobj with new instead of new_root_variable.
+       (delete_variable_1): Free variable with delete instead of
+       free_variable.
+       (create_child_with_value): Create variable with new instead of
+       new_variable.
+       (varobj::varobj): New.
+       (varobj::~varobj): New (body mostly coming from free_variable).
+       (new_variable): Remove.
+       (free_variable): Remove.
+       (do_free_variable_cleanup): Remove.
+       (make_cleanup_free_variable): Remove.
+
+2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * core-regset.c: Remove file.
+       * Makefile.in (ALLDEPFILES): Remove core-regset.c.
+
+2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * NEWS: Document use of GNU MPFR.
+       * README: Likewise.
+
+       * Makefile.in (LIBMPFR): Add define.
+       (CLIBS): Add $(LIBMPFR).
+       * configure.ac: Add --with-mpfr configure option.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+       * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
+       (class mpfr_float_ops): New type.
+       (mpfr_float_ops::from_target): Two new overloaded functions.
+       (mpfr_float_ops::to_target): Likewise.
+       (mpfr_float_ops::to_string): New function.
+       (mpfr_float_ops::from_string): Likewise.
+       (mpfr_float_ops::to_longest): Likewise.
+       (mpfr_float_ops::from_longest): Likewise.
+       (mpfr_float_ops::from_ulongest): Likewise.
+       (mpfr_float_ops::to_host_double): Likewise.
+       (mpfr_float_ops::from_host_double): Likewise.
+       (mpfr_float_ops::convert): Likewise.
+       (mpfr_float_ops::binop): Likewise.
+       (mpfr_float_ops::compare): Likewise.
+       (get_target_float_ops): Use mpfr_float_ops if available.
+
+2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * target-float.c: Do not include <math.h>.
+       Include <cmath> and <limits>.
+       (DOUBLEST): Do not define.
+       (class target_float_ops): New type.
+       (class host_float_ops): New templated type.
+       (class decimal_float_ops): New type.
+
+       (floatformat_to_doublest): Rename to ...
+       (host_float_ops<T>::from_target): ... this.  Use template type T
+       instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
+       (host_float_ops<T>::from_target): New overload using a type argument.
+       (floatformat_from_doublest): Rename to ...
+       (host_float_ops<T>::to_target): ... this.  Use template type T
+       instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
+       (host_float_ops<T>::to_target): New overload using a type argument.
+       (floatformat_printf_format): New function.
+       (struct printf_length_modifier): New templated type.
+       (floatformat_to_string): Rename to ...
+       (host_float_ops<T>::to_string): ... this.  Use type instead of
+       floatformat argument.  Use floatformat_printf_format and
+       printf_length_modifier.  Remove special handling of invalid numbers,
+       infinities and NaN (moved to target_float_to_string).
+       (struct scanf_length_modifier): New templated type.
+       (floatformat_from_string): Rename to ...
+       (host_float_ops<T>::from_string): ... this.  Use type instead of
+       floatformat argument.  Use scanf_length_modifier.
+       (floatformat_to_longest): Rename to ...
+       (host_float_ops<T>::to_longest): ... this.  Use type instead of
+       floatformat argument.  Handle out-of-range values deterministically.
+       (floatformat_from_longest): Rename to ...
+       (host_float_ops<T>::from_longest): ... this.  Use type instead of
+       floatformat argument.
+       (floatformat_from_ulongest): Rename to ...
+       (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
+       floatformat argument.
+       (floatformat_to_host_double): Rename to ...
+       (host_float_ops<T>::to_host_double): ... this.  Use type instead of
+       floatformat argument.
+       (floatformat_from_host_double): Rename to ...
+       (host_float_ops<T>::from_host_double): ... this.  Use type instead of
+       floatformat argument.
+       (floatformat_convert): Rename to ...
+       (host_float_ops<T>::convert): ... this.  Use type instead of
+       floatformat arguments.  Remove handling of no-op conversions.
+       (floatformat_binop): Rename to ...
+       (host_float_ops<T>::binop): ... this.  Use type instead of
+       floatformat arguments.
+       (floatformat_compare): Rename to ...
+       (host_float_ops<T>::compare): ... this.  Use type instead of
+       floatformat arguments.
+
+       (match_endianness): Use type instead of length/byte_order arguments.
+       (set_decnumber_context): Likewise.
+       (decimal_from_number): Likewise.  Update calls.
+       (decimal_to_number): Likewise.
+       (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
+       (decimal_float_ops::to_host_double): New dummy function.
+       (decimal_float_ops::from_host_double): Likewise.
+       (decimal_to_string): Rename to ...
+       (decimal_float_ops::to_string): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+       (decimal_from_string): Rename to ...
+       (decimal_float_ops::from_string): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+       (decimal_from_longest): Rename to ...
+       (decimal_float_ops::from_longest): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+       (decimal_from_ulongest): Rename to ...
+       (decimal_float_ops::from_ulongest): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+       (decimal_to_longest): Rename to ...
+       (decimal_float_ops::to_longest): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+       (decimal_binop): Rename to ...
+       (decimal_float_ops::binop): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+       (decimal_compare): Rename to ...
+       (decimal_float_ops::compare): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+       (decimal_convert): Rename to ...
+       (decimal_float_ops::convert): ... this.  Use type instead of
+       length/byte_order arguments.  Update calls.
+
+       (target_float_same_category_p): New function.
+       (target_float_same_format_p): Likewise.
+       (target_float_format_length): Likewise.
+       (enum target_float_ops_kind): New type.
+       (get_target_float_ops_kind): New function.
+       (get_target_float_ops): Three new overloaded functions.
+
+       (target_float_is_zero): Update call.
+       (target_float_to_string): Add special handling of invalid numbers,
+       infinities and NaN (moved from floatformat_to_string).  Use
+       target_float_ops callback.
+       (target_float_from_string): Use target_float_ops callback.
+       (target_float_to_longest): Likewise.
+       (target_float_from_longest): Likewise.
+       (target_float_from_ulongest): Likewise.
+       (target_float_to_host_double): Likewise.
+       (target_float_from_host_double): Likewise.
+       (target_float_convert): Add special case for no-op conversions.
+       Use target_float_ops callback.
+       (target_float_binop): Use target_float_ops callback.
+       (target_float_compare): Likewise.
+
+2017-11-22  Yao Qi  <yao.qi@linaro.org>
+
+       * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
+
+2017-11-22  Yao Qi  <yao.qi@linaro.org>
+
+       * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
+       * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
+
+2017-11-21  Jerome Guitton  <guitton@adacore.com>
+
+       * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
+       with event ptid from the lower layer before doing the
+       ravenscar-specific update.
+
+2017-11-21  Joel Brobecker  <brobecker@adacore.com>
+
+       * ravenscar-thread.c (is_ravenscar_task): Also verify that
+       the ptid's TID is nonzero.
+
+2017-11-21  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.h (ada_get_tcb_types_info): Add declaration.
+       * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
+       Make non-static.  Change return type to char *.  Adjust code
+       accordingly.  Rewrite the function's documentation.
+       (read_atcb): Adjust call to get_tcb_types_info accordingly.
+       * ravenscar-thread.c (ravenscar_inferior_created): Check that
+       we have enough debugging information in the runtime to support
+       Ada task debugging before we enable the ravenscar-thread layer.
+
+2017-11-21  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
+       * ada-tasks.c (ada_get_task_info_from_ptid): New function.
+       * ravenscar-thread.c: Add into comment.
+       (base_magic_null_ptid): Delete.
+       (base_ptid): Change documentation.
+       (ravenscar_active_task): Renames ravenscar_running_thread.
+       All callers updated throughout.
+       (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
+       (ravenscar_task_is_currently_active): Likewise.
+       (get_base_thread_from_ravenscar_task): Ditto.
+       (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
+       (ravenscar_runtime_initialized): Likewise.
+       (get_running_thread_id): Add new parameter "cpu".  Adjust
+       implementation to handle this new parameter.
+       (ravenscar_fetch_registers): Small adjustment to use
+       is_ravenscar_task and ravenscar_task_is_currently_active in
+       order to decide whether to use the target beneath or this
+       module's arch_ops.
+       (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
+       (ravenscar_stopped_by_sw_breakpoint): Use
+       get_base_thread_from_ravenscar_task to get the underlying
+       thread, rather than using base_ptid.
+       (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
+       (ravenscar_stopped_data_address, ravenscar_core_of_thread):
+       Likewise.
+       (ravenscar_inferior_created): Do not set base_magic_null_ptid.
+
+2017-11-21  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
+       * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
+       (get_tcb_types_info): Set fieldnos.base_cpu.
+       (read_atcb): Set task_info->base_cpu.
+       (info_task): Print "Base CPU" info if set by runtime.
+
+2017-11-21  Joel Brobecker  <brobecker@adacore.com>
+
+       * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
+       (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
+       (ravenscar_stopped_data_address, ravenscar_core_of_thread):
+       New functions.
+       (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
+       to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
+       to_stopped_data_address and to_core_of_thread fields of
+       ravenscar_ops.
+
+2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
+       (struct gdbarch_tdep): New member long_double_abi.
+       * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
+       member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
+       * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
+       format depending on long_double_abi tdep member.
+       (ppc_floatformat_for_type): Handle __ibm128 type.
+
+2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
+
+2017-11-21  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (mapped_index::find_name_components_bounds)
+       <completion mode, upper bound>: Use std::lower_bound instead of
+       std::upper_bound.
+       (test_mapped_index_find_name_component_bounds): Remove incorrect
+       "t1_fund" from expected symbols.
+
+2017-11-21  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (mapped_index::name_components_casing): New field.
+       (mapped_index) <build_name_components,
+       find_name_components_bounds): Declare new methods.
+       (mapped_index::find_name_components_bounds)
+       (mapped_index::build_name_components): New methods, factored out
+       from dw2_expand_symtabs_matching_symbol.
+       (check_find_bounds_finds)
+       (test_mapped_index_find_name_component_bounds): New.
+       (run_test): Rename to ...
+       (test_dw2_expand_symtabs_matching_symbol): ... this.
+       (run_test): Reimplement.
+
+2017-11-21  Pedro Alves  <palves@redhat.com>
+
+       * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
+       (symbol_end): Use cp_ident_is_alnum.
+       (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
+       * dwarf2read.c (make_sort_after_prefix_name): New function.
+       (dw2_expand_symtabs_matching_symbol): Use it.
+       (test_symbols): Add more symbols.
+       (run_test): Add tests.
+
+2017-11-17  Tom Tromey  <tom@tromey.com>
+
+       * symtab.h (enum symbol_subclass_kind): New.
+       (struct symbol) <is_cplus_template_function, is_rust_vtable>:
+       Remove.
+       <subclass>: New member.
+       (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
+       * rust-lang.c (rust_get_trait_object_pointer): Update.
+       * dwarf2read.c (read_func_scope): Update.
+       (read_variable): Update.
+
+2017-11-17  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2read.c (read_func_scope): Update.
+       * symtab.h (struct template_symbol): Derive from symbol.
+       <base>: Remove.
+
+2017-11-17  Tom Tromey  <tom@tromey.com>
+
+       * symtab.h (struct symbol) <is_rust_vtable>: New member.
+       (struct rust_vtable_symbol): New.
+       (find_symbol_at_address): Declare.
+       * symtab.c (find_symbol_at_address): New function.
+       * symfile.h (struct quick_symbol_functions)
+       <find_compunit_symtab_by_address>: New member.
+       * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
+       function.
+       (debug_sym_quick_functions): Link to
+       debug_qf_find_compunit_symtab_by_address.
+       * rust-lang.c (rust_get_trait_object_pointer): New function.
+       (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
+       rust_get_trait_object_pointer.
+       * psymtab.c (psym_relocate): Clear psymbol_map.
+       (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
+       functions.
+       (psym_functions): Link to psym_find_compunit_symtab_by_address.
+       * objfiles.h (struct objfile) <psymbol_map>: New member.
+       * dwarf2read.c (dwarf2_gdb_index_functions): Update.
+       (process_die) <DW_TAG_variable>: New case.  Call read_variable.
+       (rust_containing_type, read_variable): New functions.
+
+2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
+
+2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * common/filestuff.c: Include <algorithm>.
+       (open_fds): Change type to std::vector<int>.
+       (do_mark_open_fd): Adjust.
+       (unmark_fd_no_cloexec): Adjust.
+       (do_close): Adjust.
+
+2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * breakpoint.c (output_thread_groups): Take an std::vector.
+       (print_one_breakpoint_location): Adjust.
+
+2017-11-17  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
+       (ada_evaluate_subexp_for_cast): New function.
+       (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
+       ada_evaluate_subexp_for_cast.
+       (ada_evaluate_subexp) <nosideret>: Replace code by call to
+       eval_skip_value.
+       * eval.c (evaluate_var_value): Make non-static.
+       (evaluate_var_msym_value, eval_skip_value): Likewise.
+       * value.h (evaluate_var_value, evaluate_var_msym_value)
+       (eval_skip_value): Declare.
+
+2017-11-16  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_value_cast): Remove parameter "noside".
+       Update all callers.
+
+2017-11-16  Pedro Alves  <palves@redhat.com>
+
+       * python/py-unwind.c (pyuw_sniffer): Translate
+       PyExc_KeyboardInterrupt to a GDB Quit exception.
+
+2017-11-16  Pedro Alves  <palves@redhat.com>
+
+       * infrun.c (resume_cleanups): Delete.
+       (resume): No longer install a resume_cleanups cleanup nor call
+       QUIT.
+       (proceed): Pass the terminal to the inferior.
+       (keep_going_pass_signal): No longer install a resume_cleanups
+       cleanup.
+
+2017-11-16  Pedro Alves  <palves@redhat.com>
+
+       * inf-loop.c (inferior_event_handler): Don't swallow the exception
+       if the prompt is blocked.
+
+2017-11-16  Pedro Alves  <palves@redhat.com>
+
+       * breakpoint.c (insert_bp_location): Replace bp_err and
+       bp_err_message locals by a gdb_exception local.
+
+2017-11-16  Pedro Alves  <palves@redhat.com>
+
+       * inflow.c (scoped_ignore_sigttou): New class.
+       (child_terminal_ours_1, new_tty): Use it.
+
+2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * target-float.c (decimal_from_number): Add byte_order argument and
+       call match_endianness.  Error if unknown floating-point type.
+       (decimal_to_number): Add byte_order argument and call match_endianness.
+       (decimal_from_longest): Update call.  Do not call match_endianness.
+       (decimal_from_ulongest): Likewise.
+       (decimal_binop): Likewise.
+       (decimal_is_zero): Likewise.
+       (decimal_compare): Likewise.
+       (decimal_convert): Likewise.
+
+2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
+
+       * python/python.c (gdbpy_rbreak): New function.
+       * NEWS: Document Python rbreak feature.
+
+2017-11-16  Yao Qi  <yao.qi@linaro.org>
+
+       * features/tic6x-c62x.xml: Remove.
+       * features/tic6x-c64x.xml: Remove.
+       * features/tic6x-c64xp.xml: Remove.
+
+2017-11-15  John Baldwin  <jhb@FreeBSD.org>
+
+       * symtab.h: Include <array>.
+
+2017-11-15  John Baldwin  <jhb@FreeBSD.org>
+
+       * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
+       (bsd_kvm_proc_cmd): Likewise.
+
+2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * tui/tui-win.c (window_name_completer): Replace VEC with
+       std::vector.
+
+2017-11-15  Andrew Cagney  <cagney@gnu.org>
+
+       * MAINTAINERS: Remove no-longer applicable entries.
+
+2017-11-15  Andrew Cagney  <cagney@gnu.org>
+
+       * MAINTAINERS: Move self to Past Maintainers.
+
+2017-11-15  Yao Qi  <yao.qi@linaro.org>
+
+       * features/Makefile (XMLTOC): Remove nios2-linux.xml.
+       * features/nios2-linux.c: Remove.
+       * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
+       initialize_tdesc_nios2_linux.
+
+2017-11-15  Yao Qi  <yao.qi@linaro.org>
+
+       * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
+       M68HC11_LAST_HARD_REG + 1.
+
+2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
+
+       PR gdb/22388
+       * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
+       remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
+       Return TARGET_XFER_EOF if size of returned data is 0.
+
+2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+       memory-map-selftests.c.
+       (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
+       * memory-map.c (memory_map_start_memory): Fix computation of hi
+       address.
+       * unittests/memory-map-selftests.c: New file.
+
+2017-11-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c: Fix some typos in the general command documenting
+       how Ada expressions are being evaluated and how their result
+       is printed.
+
+2017-11-09  Tom Tromey  <tom@tromey.com>
+
+       * psymtab.c (psymbol_hash): Do not hash string contents.
+       (psymbol_compare): Add comment.
+
+2017-11-09  Tom Tromey  <tom@tromey.com>
+
+       * dictionary.c (dict_hash): Move "TKB" check into the "switch".
+
+2017-11-08  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-exp.y (write_var_from_sym): Remove parameter
+       "orig_left_context".  Update all callers.
+
+2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * tracepoint.h (class collection_list) <stringify>: Return
+       std::vector<std::string>.
+       (encode_actions_rsp): Change parameters to
+       std::vector<std::string> *.
+       * tracepoint.c (collection_list::stringify): Return
+       std::vector<std::string> and adjust accordingly.
+       (encode_actions_rsp): Changee parameters to
+       std::vector<std::string> and adjust accordingly.
+       * remote.c (free_actions_list),
+       free_actions_list_cleanup_wrapper): Remove.
+       (remote_download_tracepoint): Adjust to std::vector.
+
+2017-11-08  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2read.c (symbolp): Remove typedef.
+       (read_func_scope): Use std::vector.
+       (process_structure_scope): Use std::vector.
+
+2017-11-08  Pedro Alves  <palves@redhat.com>
+
+       * ada-lang.c (ada_make_symbol_completion_list): Use
+       completion_skip_symbol.
+       * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
+       (symbol_is_function_or_method(symbol*)): New.
+       (add_symtab_completions): Add complete_symbol_mode parameter.  Use
+       completion_skip_symbol.
+       (default_collect_symbol_completion_matches_break_on): Use
+       completion_skip_symbol.  Pass down mode.
+       (collect_file_symbol_completion_matches): Pass down mode.
+       * symtab.h (symbol_is_function_or_method): New declarations.
+       (completion_skip_symbol): New template function.
+
+2017-11-08  Pedro Alves  <palves@redhat.com>
+
+       * linespec.c (iterate_over_all_matching_symtabs): Add
+       search_domain parameter.  Pass it down to expand_symtabs_matching.
+       (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
+       (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
+       search_domain.
+       (add_all_symbol_names_from_pspace): Add search_domain parameter.
+       Pass it down.
+       (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
+       symbols.
+       (add_matching_symbols_to_info): Add search_domain parameter.  Pass
+       it down.
+
+2017-11-08  Pedro Alves  <palves@redhat.com>
+
+       * ada-lang.c (ada_make_symbol_completion_list): Remove text and
+       text_len locals and don't pass them down.
+       * symtab.c (completion_list_add_name): Remove
+       sym_text/sym_text_len parameters and adjust.
+       (completion_list_add_symbol, completion_list_add_msymbol)
+       (completion_list_objc_symbol, completion_list_add_fields)
+       (add_symtab_completions): Likewise.
+       (default_collect_symbol_completion_matches_break_on)
+       (collect_file_symbol_completion_matches): Remove sym_text_len
+       local and don't pass it down.
+       * symtab.h (completion_list_add_name): Remove
+       sym_text/sym_text_len parameters.
+
+2017-11-08  Pedro Alves  <palves@redhat.com>
+
+       * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+       unittests/lookup_name_info-selftests.c.
+       (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
+       * cp-support.c: Include "selftest.h".
+       (cp_remove_params_1): Rename from cp_remove_params.  Add
+       'require_param' parameter, and handle it.
+       (cp_remove_params): Reimplement.
+       (cp_remove_params_if_any): New.
+       (selftests::quote): New.
+       (selftests::check_remove_params): New.
+       (selftests::test_cp_remove_params): New.
+       (_initialize_cp_support): Install
+       selftests::test_cp_remove_params.
+       * cp-support.h (cp_remove_params_if_any): Declare.
+       * dwarf2read.c :Include "selftest.h".
+       (dw2_expand_symtabs_matching_symbol): Use
+       lookup_name_info::make_ignore_params.
+       (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
+       (selftests::dw2_expand_symtabs_matching::string_or_null)
+       (selftests::dw2_expand_symtabs_matching::check_match)
+       (selftests::dw2_expand_symtabs_matching::test_symbols)
+       (selftests::dw2_expand_symtabs_matching::run_test): New.
+       (_initialize_dwarf2_read): Register
+       selftests::dw2_expand_symtabs_matching::run_test.
+       * psymtab.c (psym_expand_symtabs_matching): Use
+       lookup_name_info::make_ignore_params.
+       * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
+       If the lookup name wants to ignore parameters, strip them.
+       (compare_symbol_name): Remove sym_text/sym_text_len parameters and
+       code handling '('.
+       (completion_list_add_name): Don't pass down sym_text/sym_text_len.
+       (default_collect_symbol_completion_matches_break_on): Don't try to
+       strip parameters.
+       * symtab.h (lookup_name_info::lookup_name_info): Add
+       'ignore_parameters' parameter.
+       (lookup_name_info::ignore_parameters)
+       (lookup_name_info::make_ignore_params): New methods.
+       (lookup_name_info::m_ignore_parameters): New field.
+       * unittests/lookup_name_info-selftests.c: New file.
+
+2017-11-08  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (dw2_expand_marked_cus)
+       (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
+       (dw2_expand_symtabs_matching): Move further below.
+       (dw2_expand_marked_cus): Reindent.
+
+2017-11-08  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
+       (struct name_component): New.
+       (mapped_index::name_components): New field.
+       (mapped_index::symbol_name_at): New method.
+       (dwarf2_read_index): Call mapped_index ctor.
+       (dw2_map_matching_symbols): Add comment about name_components
+       table.
+       (dw2_expand_symtabs_matching): Factor part to...
+       (dw2_expand_symtabs_matching_symbol): ... this new function.
+       Build name components table, and lookup symbols in it before
+       calling the name matcher.
+       (dw2_expand_marked_cus): New, factored out from
+       dw2_expand_symtabs_matching.
+       (dwarf2_per_objfile_free): Call the mapped_index's dtor.
+
+2017-11-08   Pedro Alves  <palves@redhat.com>
+
+       * ada-lang.c (ada_encode): Rename to ..
+       (ada_encode_1): ... this.  Add throw_errors parameter and handle
+       it.
+       (ada_encode): Reimplement.
+       (match_name): Delete, folded into full_name.
+       (resolve_subexp): No longer pass the encoded name to
+       ada_lookup_symbol_list.
+       (should_use_wild_match): Delete.
+       (name_match_type_from_name): New.
+       (ada_lookup_simple_minsym): Use lookup_name_info and the
+       language's symbol_name_matcher_ftype.
+       (add_symbols_from_enclosing_procs, ada_add_local_symbols)
+       (ada_add_block_renamings): Adjust to use lookup_name_info.
+       (ada_lookup_name): New.
+       (add_nonlocal_symbols, ada_add_all_symbols)
+       (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
+       (ada_iterate_over_symbols): Adjust to use lookup_name_info.
+       (ada_name_for_lookup): Delete.
+       (ada_lookup_encoded_symbol): Construct a verbatim name.
+       (wild_match): Reverse sense of return type.  Use bool.
+       (full_match): Reverse sense of return type.  Inline bits of old
+       match_name here.
+       (ada_add_block_symbols): Adjust to use lookup_name_info.
+       (symbol_completion_match): Delete, folded into...
+       (ada_lookup_name_info::matches): ... .this new method.
+       (symbol_completion_add): Delete.
+       (ada_collect_symbol_completion_matches): Add name_match_type
+       parameter.  Adjust to use lookup_name_info and
+       completion_list_add_name.
+       (get_var_value, ada_add_global_exceptions): Adjust to use
+       lookup_name_info.
+       (ada_get_symbol_name_cmp): Delete.
+       (do_wild_match, do_full_match): New functions.
+       (ada_lookup_name_info::ada_lookup_name_info): New method.
+       (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
+       functions.
+       (ada_language_defn): Install ada_get_symbol_name_matcher.
+       * ada-lex.l (processId): If name starts with '<', copy it
+       verbatim.
+       * block.c (block_iter_match_step, block_iter_match_first)
+       (block_iter_match_next, block_lookup_symbol)
+       (block_lookup_symbol_primary, block_find_symbol): Adjust to use
+       lookup_name_info.
+       * block.h (block_iter_match_first, block_iter_match_next)
+       (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
+       * c-lang.c (c_language_defn, cplus_language_defn)
+       (asm_language_defn, minimal_language_defn): Adjust comments to
+       refer to la_get_symbol_name_matcher.
+       * completer.c (complete_files_symbols)
+       (collect_explicit_location_matches, symbol_completer): Pass a
+       symbol_name_match_type down.
+       * completer.h (class completion_match, completion_match_result):
+       New classes.
+       (completion_tracker::reset_completion_match_result): New method.
+       (completion_tracker::m_completion_match_result): New field.
+       * cp-support.c (make_symbol_overload_list_block): Adjust to use
+       lookup_name_info.
+       (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
+       functions.
+       * cp-support.h (cp_get_symbol_name_matcher): New declaration.
+       * d-lang.c: Adjust comments to refer to
+       la_get_symbol_name_matcher.
+       * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
+       Adjust to use lookup_name_info.
+       (dict_iter_match_first, dict_iter_match_next)
+       (iter_match_first_hashed, iter_match_next_hashed)
+       (iter_match_first_linear, iter_match_next_linear): Adjust to work
+       with a lookup_name_info.
+       * dictionary.h (dict_iter_match_first, dict_iter_match_next):
+       Likewise.
+       * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
+       (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
+       (gdb_index_symbol_name_matcher): New class.
+       (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
+       gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
+       * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
+       with a symbol_name_match_type.
+       (f_language_defn): Adjust comments to refer to
+       la_get_symbol_name_matcher.
+       * go-lang.c (go_language_defn): Adjust comments to refer to
+       la_get_symbol_name_matcher.
+       * language.c (default_symbol_name_matcher)
+       (language_get_symbol_name_matcher): New functions.
+       (unknown_language_defn, auto_language_defn): Adjust comments to
+       refer to la_get_symbol_name_matcher.
+       * language.h (symbol_name_cmp_ftype): Delete.
+       (language_defn) <la_collect_symbol_completion_matches>: Add match
+       type parameter.
+       <la_get_symbol_name_cmp>: Delete field.
+       <la_get_symbol_name_matcher>: New field.
+       <la_iterate_over_symbols>: Adjust to use lookup_name_info.
+       (default_symbol_name_matcher, language_get_symbol_name_matcher):
+       Declare.
+       * linespec.c (iterate_over_all_matching_symtabs)
+       (iterate_over_file_blocks): Adjust to use lookup_name_info.
+       (find_methods): Add language parameter, and use lookup_name_info
+       and the language's symbol_name_matcher_ftype.
+       (linespec_complete_function): Adjust.
+       (lookup_prefix_sym): Use lookup_name_info.
+       (add_all_symbol_names_from_pspace): Adjust.
+       (find_superclass_methods): Add language parameter and pass it
+       down.
+       (find_method): Pass symbol language down.
+       (find_linespec_symbols): Don't demangle or Ada encode here.
+       (search_minsyms_for_name): Add lookup_name_info parameter.
+       (add_matching_symbols_to_info): Add name_match_type parameter.
+       Use lookup_name_info.
+       * m2-lang.c (m2_language_defn): Adjust comments to refer to
+       la_get_symbol_name_matcher.
+       * minsyms.c: Include <algorithm>.
+       (add_minsym_to_demangled_hash_table): Remove table parameter and
+       add objfile parameter.  Use search_name_hash, and add language to
+       demangled languages vector.
+       (struct found_minimal_symbols): New struct.
+       (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
+       New functions.
+       (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
+       input names here.  Use lookup_name_info instead.  Lookup up
+       demangled names once for each language in the demangled names
+       vector.
+       (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
+       demangled names once for each language in the demangled names
+       vector.
+       (build_minimal_symbol_hash_tables): Adjust.
+       * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
+       lookup_name_info.
+       * objc-lang.c (objc_language_defn): Adjust comment to refer to
+       la_get_symbol_name_matcher.
+       * objfiles.h: Include <vector>.
+       (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
+       * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
+       la_get_symbol_name_matcher.
+       * p-lang.c (pascal_language_defn): Adjust comment to refer to
+       la_get_symbol_name_matcher.
+       * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
+       (match_partial_symbol): Use symbol_name_match_type,
+       lookup_name_info and psymbol_name_matches.
+       (lookup_partial_symbol): Use lookup_name_info.
+       (map_block): Use symbol_name_match_type and lookup_name_info.
+       (psym_map_matching_symbols): Use symbol_name_match_type.
+       (psymbol_name_matches): New.
+       (recursively_search_psymtabs): Use lookup_name_info and
+       psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
+       (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
+       'kind' parameter to 'domain'.
+       * rust-lang.c (rust_language_defn): Adjust comment to refer to
+       la_get_symbol_name_matcher.
+       * symfile-debug.c (debug_qf_map_matching_symbols)
+       (debug_qf_map_matching_symbols): Use symbol_name_match_type.
+       (debug_qf_expand_symtabs_matching): Use lookup_name_info.
+       * symfile.c (expand_symtabs_matching): Use lookup_name_info.
+       * symfile.h (quick_symbol_functions) <map_matching_symbols>:
+       Adjust to use symbol_name_match_type.
+       <expand_symtabs_matching>: Adjust to use lookup_name_info.
+       (expand_symtabs_matching): Adjust to use lookup_name_info.
+       * symmisc.c (maintenance_expand_symtabs): Use
+       lookup_name_info::match_any ().
+       * symtab.c (symbol_matches_search_name): New.
+       (eq_symbol_entry): Adjust to use lookup_name_info and the
+       language's matcher.
+       (demangle_for_lookup_info::demangle_for_lookup_info): New.
+       (lookup_name_info::match_any): New.
+       (iterate_over_symbols, search_symbols): Use lookup_name_info.
+       (compare_symbol_name): Add language, lookup_name_info and
+       completion_match_result parameters, and use them.
+       (completion_list_add_name): Make extern.  Add language and
+       lookup_name_info parameters.  Use them.
+       (completion_list_add_symbol, completion_list_add_msymbol)
+       (completion_list_objc_symbol): Add lookup_name_info parameters and
+       adjust.  Pass down language.
+       (completion_list_add_fields): Add lookup_name_info parameters and
+       adjust.  Pass down language.
+       (add_symtab_completions): Add lookup_name_info parameters and
+       adjust.
+       (default_collect_symbol_completion_matches_break_on): Add
+       name_match_type parameter, and use it.  Use lookup_name_info.
+       (default_collect_symbol_completion_matches)
+       (collect_symbol_completion_matches): Add name_match_type
+       parameter, and pass it down.
+       (collect_symbol_completion_matches_type): Adjust.
+       (collect_file_symbol_completion_matches): Add name_match_type
+       parameter, and use lookup_name_info.
+       * symtab.h: Include <string> and "common/gdb_optional.h".
+       (enum class symbol_name_match_type): New.
+       (class ada_lookup_name_info): New.
+       (struct demangle_for_lookup_info): New.
+       (class lookup_name_info): New.
+       (symbol_name_matcher_ftype): New.
+       (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
+       (symbol_matches_search_name): Declare.
+       (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
+       (default_collect_symbol_completion_matches)
+       (collect_symbol_completion_matches)
+       (collect_file_symbol_completion_matches): Add name_match_type
+       parameter.
+       (iterate_over_symbols): Use lookup_name_info.
+       (completion_list_add_name): Declare.
+       * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
+       (strncmp_iw_with_mode): Now extern.
+       * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
+       (strncmp_iw_with_mode): Declare.
+
+2017-11-08  Keith Seitz  <keiths@redhat.com>
+           Pedro Alves  <palves@redhat.com>
+
+       * ada-lang.c (ada_language_defn): Install
+       default_search_name_hash.
+       * buildsym.c (struct buildsym_compunit): <language>: New field.
+       (finish_block_internal): Pass language when creating dictionaries.
+       (start_buildsym_compunit, start_symtab): New language parameters.
+       Use them.
+       (restart_symtab): Pass down compilation unit's language.
+       * buildsym.h (enum language): Forward declare.
+       (start_symtab): New 'language' parameter.
+       * c-lang.c (c_language_defn, cplus_language_defn)
+       (asm_language_defn, minimal_language_defn): Install
+       default_search_name_hash.
+       * coffread.c (coff_start_symtab): Adjust.
+       * d-lang.c (d_language_defn): Install default_search_name_hash.
+       * dbxread.c (struct symloc): Add 'pst_language' field.
+       (PST_LANGUAGE): Define.
+       (start_psymtab, read_ofile_symtab): Use it.
+       (process_one_symbol): New 'language' parameter.  Pass it down.
+       * dictionary.c (struct dictionary) <language>: New field.
+       (DICT_LANGUAGE): Define.
+       (dict_create_hashed, dict_create_hashed_expandable)
+       (dict_create_linear, dict_create_linear_expandable): New parameter
+       'language'.  Set the dictionary's language.
+       (iter_match_first_hashed): Adjust to rename.
+       (insert_symbol_hashed): Assert we don't see mismatching
+       languages.  Adjust to rename.
+       (dict_hash): Rename to ...
+       (default_search_name_hash): ... this and make extern.
+       * dictionary.h (struct language_defn): Forward declare.
+       (dict_create_hashed): New parameter 'language'.
+       * dwarf2read.c (dwarf2_start_symtab): Pass down language.
+       * f-lang.c (f_language_defn): Install default_search_name_hash.
+       * go-lang.c (go_language_defn): Install default_search_name_hash.
+       * jit.c (finalize_symtab): Pass compunit's language to dictionary
+       creation.
+       * language.c (unknown_language_defn, auto_language_defn):
+       * language.h (language_defn::la_search_name_hash): New field.
+       (default_search_name_hash): Declare.
+       * m2-lang.c (m2_language_defn): Install default_search_name_hash.
+       * mdebugread.c (new_block): New parameter 'language'.
+       * mdebugread.c (parse_symbol): Pass symbol language to block
+       allocation.
+       (psymtab_to_symtab_1): Pass down language.
+       (new_symtab): Pass compunit's language to block allocation.
+       * objc-lang.c (objc_language_defn): Install
+       default_search_name_hash.
+       * opencl-lang.c (opencl_language_defn):
+       * p-lang.c (pascal_language_defn): Install
+       default_search_name_hash.
+       * rust-lang.c (rust_language_defn): Install
+       default_search_name_hash.
+       * stabsread.h (enum language): Forward declare.
+       (process_one_symbol): Add 'language' parameter.
+       * symtab.c (search_name_hash): New function.
+       * symtab.h (search_name_hash): Declare.
+       * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
+
+2017-11-08  Pedro Alves  <palves@redhat.com>
+
+       * cp-name-parser.y (main): Don't initialize extra_chars.
+
+2017-11-07  Tom Tromey  <tom@tromey.com>
+
+       * event-top.h (command_handler): Constify.
+       * record-full.c (cmd_record_full_start): Update.
+       * thread.c (thread_apply_all_command): Update.
+       * printcmd.c (eval_command): Update.
+       * mi/mi-main.c (mi_execute_cli_command): Update.
+       (mi_execute_async_cli_command): Update.
+       * tui/tui-stack.c (tui_update_command): Update.
+       * cli/cli-interp.c (safe_execute_command): Constify.
+       * record.c (record_start): Update.
+       (record_start, record_stop, cmd_record_start): Update.
+       * record-btrace.c (cmd_record_btrace_bts_start): Update.
+       (cmd_record_btrace_pt_start): Update.
+       (cmd_record_btrace_start): Update.
+       (cmd_record_btrace_start): Update.
+       * reverse.c (exec_reverse_once): Update.
+       * python/python.c (execute_gdb_command): Don't copy the command.
+       * event-top.c (command_line_handler): Update.
+       (command_handler): Constify.
+       * defs.h (deprecated_call_command_hook): Constify.
+       * cli/cli-script.h (execute_user_command): Constify.
+       * cli/cli-script.c (execute_user_command): Constify.
+       (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
+       (enum command_control_type): Update.
+       * main.c (catch_command_errors): Remove non-const overload.
+       (catch_command_errors_ftype): Remove.
+       * python/py-cmd.c (cmdpy_function): Constify.
+       * guile/scm-cmd.c (cmdscm_function): Constify.
+       * cli/cli-dump.c (call_dump_func): Constify.
+       * cli/cli-decode.c (do_const_cfunc): Constify.
+       (do_sfunc): Constify.
+       (cmd_func): Constify.
+       * gdbcmd.h (execute_command, execute_command_to_string): Constify.
+       * top.h (execute_command): Constify.
+       * top.c (execute_command): Constify.
+       (execute_command_to_string): Constify.
+       (deprecated_call_command_hook): Constify.
+       * command.h (cmd_func): Constify.
+       * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
+
+2017-11-07  Tom Tromey  <tom@tromey.com>
+
+       * ada-lang.c (catch_ada_exception_command): Constify.
+       (catch_assert_command): Constify.
+       * break-catch-throw.c (catch_catch_command, catch_throw_command)
+       (catch_rethrow_command): Constify.
+       (catch_exception_command_1): Constify.
+       * breakpoint.h (add_catch_command): Constify.
+       * break-catch-syscall.c (catch_syscall_command_1): Constify.
+       (catch_syscall_split_args): Constify.
+       * break-catch-sig.c (catch_signal_command): Constify.
+       (catch_signal_split_args): Constify.
+       * cli/cli-decode.h (struct cmd_list_element) <function>: Use
+       cmd_const_sfunc_ftype.
+       * cli/cli-decode.c (add_setshow_cmd_full): Constify.
+       (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
+       (add_setshow_boolean_cmd, add_setshow_filename_cmd)
+       (add_setshow_string_cmd, struct cmd_list_element)
+       (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
+       (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
+       (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
+       Constify.
+       (set_cmd_sfunc): Constify.
+       (empty_sfunc): Constify.
+       * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
+       (add_setshow_boolean_cmd, add_setshow_filename_cmd)
+       (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
+       (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
+       (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
+       (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
+       Constify.
+       (set_cmd_sfunc): Constify.
+       (cmd_sfunc_ftype): Remove.
+       * compile/compile.c (set_compile_args): Constify.
+       * infrun.c (set_disable_randomization): Constify.
+       * infcmd.c (set_args_command, set_cwd_command): Constify.
+       * breakpoint.c (set_condition_evaluation_mode): Constify.
+       (add_catch_command): Constify.
+       (catch_fork_command_1, catch_exec_command_1)
+       (catch_load_command_1, catch_unload_command_1): Constify.
+       (catch_load_or_unload): Constify.
+       * guile/scm-param.c (pascm_set_func): Constify.
+       (add_setshow_generic): Constify.
+       * python/py-param.c (get_set_value): Constify.
+       * top.h (set_verbose): Constify.
+       * tui/tui-win.c (tui_set_var_cmd): Constify.
+       * mi/mi-main.c (set_mi_async_command): Constify.
+       * cli/cli-logging.c (set_logging_overwrite)
+       (set_logging_redirect): Constify.
+       * value.c (set_max_value_size): Constify.
+       * valprint.c (set_input_radix, set_output_radix): Constify.
+       * utils.c (set_width_command, set_height_command): Constify.
+       * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
+       * tracepoint.c (set_disconnected_tracing)
+       (set_circular_trace_buffer, set_trace_buffer_size)
+       (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
+       * top.c (set_history_size_command, set_verbose, set_editing)
+       (set_gdb_datadir, set_history_filename): Constify.
+       * target.c (set_targetdebug, maint_set_target_async_command)
+       (maint_set_target_non_stop_command, set_target_permissions)
+       (set_write_memory_permission): Constify.
+       (open_target): Constify.
+       * target-descriptions.c (set_tdesc_filename_cmd): Constify.
+       * target-dcache.c (set_stack_cache, set_code_cache): Constify.
+       * symtab.c (set_symbol_cache_size_handler): Constify.
+       * symfile.c (set_ext_lang_command): Constify.
+       * symfile-debug.c (set_debug_symfile): Constify.
+       * source.c (set_directories_command): Constify.
+       * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
+       * serial.c (set_parity): Constify.
+       * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
+       * remote.c (set_remote_exec_file, set_remotebreak)
+       (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
+       * record.c (set_record_insn_history_size)
+       (set_record_call_history_size): Constify.
+       * record-full.c (set_record_full_insn_max_num): Constify.
+       * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
+       * osabi.c (set_osabi): Constify.
+       * mips-tdep.c (set_mips64_transfers_32bit_regs)
+       (reinit_frame_cache_sfunc, mips_abi_update): Constify.
+       * maint.c (maintenance_set_profile_cmd): Constify.
+       * linux-thread-db.c (set_libthread_db_search_path): Constify.
+       * language.c (set_language_command, set_range_command)
+       (set_case_command): Constify.
+       * infrun.c (set_non_stop, set_observer_mode)
+       (set_stop_on_solib_events, set_schedlock_func)
+       (set_exec_direction_func): Constify.
+       * infcmd.c (set_inferior_tty_command): Constify.
+       * disasm.c (set_disassembler_options_sfunc): Constify.
+       * demangle.c (set_demangling_command): Constify.
+       * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
+       * cris-tdep.c (set_cris_version, set_cris_mode)
+       (set_cris_dwarf2_cfi): Constify.
+       * corefile.c (set_gnutarget_command): Constify.
+       * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
+       (set_target_wide_charset_sfunc): Constify.
+       * breakpoint.c (update_dprintf_commands): Constify.
+       * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
+       * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
+       (set_disassembly_style_sfunc): Constify.
+       * arch-utils.c (set_endian, set_architecture): Constify.
+       * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
+       * agent.c (set_can_use_agent): Constify.
+
+2017-11-07  Tom Tromey  <tom@tromey.com>
+
+       * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
+       (go32_pde, go32_pte, go32_pte_for_address): Constify.
+       * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
+       (set_thread_default_pause_cmd, set_thread_default_run_cmd)
+       (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
+       (parse_int_arg, show_thread_default_detach_sc_cmd)
+       (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
+       (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
+       (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
+       (show_task_pause_cmd, set_task_detach_sc_cmd)
+       (show_task_detach_sc_cmd, set_task_exc_port_cmd)
+       (set_noninvasive_cmd, set_thread_pause_cmd)
+       (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
+       (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
+       (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
+       * windows-nat.c (display_selectors): Constify.
+       * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
+       non-const "cfunc".
+       * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
+       (cmd_cfunc_eq): Likewise.
+       (struct cmd_list_element): Likewise.
+       (do_cfunc): Remove.
+       (cli_user_command_p): Update.
+       * command.h (add_cmd): Remove non-const overload.
+       (cmd_cfunc_ftype): Remove typedef.
+       (cmd_cfunc_eq): Remove non-const overload.
+       * value.c (show_values): Constify.
+       * thread.c (thread_apply_all_command): Constify.
+       * symfile.c (load_command): Constify.
+       * source.c (directory_command): Constify.
+       * maint.c (maintenance_internal_error)
+       (maintenance_demangler_warning, maintenance_space_display)
+       (maintenance_print_architecture, maintenance_translate_address)
+       (maintenance_info_selftests, maintenance_internal_warning):
+       Constify.
+       * breakpoint.c (disable_trace_command, enable_trace_command):
+       Constify.
+       * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
+       Constify.
+       (add_auto_load_safe_path): Constify.
+       * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
+       * top.h (show_commands): Constify.
+       * linux-thread-db.c (info_auto_load_libthread_db): Constify.
+       * sparc64-tdep.c (adi_examine_command): Constify.
+       (adi_assign_command): Constify.
+
+2017-11-07  Tom Tromey  <tom@tromey.com>
+
+       * frame.h (info_locals_command, info_args_command): Constify.
+       * auto-load.h (auto_load_info_scripts): Constify.
+       * inferior.h (registers_info): Constify.
+       * copying.c: Rebuild.
+       * copying.awk: Constify generated commands.
+       * auto-load.c (auto_load_info_scripts)
+       (info_auto_load_gdb_scripts): Constify.
+       * cli/cli-decode.c (struct cmd_list_element): Take a
+       cmd_const_cfunc_ftype.
+       * command.h (add_info): Take a cmd_const_cfunc_ftype.
+       * tui/tui-win.c (tui_all_windows_info): Constify.
+       * python/py-auto-load.c (info_auto_load_python_scripts):
+       Constify.
+       * cli/cli-cmds.c (show_command): Remove non-const overload.
+       * tracepoint.c (info_tvariables_command, info_scope_command):
+       Constify.
+       (info_static_tracepoint_markers_command): Constify.
+       * thread.c (info_threads_command): Constify.
+       (print_thread_info_1): Constify.
+       * target.c (info_target_command): Constify.
+       * symtab.c (info_sources_command, info_functions_command)
+       (info_types_command): Constify.
+       (info_variables_command): Remove non-const overload.
+       * symfile.c (info_ext_lang_command): Constify.
+       * stack.c (info_frame_command, info_locals_command)
+       (info_args_command): Constify.
+       (backtrace_command): Remove non-const overload.
+       * source.c (info_source_command, info_line_command): Constify.
+       * solib.c (info_sharedlibrary_command): Constify.
+       * skip.c (info_skip_command): Constify.
+       * ser-go32.c (info_serial_command): Constify.
+       * reverse.c (info_bookmarks_command): Constify.
+       * printcmd.c (info_symbol_command, info_address_command)
+       (info_display_command): Constify.
+       * osdata.c (info_osdata_command): Constify.
+       * objc-lang.c (info_selectors_command, info_classes_command):
+       Constify.
+       * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
+       * memattr.c (info_mem_command): Constify.
+       * macrocmd.c (info_macro_command, info_macros_command): Constify.
+       * linux-fork.c (info_checkpoints_command): Constify.
+       * infrun.c (info_signals_command): Constify.
+       * inflow.c (info_terminal_command): Constify.
+       * inferior.c (info_inferiors_command): Constify.
+       (print_inferior): Constify.
+       * infcmd.c (info_program_command, info_all_registers_command)
+       (info_registers_command, info_vector_command)
+       (info_float_command): Constify.
+       (registers_info): Constify.
+       * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
+       (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
+       Constify.
+       * f-valprint.c (info_common_command): Constify.
+       * dcache.c (info_dcache_command): Constify.
+       (dcache_info_1): Constify.
+       * darwin-nat-info.c (info_mach_tasks_command)
+       (info_mach_task_command, info_mach_ports_command)
+       (info_mach_port_command, info_mach_threads_command)
+       (info_mach_thread_command, info_mach_regions_command)
+       (info_mach_regions_recurse_command, info_mach_region_command)
+       (info_mach_exceptions_command): Constify.
+       (get_task_from_args): Constify.
+       * cp-support.c (info_vtbl_command): Constify.
+       * breakpoint.c (info_watchpoints_command)
+       (info_tracepoints_command): Constify.
+       (info_breakpoints_command): Remove non-const overload.
+       * avr-tdep.c (avr_io_reg_read_command): Constify.
+       * auxv.c (info_auxv_command): Constify.
+       * ada-tasks.c (info_tasks_command): Constify.
+       (info_task): Constify.
+       * ada-lang.c (info_exceptions_command): Constify.
+
 2017-11-07  Tom Tromey  <tom@tromey.com>
 
        * solib.h (no_shared_libraries): Constify.