2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* Makefile.in (COMMON_SFILES): Add regcache-dump.c
	* regcache-dump.c: New file.
	* regcache.c: Move register_dump to regcache-dump.c.
	(maintenance_print_registers): Likewise.
	(maintenance_print_raw_registers): Likewise.
	(maintenance_print_cooked_registers): Likewise.
	(maintenance_print_register_groups): Likewise.
	(maintenance_print_remote_registers): Likewise.
	(_initialize_regcache): Likewise.
	* regcache.h (register_dump): Moved from regcache.c.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* regcache.c (regcache::regcache): Update.
	(regcache::invalidate): Move it to detached_regcache::invalidate.
	(get_thread_arch_aspace_regcache): Update.
	(regcache::raw_update): Update.
	(regcache::cooked_read): Remove some code.
	(regcache::cooked_read_value): Likewise.
	(regcache::raw_write): Remove assert on m_readonly_p.
	(regcache::raw_supply_integer): Move it to
	detached_regcache::raw_supply_integer.
	(regcache::raw_supply_zeroed): Likewise.
	* regcache.h (detached_regcache) <raw_supply_integer>: New
	declaration.
	<raw_supply_zeroed, invalidate>: Likewise.
	(regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
	<invalidate>: Likewise.
	<m_readonly_p>: Removed.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* infcmd.c (get_return_value): Let stop_regs point to
	get_current_regcache.
	* regcache.c (regcache::regcache): Remove.
	(register_dump_reg_buffer): New class.
	(regcache_print): Adjust.
	* regcache.h (regcache): Remove constructors.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* regcache.c (class register_dump): New class.
	(register_dump_regcache, register_dump_none): New class.
	(register_dump_remote, register_dump_groups): New class.
	(regcache_print): Update.
	* regcache.h (regcache_dump_what): Move it to regcache.c.
	(regcache) <dump>: Remove.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* jit.c (struct jit_unwind_private) <regcache>: Change its type to
	 reg_buffer_rw *.
	(jit_unwind_reg_set_impl): Call raw_supply.
	(jit_frame_sniffer): Use reg_buffer_rw.
	* record-full.c (record_full_core_regbuf): Change its type.
	(record_full_core_open_1): Use reg_buffer_rw.
	(record_full_close): Likewise.
	(record_full_core_fetch_registers): Use regcache->raw_supply.
	(record_full_core_store_registers): Likewise.
	* regcache.c (regcache::get_register_status): Move it to
	reg_buffer.
	(regcache_raw_set_cached_value): Remove.
	(regcache::raw_set_cached_value): Remove.
	(regcache::raw_write): Call raw_supply.
	(regcache::raw_supply): Move it to reg_buffer_rw.
	* regcache.h (regcache_raw_set_cached_value): Remove.
	(reg_buffer_rw): New class.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
	readonly_detached_regcache.
	(dummy_frame_prev_register): Use regcache->cooked_read.
	* frame.c (frame_save_as_regcache): Change return type.
	(frame_pop): Update.
	* frame.h (frame_save_as_regcache): Update declaration.
	* inferior.h (get_infcall_suspend_state_regcache): Update
	declaration.
	* infrun.c (infcall_suspend_state) <registers>: use
	readonly_detached_regcache.
	(save_infcall_suspend_state): Don't use regcache_dup.
	(get_infcall_suspend_state_regcache): Change return type.
	* linux-fork.c (struct fork_info) <savedregs>: Change to
	readonly_detached_regcache.
	<pc>: New field.
	(fork_save_infrun_state): Don't use regcache_dup.
	(info_checkpoints_command): Adjust.
	* mi/mi-main.c (register_changed_p): Update declaration.
	(mi_cmd_data_list_changed_registers): Use
	readonly_detached_regcache.
	(register_changed_p): Change parameter type to
	readonly_detached_regcache.
	* ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
	readonly_detached_regcache.
	(ppu2spu_sniffer): Construct a new readonly_detached_regcache.
	* regcache.c (readonly_detached_regcache::readonly_detached_regcache):
	New.
	(regcache::save): Move it to reg_buffer.
	(regcache::restore): Change parameter type.
	(regcache_dup): Remove.
	* regcache.h (reg_buffer) <save>: New method.
	(readonly_detached_regcache): New class.
	* spu-tdep.c (spu2ppu_cache) <regcache>: Use
	readonly_detached_regcache.
	(spu2ppu_sniffer): Construct a new readonly_detached_regcache.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* frame.c (frame_save_as_regcache): Use regcache method save.
	(frame_pop): Use regcache method restore.
	* infrun.c (restore_infcall_suspend_state): Likewise.
	* linux-fork.c (fork_load_infrun_state): Likewise.
	* ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
	save.
	* regcache.c (regcache_save): Remove.
	(regcache::restore): More asserts.
	(regcache_cpy): Remove.
	* regcache.h (regcache_save): Remove the declaration.
	(regcache::restore): Move from private to public.
	Remove the friend declaration of regcache_cpy.
	(regcache_cpy): Remove declaration.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
	parameter type to 'readable_regcache *'.
	* amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
	* arm-tdep.c (arm_neon_quad_read): Likewise.
	(arm_pseudo_read): Likewise.
	* avr-tdep.c (avr_pseudo_register_read): Likewise.
	* bfin-tdep.c (bfin_pseudo_register_read): Likewise.
	* frv-tdep.c (frv_pseudo_register_read): Likewise.
	* gdbarch.c: Re-generated.
	* gdbarch.h: Re-generated.
	* gdbarch.sh (pseudo_register_read): Change parameter type to
	'readable_regcache *'.
	(pseudo_register_read_value): Likewise.
	* h8300-tdep.c (pseudo_from_raw_register): Likewise.
	(h8300_pseudo_register_read): Likewise.
	* hppa-tdep.c (hppa_pseudo_register_read): Likewise.
	* i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
	(i386_pseudo_register_read_into_value): Likewise.
	(i386_pseudo_register_read_value): Likewise.
	* i386-tdep.h (i386_pseudo_register_read_into_value): Update
	declaration.
	* ia64-tdep.c (ia64_pseudo_register_read): Likewise.
	* m32c-tdep.c (m32c_raw_read): Likewise.
	(m32c_read_flg): Likewise.
	(m32c_banked_register): Likewise.
	(m32c_banked_read): Likewise.
	(m32c_sb_read): Likewise.
	(m32c_part_read): Likewise.
	(m32c_cat_read): Likewise.
	(m32c_r3r2r1r0_read): Likewise.
	(m32c_pseudo_register_read): Likewise.
	* m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
	* mep-tdep.c (mep_pseudo_cr32_read): Likewise.
	(mep_pseudo_cr64_read): Likewise.
	(mep_pseudo_register_read): Likewise.
	* mips-tdep.c (mips_pseudo_register_read): Likewise.
	* msp430-tdep.c (msp430_pseudo_register_read): Likewise.
	* nds32-tdep.c (nds32_pseudo_register_read): Likewise.
	* regcache.c (regcache::raw_read): Move it to readable_regcache.
	(regcache::cooked_read): Likewise.
	(regcache::cooked_read_value): Likewise.
	(regcache_cooked_read_signed):
	(regcache::cooked_read): Likewise.
	* regcache.h (readable_regcache): New class.
	(regcache): Inherit readable_regcache.  Move some methods to
	readable_regcache.
	* rl78-tdep.c (rl78_pseudo_register_read): Change
	parameter type to 'readable_regcache *'.
	* rs6000-tdep.c (do_regcache_raw_read): Remove.
	(e500_pseudo_register_read): Change parameter type to
	'readable_regcache *'.
	(dfp_pseudo_register_read): Likewise.
	(vsx_pseudo_register_read): Likewise.
	(efpr_pseudo_register_read): Likewise.
	* s390-tdep.c (s390_pseudo_register_read): Likewise.
	* sh-tdep.c (sh_pseudo_register_read): Likewise.
	* sh64-tdep.c (pseudo_register_read_portions): Likewise.
	(sh64_pseudo_register_read): Likewise.
	* sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
	* sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
	* spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
	(spu_pseudo_register_read): Likewise.
	* xtensa-tdep.c	(xtensa_register_read_masked): Likewise.
	(xtensa_pseudo_register_read): Likewise.

2018-02-21  Yao Qi  <yao.qi@linaro.org>

	* regcache.c (regcache::regcache): Call reg_buffer ctor.
	(regcache::arch): Move it to reg_buffer::arch.
	(regcache::register_buffer): Likewise.
	(regcache::assert_regnum): Likewise.
	(regcache::num_raw_registers): Likewise.
	* regcache.h (reg_buffer): New class.
	(regcache): Inherit reg_buffer.

2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>

	* remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
	gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.

2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>

	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.

2018-02-19  Alan Hayward  <alan.hayward@arm.com>

	* Makefile.in: (COMMON_SFILES): Add common/*.c files.
	(SFILES): Remove common/*.c files.
	(COMMON_OBS): Remove some *.o files built from common/*.c files.
	* common/common.host: Add common reference.
	* configure.ac: Likewise.
	* configure: Regenerate.

2018-02-16  Yao Qi  <yao.qi@linaro.org>

	* block.c (block_namespace_info): Inherit allocate_on_obstack.
	(block_initialize_namespace): Use new.
	* dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
	(dwarf2_free_objfile): Use delete.
	* gdbtypes.c (type_pair): Inherit allocate_on_obstack.
	(copy_type_recursive): Use new.
	* gdb_obstack.h (allocate_on_obstack): New.

2018-02-15  Yao Qi  <yao.qi@linaro.org>

	PR gdb/22849
	* inferior.c (exit_inferior_1): Reset inf->control.

2018-02-15  Joel Brobecker  <brobecker@adacore.com>

	* ada-lang.c (ada_to_fixed_value_create): Delete advance
	declaration.

2018-02-14  Pedro Alves  <palves@redhat.com>

	* frame-unwind.c (frame_unwind_try_unwinder): Always call
	frame_cleanup_after_sniffer on exception.

2018-02-14  Tom Tromey  <tom@tromey.com>

	* solist.h (struct target_so_ops) <bfd_open>: Make pathname
	const.
	(solib_bfd_open): Make pathname const.
	* solib.c (solib_bfd_open): Make pathname const.
	* solib-spu.c (spu_bfd_fopen): Make name const.
	(spu_bfd_open): Make pathname const.
	* solib-darwin.c (darwin_bfd_open): Make pathname const.
	* solib-aix.c (solib_aix_bfd_open): Make pathname const.

2018-02-14  Tom Tromey  <tom@tromey.com>

	* symfile.c (symfile_bfd_open): Update.
	* source.h (openp, source_full_path_of, find_and_open_source):
	Change argument type to unique_xmalloc_ptr.
	* source.c (openp): Take a unique_xmalloc_ptr.
	(source_full_path_of, find_and_open_source): Likewise.
	(open_source_file, symtab_to_fullname): Update.
	* solist.h (struct target_so_ops) <find_and_open_solib>: Take a
	unique_xmalloc_ptr.
	* solib.c (solib_find_1): Use unique_xmalloc_ptr.
	(exec_file_find): Update.
	* psymtab.c (psymtab_to_fullname): Update.
	* nto-tdep.h (nto_find_and_open_solib): Update.
	* nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
	unique_xmalloc_ptr.
	* exec.c (exec_file_attach): Update.
	* dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
	* cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.

2018-02-14  Tom Tromey  <tom@tromey.com>

	* solib.c: Include source.h.
	* nto-tdep.c: Include source.h.
	* mi/mi-cmd-env.c: Include source.h.
	* infcmd.c: Include source.h.
	* exec.c: Include source.h.
	* defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
	(add_path, directory_switch, source_path, init_source_path): Move
	declarations...
	* source.h (enum openp_flag, openp, source_full_path_of, mod_path)
	(add_path, directory_switch, source_path, init_source_path):
	...here.

2018-02-14  Tom Tromey  <tom@tromey.com>

	* solist.h (exec_file_find, solib_find): Return
	unique_xmalloc_ptr.
	(solib_bfd_fopen): Take a const char *.
	* solib.c (solib_find_1): Return unique_xmalloc_ptr.
	(exec_file_find, solib_find): Likewise.
	(solib_bfd_fopen): Do not take ownership of "pathname".
	(solib_bfd_open): Use unique_xmalloc_ptr.
	* solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
	* solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
	* infrun.c (follow_exec): Use unique_xmalloc_ptr.
	* exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.

2018-02-14  Joel Brobecker  <brobecker@adacore.com>

	* ada-lang.c (name_match_type_from_name): Remove reference to
	ada_name_for_lookup in function's documentation.
	* ada-lang.h (ada_name_for_lookup): Delete declaration.

2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>

	* defs.h (enum openp_flags): New enum.
	(OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
	Move to enum openp_flags.
	(openp_flags): New enum flags.
	(openp): Change parameter type to openp_flags.
	* source.c (openp): Change parameter type to openp_flags.
	* cli/cli-cmds.c (find_and_open_script): Use openp_flags.
	* dwarf2read.c (try_open_dwop_file): Use openp_flags.

2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>

	* maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
	per-command.

2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>

	* dwarf2read.c (dwarf2_release_queue): Delete function, move body
	into...
	(class dwarf2_queue_guard): ...the destructor of this new class.
	(dw2_do_instantiate_symtab): Create instance of the new class
	dwarf2_queue_guard, remove cleanup.

2018-02-09  Tom Tromey  <tom@tromey.com>

	* source.c (find_source_lines): Don't reference past the end of
	the vector.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* remote.c (remote_btrace_maybe_reopen): Change error message.
	* btrace.c (btrace_enable): Likewise.
	(parse_xml_btrace): Likewise.
	(parse_xml_btrace_conf): Likewise.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
	(linux_enable_pt, linux_enable_bts): Call
	diagnose_perf_event_open_fail.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
	Remove parameter and change return type.  Update callers.  Move it.
	(linux_enable_bts, linux_enable_pt): Improve error message.
	(linux_enable_pt): Remove zero buffer size check.
	(linux_enable_btrace): Improve error messages.  Remove NULL return
	check.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* btrace.c (btrace_enable): Remove target_supports_btrace call.
	* nat/linux-btrace.c (perf_event_pt_event_type): Move.
	(kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
	(linux_supports_pt, linux_supports_btrace): Remove.
	(linux_enable_bts): Call cpu_supports_bts.
	* nat/linux-btrace.h (linux_supports_btrace): Remove.
	* remote.c (remote_supports_btrace): Remove.
	(init_remote_ops): Remove remote_supports_btrace.
	* target-delegates.c: Regenerated.
	* target.c (target_supports_btrace): Remove.
	* target.h (target_ops) <to_supports_btrace>: Remove
	(target_supports_btrace): Remove.
	* x86-linux-nat.c (x86_linux_create_target): Remove
	linux_supports_btrace.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
	btrace failed.
	* x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
	exception and use message in own exception.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
	(perf_event_pt_event_type): Use gdb_file_up.
	(linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
	scoped_fd, and scoped_mmap.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* common/scoped_mmap.h: New.
	* unittests/scoped_mmap-selftest.c: New.
	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
	unittests/scoped_mmap-selftest.c.

2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>

	* common/scoped_fd.h: New.
	* unittests/scoped_fd-selftest.c: New.
	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
	unittests/scoped_fd-selftest.c.

2018-02-09  Tom Tromey  <tom@tromey.com>

	* auto-load.c (auto_load_section_scripts): Use
	gdb::unique_xmalloc_ptr.

2018-02-09  Tom Tromey  <tom@tromey.com>

	* auto-load.c (execute_script_contents): Use std::string.

2018-02-09  Joel Brobecker  <brobecker@adacore.com>

	* NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
	Python function, rather than a new command.

2018-02-08  Tom Tromey  <tom@tromey.com>

	* solib.c (solib_find_1): Use std::string.
	(solib_bfd_fopen): Use unique_xmalloc_ptr.

2018-02-08  Tom Tromey  <tom@tromey.com>

	* build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.

2018-02-08  Tom Tromey  <tom@tromey.com>

	* source.c (find_source_lines): Use gdb::def_vector.

2018-02-08  Tom Tromey  <tom@tromey.com>

	* macrocmd.c (struct temporary_macro_definition): New.
	(macro_define_command): Use temporary_macro_definition.  Remove
	cleanups.
	(free_macro_definition_ptr): Remove.

2018-02-08  Tom Tromey  <tom@tromey.com>

	* macroexp.c (maybe_expand): Use std::string.

2018-02-08  Tom Tromey  <tom@tromey.com>

	* macroexp.c (struct macro_buffer): Add initializers for some
	members.
	(init_buffer, init_shared_buffer, free_buffer)
	(free_buffer_return_text): Remove.
	(macro_buffer): New constructors.
	(~macro_buffer): New destructor.
	(macro_buffer::set_shared): New method.
	(macro_buffer::resize_buffer, macro_buffer::appendc)
	(macro_buffer::appendmem): Now methods, not free functions.
	(set_token, append_tokens_without_splicing, stringify)
	(macro_stringify): Update.
	(gather_arguments): Change return type.  Remove argc_p argument,
	add args_ptr argument.  Use std::vector.
	(substitute_args): Remove argc argument.  Accept std::vector.
	(expand): Update.  Use std::vector.
	(scan, macro_expand, macro_expand_next): Update.

2018-02-08  Tom Tromey  <tom@tromey.com>

	* symtab.c (default_collect_symbol_completion_matches_break_on):
	Use unique_xmalloc_ptr.
	* macroscope.h: (sal_macro_scope, user_macro_scope)
	(default_macro_scope): Return unique_xmalloc_ptr.
	* macroscope.c (sal_macro_scope, user_macro_scope)
	(default_macro_scope): Return unique_xmalloc_ptr.
	* macroexp.h (macro_expand, macro_expand_once): Return
	unique_xmalloc_ptr.
	* macroexp.c (macro_expand, macro_expand_once): Return
	unique_xmalloc_ptr.
	* macrocmd.c (macro_expand_command, macro_expand_once_command)
	(info_macro_command, info_macros_command): Use
	unique_xmalloc_ptr.
	* compile/compile-c-support.c (write_macro_definitions): Use
	unique_xmalloc_ptr.
	* c-exp.y (c_parse): Use unique_xmalloc_ptr.

2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>

	* value.c (value_static_field): Assign field type instead of
	containing type when returning an optimized out value.

2018-02-06  Yao Qi  <yao.qi@linaro.org>

	* ft32-tdep.c (ft32_read_pc): Remove.
	(ft32_write_pc): Remove.
	(ft32_gdbarch_init): Update.
	* m32r-tdep.c (m32r_read_pc): Remove.
	(m32r_gdbarch_init): Update.
	* mep-tdep.c (mep_read_pc): Remove.
	(mep_gdbarch_init): Update.
	* microblaze-tdep.c (microblaze_write_pc): Remove.
	(microblaze_gdbarch_init): Update.
	* mn10300-tdep.c (mn10300_read_pc): Remove.
	(mn10300_write_pc): Remove.
	(mn10300_gdbarch_init): Update.
	* moxie-tdep.c (moxie_read_pc): Remove.
	(moxie_write_pc): Remove.
	(moxie_gdbarch_init): Update.

2018-02-06  Yao Qi  <yao.qi@linaro.org>

	* expprint.c (print_subexp_standard): Handle
	OP_F77_UNDETERMINED_ARGLIST.
	(dump_subexp_body_standard): Likewise.

2018-02-05  Alan Hayward  <alan.hayward@arm.com>

	* target-descriptions.c (tdesc_element_visitor) Add empty
	implementations.
	(tdesc_type): Move make_gdb_type from here.
	(tdesc_type_builtin): Likewise.
	(tdesc_type_vector): Likewise.
	(tdesc_type_with_fields): Move make_gdb_type_ functions from here.
	(make_gdb_type_struct): Move from tdesc_type_with_fields.
	(make_gdb_type_union): Likewise.
	(make_gdb_type_flags): Likewise.
	(make_gdb_type_enum): Likewise.
	(make_gdb_type): New function.
	(tdesc_register_type): Use static make_gdb_type.

2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>

	* infcmd.c (default_print_one_register_info): Align natural-format
	column values consistently one under another.
	(pad_to_column): New function.

2018-02-05  Joel Brobecker  <brobecker@adacore.com>

	* dwarf2read.c (dwarf2_physname): Move commment.

2018-02-01  Leszek Swirski  <leszeks@google.com>

	* varobj.c (varobj_formatted_print_options): Allow recursive
	pretty printing if pretty printing is enabled.

2018-02-01  Leszek Swirski  <leszeks@google.com>

	* c-exp.y (lex_one_token, classify_name, yylex): Don't classify
	names after a structop as a filename.

2018-02-01  Yao Qi  <yao.qi@linaro.org>

	* arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
	(arm_record_coproc_data_proc): Likewise.

2018-02-01  Yao Qi  <yao.qi@linaro.org>

	* arm-tdep.c (arm_record_extension_space): Change ret to signed.

2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>

	* rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
	assign shifted lr_reg to fdata->lr_register when lr_reg is set.

2018-01-31  Pedro Alves  <palves@redhat.com>

	* darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
	* inflow.c (child_terminal_save_inferior): Wrap reference to
	tcgetpgrp in HAVE_TERMIOS_H.
	(child_interrupt, child_pass_ctrlc): Wrap references to signal in
	_WIN32.
	* remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
	always iterate over all inferiors.
	(gdbsim_cntrl_c): Adjust.
	* windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.

2018-01-31  Joel Brobecker  <brobecker@adacore.com>

	* gdbtypes.c (lookup_array_range_type): Make sure the array's
	index type is objfile-owned if the element type is as well.

2018-01-31  Joel Brobecker  <brobecker@adacore.com>

	GDB 8.1 released.

2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
	"features/s390x-linux64.c".
	(_initialize_s390_linux_tdep): Remove initialization of tdescs
	s390_linux32 and s390x_linux64.
	(s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
	default tdesc.
	* s390-tdep.c: Include "features/s390-linux32.c" and
	"features/s390x-linux64.c".
	(s390_tdesc_valid): Add check for tdesc_has_registers.
	(s390_gdbarch_init): Make sure there is always a valid tdesc.
	(_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
	tdesc_s390x_linux64.
	* s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
	tdesc_s390x_linux64 to...
	* s390-tdep.h: ...here.

2018-01-30  Pedro Alves  <palves@redhat.com>

	PR gdb/13211
	* config.in, configure: Regenerate.
	* configure.ac: Check for getpgid.
	* go32-nat.c (go32_pass_ctrlc): New.
	(go32_target): Install it.
	* inf-child.c (inf_child_target): Install
	child_terminal_save_inferior, child_pass_ctrlc and
	child_interrupt.
	* inf-ptrace.c (inf_ptrace_interrupt): Delete.
	(inf_ptrace_target): No longer install it.
	* infcmd.c (interrupt_target_1): Adjust.
	* inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
	(child_interrupt): Declare.
	(inferior::terminal_state): New.
	* inflow.c (struct terminal_info): Update comments.
	(inferior_process_group): Delete.
	(terminal_is_ours): Delete.
	(gdb_tty_state): New.
	(child_terminal_init): Adjust.
	(is_gdb_terminal, sharing_input_terminal_1)
	(sharing_input_terminal): New functions.
	(child_terminal_inferior): Adjust.  Use sharing_input_terminal.
	Set the process's actual process group in the foreground if
	possible.  Handle is_ours_for_output/is_ours distinction.  Don't
	mark terminal as the inferior's if not sharing GDB's terminal.
	Don't check attach_flag.
	(child_terminal_ours_for_output, child_terminal_ours): Adjust to
	pass down a target_terminal_state.
	(child_terminal_save_inferior): New, factored out from ...
	(child_terminal_ours_1): ... this.  Handle
	target_terminal_state::is_ours_for_output.
	(child_interrupt, child_pass_ctrlc): New.
	(inflow_inferior_exit): Clear the inferior's terminal_state.
	(copy_terminal_info): Copy the inferior's terminal state.
	(_initialize_inflow): Remove reference to terminal_is_ours.
	* inflow.h (inferior_process_group): Delete.
	* nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
	* procfs.c (procfs_target): Don't install procfs_interrupt.
	(procfs_interrupt): Delete.
	* remote.c (remote_serial_quit_handler): Adjust.
	(remote_interrupt): Remove ptid parameter.  Adjust.
	* target-delegates.c: Regenerate.
	* target.c: Include "terminal.h".
	(target_terminal::terminal_state): Rename to ...
	(target_terminal::m_terminal_state): ... this.
	(target_terminal::init): Adjust.
	(target_terminal::inferior): Adjust to per-inferior
	terminal_state.
	(target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
	(target_terminal::ours, target_terminal::ours_for_output): Use
	target_terminal_is_ours_kind.
	(target_interrupt): Remove ptid parameter.  Adjust.
	(default_target_pass_ctrlc): Adjust.
	* target.h (target_ops::to_terminal_save_inferior): New field.
	(target_ops::to_interrupt): Remove ptid_t parameter.
	(target_interrupt): Remove ptid_t parameter.  Update comment.
	(target_pass_ctrlc): Update comment.
	* target/target.h (target_terminal_state): New scoped enum,
	factored out of ...
	(target_terminal::terminal_state): ... here.
	(target_terminal::inferior): Update comments.
	(target_terminal::restore_inferior): New.
	(target_terminal::is_inferior, target_terminal::is_ours)
	(target_terminal::is_ours_for_output): Adjust.
	(target_terminal::scoped_restore_terminal_state): Adjust to
	rename, and call restore_inferior() instead of inferior().
	(target_terminal::scoped_restore_terminal_state::m_state): Change
	type.
	(target_terminal::terminal_state): Rename to ...
	(target_terminal::m_terminal_state): ... this and change type.

2018-01-30  Pedro Alves  <palves@redhat.com>

	* linux-nat.c (wait_for_signal): New function.
	(wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
	directly.
	(async_terminal_is_ours)
	(linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
	(linux_nat_add_target): Don't override
	to_terminal_inferior/to_terminal_ours.

2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>

	* remote.c (remote_follow_fork): Don't call "detach_inferior".

2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>

	* dwarf2read.c (free_dwo_files): Add forward-declaration.
	(dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
	dwarf2_per_objfile_free here.
	(dwarf2_per_objfile_free): Remove.
	(_initialize_dwarf2_read): Don't register
	dwarf2_per_objfile_free as a registry cleanup.

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation errors in MinGW native builds

	The error is triggered by including python-internal.h, and the
	error message is:

	     In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
		      from build-gnulib/import/math.h:27,
		      from d:/usr/Python26/include/pyport.h:235,
		      from d:/usr/Python26/include/Python.h:58,
		      from python/python-internal.h:94,
		      from python/py-arch.c:24:
	     d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
	using ::hypot;
		^~~~~

	This happens because Python headers define 'hypot' to expand t
	'_hypot' in the Windows builds.
	* python/python-internal.h (_hypot) [__MINGW32__]: Define back to
	'hypoth'.  This avoids a compilation error.

2018-01-26  Alan Hayward  <alan.hayward@arm.com>

	* MAINTAINERS (Write After Approval): Fix ordering.

2018-01-26  Alan Hayward  <alan.hayward@arm.com>

	* MAINTAINERS (Write After Approval): Add Alan Hayward.

2018-01-26  Alan Modra  <amodra@gmail.com>

	* ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
	(powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
	Remove nop.  Make const.  Comment.
	(powerpc32_plt_stub_so_2): New.
	(POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
	Correct count.  Update uses.
	(ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
	Move common code reading PLT entry word.  Correct
	powerpc32_plt_stub PLT address calculation.
	* ppc64-tdep.c (ppc64_standard_linkage1): Make const.
	(ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
	(ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
	(ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
	(ppc64_standard_linkage8): Likewise.
	* rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
	Correct insns description.
	* ppc-tdep.h (ppc_insns_match_pattern): Update prototype.

2018-01-24  Pedro Alves  <palves@redhat.com>

	GCC PR libstdc++/83906
	* gdbtypes.c (operator==(const dynamic_prop &,
	const dynamic_prop &)): New.
	(operator==(const range_bounds &, const range_bounds &)): New.
	(check_types_equal): Use them instead of memcmp.
	* gdbtypes.h (operator==(const dynamic_prop &,
	const dynamic_prop &)): Declare.
	(operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
	(operator==(const range_bounds &, const range_bounds &)): Declare.
	(operator!=(const range_bounds &, const range_bounds &)): Declare.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (s390_record_address_mask)
	(s390_record_calc_disp_common, s390_record_calc_disp)
	(s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
	(s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
	(s390_process_record): Move to s390-tdep.c.
	(s390_linux_init_abi_any): Adjust.
	* s390-tdep.c (s390_record_address_mask)
	(s390_record_calc_disp_common, s390_record_calc_disp)
	(s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
	(s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
	(s390_process_record): Moved from s390-linux-tdep.c
	(s390_gdbarch_init): Adjust.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-nat.c (s390-tdep.h): New include.
	* Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
	(HFILES_NO_SRCDIR): Add s390-tdep.h.
	(ALLDEPFILES): Add s390-tdep.c.
	* configure.tgt (s390*-*-linux*): Add s390-tdep.o.
	* s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
	* s390-tdep.h: ...this.  New file.
	* s390-linux-tdep.c (s390-tdep.h): New include.
	(_initialize_s390_tdep): Rename to...
	(_initialize_s390_linux_tdep): ...this and adjust.
	(s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
	(enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
	s390-tdep.h.
	(s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
	(is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
	(s390_is_partial_instruction, s390_software_single_step)
	(is_non_branch_ril, s390_displaced_step_copy_insn)
	(s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
	(s390_prologue_data, s390_addr, s390_store, s390_load)
	(s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
	(s390_register_call_saved, s390_guess_tracepoint_registers)
	(s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
	(regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
	(s390_pseudo_register_name, s390_pseudo_register_type)
	(s390_pseudo_register_read, s390_pseudo_register_write)
	(s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
	(s390_ax_pseudo_register_push_stack, s390_gen_return_address)
	(s390_addr_bits_remove, s390_address_class_type_flags)
	(s390_address_class_type_flags_to_name)
	(s390_address_class_name_to_type_flags, s390_effective_inner_type)
	(s390_function_arg_float, s390_function_arg_vector)
	(is_power_of_two, s390_function_arg_integer, s390_arg_state)
	(s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
	(s390_frame_align, s390_register_return_value, s390_return_value)
	(s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
	(s390_unwind_pseudo_register, s390_adjust_frame_regnum)
	(s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
	(s390_trad_frame_prev_register, s390_unwind_cache)
	(s390_prologue_frame_unwind_cache)
	(s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
	(s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
	(s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
	(s390_stub_frame_this_id, s390_stub_frame_prev_register)
	(s390_stub_frame_sniffer, s390_stub_frame_unwind)
	(s390_frame_base_address, s390_local_base_address)
	(s390_frame_base, s390_gcc_target_options)
	(s390_gnu_triplet_regexp, s390_stap_is_single_operand)
	(s390_validate_reg_range, s390_tdesc_valid)
	(s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
	* s390-tdep.c: ...this.  New file.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
	(s390_process_record, s390_gdbarch_tdep_alloc)
	(s390_linux_init_abi_any): Use/set new hook.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (osabi.h): New include.
	(s390_linux_init_abi_31, s390_linux_init_abi_64)
	(s390_linux_init_abi_any): New functions.
	(s390_gdbarch_init, _initialize_s390_tdep): Adjust.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
	tdesc_has_registers check

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (s390_tdesc_valid): New function.
	(s390_validate_reg_range): New macro.
	(s390_gdbarch_init): Adjust.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
	(s390_gdbarch_tdep_alloc): Adjust.
	(s390_gdbarch_init): Adjust.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
	<have_tdb>: Change type to bool.
	(s390_gdbarch_tdep_alloc): Adjust.
	(s390_gdbarch_init): Adjust.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
	(gdbarch_tdep) <have_upper, have_vx>: New fields.
	(s390_gdbarch_tdep_alloc): New function.
	(s390_gdbarch_init): Allocate tdep at start and use its fields
	instead of separate variables.

2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>

	* s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
	when looking for cached gdbarch and add comment for remaining.

2018-01-22  Pedro Alves  <palves@redhat.com>
	    Sergio Durigan Junior  <sergiodj@redhat.com>

	* typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
	case.

2018-01-22  Maciej W. Rozycki  <macro@mips.com>

	* MAINTAINERS: Update my company e-mail address.

2018-01-22  Yao Qi  <yao.qi@linaro.org>

	* regcache.c (cooked_write_test): New function.
	(_initialize_regcache): Register the test.

2018-01-22  Yao Qi  <yao.qi@linaro.org>

	* ia64-tdep.c (ia64_pseudo_register_read): Call
	regcache->cooked_read instead of regcache_cooked_read_unsigned.
	* m32c-tdep.c (m32c_cat_read): Likewise.
	(m32c_r3r2r1r0_read): Likewise.
	* m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
	* xtensa-tdep.c (xtensa_register_read_masked): Likewise.

2018-01-22  Yao Qi  <yao.qi@linaro.org>

	* aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
	method raw_read instead of regcache_raw_read.
	* amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
	* arm-tdep.c (arm_neon_quad_read): Likewise.
	* avr-tdep.c (avr_pseudo_register_read): Likewise.
	* bfin-tdep.c (bfin_pseudo_register_read): Likewise.
	* frv-tdep.c (frv_pseudo_register_read): Likewise.
	* h8300-tdep.c (h8300_pseudo_register_read): Likewise.
	* i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
	(i386_pseudo_register_read_into_value): Likewise.
	* mep-tdep.c (mep_pseudo_cr32_read): Likewise.
	* msp430-tdep.c (msp430_pseudo_register_read): Likewise.
	* nds32-tdep.c (nds32_pseudo_register_read): Likewise.
	* rl78-tdep.c (rl78_pseudo_register_read): Likewise.
	* s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
	* sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
	* sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
	* spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
	* xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.

2018-01-22  Yao Qi  <yao.qi@linaro.org>

	* Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
	* configure.tgt: Remove target mt.
	* mt-tdep.c: Remove.
	* regcache.c (cooked_read_test): Remove the check for mt.

2018-01-22  Yao Qi  <yao.qi@linaro.org>

	* jit.c (jit_frame_prev_register): Call regcache::cooked_read
	instead of gdbarch_pseudo_register_read_value.

2018-01-22  Joel Brobecker  <brobecker@adacore.com>

	* dwarf2read.c (need_gnat_info): Return nonzero if the cu's
	language is Ada.

2018-01-22  Joel Brobecker  <brobecker@adacore.com>

	* linespec.c (create_sals_line_offset): Remove code that preserved
	the symtab_and_line's line number.

2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* varobj.c (varobj_create): Don't set valid_block when creating a
	floating varobj.

2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* varobj.c (varobj_create): Remove out of date comment.

2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	PR mi/20395
	* ada-exp.y (write_var_from_sym): Pass extra parameter when
	updating innermost block.
	* parse.c (innermost_block_tracker::update): Take extra type
	parameter, and check types match before updating innermost block.
	(write_dollar_variable): Update innermost block for registers.
	* parser-defs.h (enum innermost_block_tracker_type): New enum.
	(innermost_block_tracker::innermost_block_tracker): Initialise
	m_types member.
	(innermost_block_tracker::reset): Take type parameter.
	(innermost_block_tracker::update): Take type parameter, and pass
	type through as needed.
	(innermost_block_tracker::m_types): New member.
	* varobj.c (varobj_create): Pass type when reseting innermost
	block.

2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* ada-exp.y (write_var_from_sym): Switch to innermost_block API.
	* ada-lang.c (resolve_subexp): Likewise.
	* breakpoint.c (set_breakpoint_condition) Likewise.
	(watch_command_1) Likewise.
	* c-exp.y (variable): Likewise.
	* d-exp.y (PrimaryExpression): Likewise.
	* f-exp.y (variable): Likewise.
	* go-exp.y (variable): Likewise.
	* m2-exp.y (variable): Likewise.
	* objfiles.c (objfile::~objfile): Likewise.
	* p-exp.y (variable): Likewise.
	* parse.c (innermost_block): Change type.
	* parser-defs.h (class innermost_block_tracker): New.
	(innermost_block): Change to innermost_block_tracker.
	* printcmd.c (display_command): Switch to innermost_block API.
	(do_one_display): Likewise.
	* rust-exp.y (do_one_display): Likewise.
	* symfile.c (clear_symtab_users): Likewise.
	* varobj.c (varobj_create): Switch to innermost_block API, replace
	use of innermost_block with block stored on varobj object.

2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* expression.h (innermost_block): Remove declaration.
	* varobj.c: Add 'parser-defs.h' include.

2018-01-19  Tom Tromey  <tom@tromey.com>

	* rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
	symbols in the static and global blocks.

2018-01-19  James Clarke  <jrtc27@jrtc27.com>

	* nat/linux-ptrace.c: Remove unnecessary reinclusion of
	gdb_ptrace.h, and move including gdb_wait.h ...
	* nat/linux-ptrace.h: ... to here.

2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>

	* inf-ptrace.c (inf_ptrace_detach): Adjust call to
	inf_ptrace_detach_success.
	(inf_ptrace_detach_success): Add inferior parameter, use it
	instead of inferior_ptid, pass it to detach_inferior.
	* inf-ptrace.h (inf_ptrace_detach_success): Add inferior
	parameter.
	* inferior.c (detach_inferior): Add overload that takes an
	inferior object.
	* inferior.h (detach_inferior): Likewise.
	* linux-nat.c (linux_nat_detach): Use the inf parameter, don't
	use inferior_ptid, adjust call to inf_ptrace_detach_success.
	* linux-thread-db.c (thread_db_detach): Use inf parameter.

2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>

	* target.h (struct target_ops) <to_detach>: Add inferior
	parameter.
	(target_detach): Likewise.
	* target.c (dispose_inferior): Pass inferior down.
	(target_detach): Pass inferior down.  Assert that it is equal to
	the current inferior.
	* aix-thread.c (aix_thread_detach): Pass inferior down.
	* corefile.c (core_file_command): Pass current_inferior() down.
	* corelow.c (core_detach): Add inferior parameter.
	* darwin-nat.c (darwin_detach): Likewise.
	* gnu-nat.c (gnu_detach): Likewise.
	* inf-ptrace.c (inf_ptrace_detach): Likewise.
	* infcmd.c (detach_command): Pass current_inferior() down to
	target_detach.
	* infrun.c (follow_fork_inferior): Pass parent_inf to
	target_detach.
	(handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
	target_detach.
	* linux-nat.c (linux_nat_detach): Add inferior parameter.
	* linux-thread-db.c (thread_db_detach): Likewise.
	* nto-procfs.c (procfs_detach): Likewise.
	* procfs.c (procfs_detach): Likewise.
	* record.c (record_detach): Likewise.
	* record.h (struct inferior): Forward-declare.
	(record_detach): Add inferior parameter.
	* remote-sim.c (gdbsim_detach): Likewise.
	* remote.c (remote_detach_1): Likewise.
	(remote_detach): Likewise.
	(extended_remote_detach): Likewise.
	* sol-thread.c (sol_thread_detach): Likewise.
	* target-debug.h (target_debug_print_inferior_p): New macro.
	* target-delegates.c: Re-generate.
	* top.c (kill_or_detach): Pass inferior down to target_detach.
	* windows-nat.c (windows_detach): Add inferior parameter.

2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>

	* target.h (struct target_ops) <to_detach>: Remove args
	parameter.
	(target_detach): Likewise.
	* target.c (dispose_inferior): Adjust.
	(target_detach): Remove args parameter, adjust.
	* aix-thread.c (aix_thread_detach): Adjust.
	* corefile.c (core_file_command): Adjust.
	* corelow.c (core_detach): Adjust.
	* darwin-nat.c (darwin_detach): Adjust.
	* gnu-nat.c (gnu_detach): Adjust.
	* inf-ptrace.c (inf_ptrace_detach): Adjust.
	* infcmd.c (detach_command): Adjust
	* infrun.c (follow_fork_inferior): Adjust.
	(handle_vfork_child_exec_or_exit): Adjust.
	* linux-fork.c (linux_fork_detach): Remove args parameter.
	* linux-fork.h (linux_fork_detach): Likewise.
	* linux-nat.c (linux_nat_detach): Likewise, and adjust.
	* linux-thread-db.c (thread_db_detach): Likewise.
	* nto-procfs.c (procfs_detach): Likewise.
	* procfs.c (procfs_detach): Likewise.
	(do_detach): Remove signo parameter.
	* record.c (record_detach): Remove args parameter.
	* record.h (record_detach): Likewise.
	* remote-sim.c (gdbsim_detach): Likewise.
	* remote.c (remote_detach_1): Likewise.
	(remote_detach): Likewise.
	(extended_remote_detach): Likewise.
	* sol-thread.c (sol_thread_detach): Likewise.
	* target-delegates.c: Re-generate.
	* top.c (struct qt_args) <args>: Remove field.
	(kill_or_detach): Don't pass args.
	(quit_force): Don't set args.
	* windows-nat.c (windows_detach): Remove args parameter.

2018-01-19  Yao Qi  <yao.qi@linaro.org>

	* arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
	(arm_linux_init_abi): Install it.

2018-01-19  Yao Qi  <yao.qi@linaro.org>

	* osabi.c (gdb_osabi_names): Extend the regexp for
	arm-linux-gnueabihf.

2018-01-18  Yao Qi  <yao.qi@linaro.org>

	* dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
	m_abbrevs.
	(abbrev_table::add_abbrev): Update.
	(abbrev_table::lookup_abbrev): Update.

2018-01-18  Yao Qi  <yao.qi@linaro.org>

	* ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.

2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>

	* compile/compile.c (compile_to_object): Convert "triplet_rx"
	to "std::string".

2018-01-17  Tom Tromey  <tom@tromey.com>

	* dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.

2018-01-17  Tom Tromey  <tom@tromey.com>

	* gdbtypes.h (add_dyn_prop): Remove objfile parameter.
	* gdbtypes.c (add_dyn_prop): Remove objfile parameter.
	(create_array_type_with_stride): Update.
	* dwarf2read.c (set_die_type): Update.

2018-01-17  Tom Tromey  <tom@tromey.com>

	* dwarf2read.c (delayed_method_info): Remove typedef.
	(dwarf2_cu::method_info): Now a std::vector.
	(add_to_method_list): Update.
	(free_delayed_list): Remove.
	(compute_delayed_physnames): Update.
	(process_full_comp_unit, process_full_type_unit): Clear the method
	list.  Remove cleanups.
	(psymtab_include_file_name): Add name_holder parameter.  Use
	unique_xmalloc_ptr.
	(dwarf_decode_lines): Update.

2018-01-17  Tom Tromey  <tom@tromey.com>
	    Simon Marchi  <simon.marchi@ericsson.com>

	* dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
	(dwarf2_per_objfile::free_cached_comp_units)
	(init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
	(init_cutu_and_read_dies_no_follow): Update.
	(dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
	(dwarf2_cu::~dwarf2_cu): New.
	(free_heap_comp_unit, free_stack_comp_unit): Remove.
	(age_cached_comp_units, free_one_cached_comp_unit): Update.

2018-01-17  Tom Tromey  <tom@tromey.com>
	    Simon Marchi  <simon.marchi@ericsson.com>

	* dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
	(struct die_reader_specs) <abbrev_table>: New member.
	(struct abbrev_table): Add constructor.
	<alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
	<abbrev_obstack>: Now an auto_obstack.
	(abbrev_table_up): New typedef.
	(init_cu_die_reader): Add abbrev_table parameter.
	(read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
	Add result_dwo_abbrev_table.
	(init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
	(init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
	Update.
	(peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
	parameter.
	(skip_children): Update.
	(abbrev_table::alloc_abbrev): Rename from
	abbrev_table_alloc_abbrev.
	(abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
	(abbrev_table::lookup_abbrev): Rename from
	abbrev_table_lookup_abbrev.
	(abbrev_table_read_table): Return abbrev_table_up.
	(abbrev_table_free, abbrev_table_free_cleanup)
	(dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
	(load_partial_dies): Update.

2018-01-17  Tom Tromey  <tom@tromey.com>

	* dwarf2read.c (dwarf2_compute_name): Update comment.
	(read_func_scope, read_variable): Update.
	(new_symbol): Remove.
	(new_symbol_full): Rename to new_symbol.

2018-01-17  Mike Gulick  <mgulick@mathworks.com>

	PR gdb/16577
	* gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
	a warning instead of throwing an error, set section size to 0 and return
	NULL.
	* gdb_bfd.h (gdb_bfd_map_section): Update description.

2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>

	* nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
	std::string.
	(linux_ptrace_attach_fail_reason_string): Likewise.
	* nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
	Likewise.
	(linux_ptrace_attach_fail_reason_string): Likewise.
	* linux-nat.c (attach_proc_task_lwp_callback): Adjust.

2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>

	* linux-nat.c (linux_nat_attach): Remove xstrdup.

2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>

	PR gdb/21559
	* configure.ac: Include <sys/types.h> prior to <sys/user.h> when
	checking for fs_base/gs_base fields in struct user_regs_struct.
	* configure: Regenerate.

2018-01-17  Yao Qi  <yao.qi@linaro.org>

	* aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
	function.
	(aarch64_linux_init_abi): Install it to gdbarch hook
	gcc_target_options.

2018-01-15  Pedro Alves  <palves@redhat.com>

	* common/signals-state-save-restore.c
	(save_original_signals_state): Fix typos.

2017-01-12  Tom Tromey  <tom@tromey.com>
	    Sergio Durigan Junior  <sergiodj@redhat.com>

	* Makefile.in (install-only): Install gdb-add-index.

2018-01-12  John Baldwin  <jhb@FreeBSD.org>

	* fbsd-tdep.c (KVE_PROTECTION): Correct value.

2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* infrun.c (keep_going_pass_signal): Clear step-over info when
	insert_breakpoints fails.

2018-01-11  Pedro Alves  <palves@redhat.com>

	PR gdb/22583
	* infrun.c (resume): Rename to ...
	(resume_1): ... this.
	(resume): Reimplement as wrapper around resume_1.

2018-01-11  Pedro Alves  <palves@redhat.com>

	PR remote/22597
	* remote.c (remote_parse_stop_reply): Default to the last-set
	general thread instead of to 'magic_null_ptid'.

2018-01-10  Pedro Alves  <palves@redhat.com>

	* language.h (language_get_symbol_name_matcher): Rename ...
	(get_symbol_name_matcher): ... this.
	* language.c (language_get_symbol_name_matcher): Ditto.
	* dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
	callers adjusted.

2018-01-10  Pedro Alves  <palves@redhat.com>

	PR gdb/22670
	* dwarf2read.c
	(gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
	Adjust to use language_get_symbol_name_matcher instead of
	language_defn::la_get_symbol_name_matcher.
	* language.c (language_get_symbol_name_matcher): If in Ada mode
	and the lookup name is a verbatim match, return Ada's matcher.
	* language.h (language_get_symbol_name_matcher): Adjust comment.
	(ada_lookup_name_info::verbatim_p):: New method.

2018-01-10  Pedro Alves  <palves@redhat.com>

	PR gdb/22670
	* ada-lang.c (ada_collect_symbol_completion_matches): If the
	minsym's language is language_auto or language_cplus, pass down
	language_ada instead.
	* symtab.c (compare_symbol_name): Don't frob symbol language here.

2018-01-10  Pedro Alves  <palves@redhat.com>

	PR gdb/22670
	* minsyms.c (linkage_name_str): New function.
	(iterate_over_minimal_symbols): Use it.

2018-01-09  John Baldwin  <jhb@FreeBSD.org>

	* NEWS: Document that 'info proc' now works on FreeBSD.

2018-01-09  John Baldwin  <jhb@FreeBSD.org>

	* configure.ac: Check for kinfo_getfile in libutil.
	* configure: Regenerate.
	* config.in: Regenerate.
	* fbsd-nat.c: Include "fbsd-tdep.h".
	(fbsd_fetch_cmdline): New.
	(fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
	rather than calling error.
	(fbsd_info_proc): New.
	(fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
	(fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
	(fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".

2018-01-09  John Baldwin  <jhb@FreeBSD.org>

	* fbsd-nat.c (struct free_deleter): Remove.
	(fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.

2018-01-09  John Baldwin  <jhb@FreeBSD.org>

	* fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
	NULL for an empty pathname.

2018-01-09  John Baldwin  <jhb@FreeBSD.org>

	* fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
	(KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
	(KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
	(KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
	(KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
	(KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
	(KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
	(KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
	(kinfo_proc_layout_32, kinfo_proc_layout_i386)
	(kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
	(fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
	(fbsd_core_fetch_timeval, fbsd_print_sigset)
	(fbsd_core_info_proc_status, fbsd_core_info_proc): New.
	(fbsd_init_abi):  Install gdbarch "core_info_proc" method.
	* fbsd-tdep.h (fbsd_vm_map_entry_flags): New.

2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* gdb/gnu-nat.c: Include <elf.h> and <link.h>.
	(gnu_xfer_auxv): New function.
	(gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
	TARGET_OBJECT_AUXV.

2018-01-08  Yao Qi  <yao.qi@linaro.org>
	    Simon Marchi  <simon.marchi@ericsson.com>

	* Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
	common/selftest.c.
	(COMMON_OBS): Remove selftest.o.
	* configure.ac: Append selftest-arch.c and common/selftest.c to
	CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
	* configure: Re-generated.
	* maint.c (maintenance_selftest): Wrap selftests::run_tests with
	GDB_SELF_TEST.
	(maintenance_info_selftests): Likewise.

2018-01-08  Xavier Roirand  <roirand@adacore.com>

	* ada-valprint.c (val_print_packed_array_elements): Use
	proper number of elements when printing an array indexed
	by an enumeration type.

2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>

	* dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
	(dw2_get_file_names_reader): Adjust.
	(lookup_dwo_signatured_type): Adjust.
	(lookup_dwp_signatured_type): Adjust.
	(lookup_signatured_type): Adjust.
	(create_type_unit_group): Adjust.
	(get_type_unit_group): Adjust.
	(process_psymtab_comp_unit_reader): Adjust.
	(build_type_psymtabs_reader): Adjust.
	(scan_partial_symbols): Adjust.
	(add_partial_symbol): Adjust.
	(add_partial_subprogram): Adjust.
	(peek_die_abbrev): Adjust.
	(fixup_go_packaging): Adjust.
	(process_imported_unit_die): Adjust.
	(dwarf2_compute_name): Adjust.
	(dwarf2_physname): Adjust.
	(read_import_statement): Adjust.
	(handle_DW_AT_stmt_list): Adjust.
	(read_file_scope): Adjust.
	(read_func_scope): Adjust.
	(read_lexical_block_scope): Adjust.
	(read_call_site_scope): Adjust.
	(read_variable): Adjust.
	(dwarf2_rnglists_process): Adjust.
	(dwarf2_ranges_process): Adjust.
	(dwarf2_ranges_read): Adjust.
	(dwarf2_get_pc_bounds): Adjust.
	(dwarf2_record_block_ranges): Adjust.
	(dwarf2_add_field): Adjust.
	(dwarf2_add_member_fn): Adjust.
	(read_structure_type): Adjust.
	(process_structure_scope): Adjust.
	(read_enumeration_type): Adjust.
	(read_array_type): Adjust.
	(mark_common_block_symbol_computed): Adjust.
	(read_common_block): Adjust.
	(read_namespace_type): Adjust.
	(read_namespace): Adjust.
	(read_module_type): Adjust.
	(read_tag_pointer_type): Adjust.
	(read_tag_ptr_to_member_type): Adjust.
	(read_tag_string_type): Adjust.
	(read_subroutine_type): Adjust.
	(read_typedef): Adjust.
	(read_base_type): Adjust.
	(attr_to_dynamic_prop): Adjust.
	(read_subrange_type): Adjust.
	(read_unspecified_type): Adjust.
	(dwarf2_read_abbrevs): Adjust.
	(load_partial_dies): Adjust.
	(read_partial_die): Adjust.
	(find_partial_die): Adjust.
	(guess_partial_die_structure_name): Adjust.
	(fixup_partial_die): Adjust.
	(read_attribute_value): Adjust.
	(read_addr_index): Adjust.
	(read_addr_index_from_leb128): Adjust.
	(read_str_index): Adjust.
	(dwarf2_string_attr): Adjust.
	(get_debug_line_section): Adjust.
	(dwarf_decode_line_header): Adjust.
	(lnp_state_machine::check_line_address): Adjust.
	(dwarf_decode_lines_1): Adjust.
	(dwarf_decode_lines): Adjust.
	(dwarf2_start_symtab): Adjust.
	(var_decode_location): Adjust.
	(new_symbol_full): Adjust.
	(dwarf2_const_value_data): Adjust.
	(dwarf2_const_value_attr): Adjust.
	(dwarf2_const_value): Adjust.
	(die_type): Adjust.
	(die_containing_type): Adjust.
	(build_error_marker_type): Adjust.
	(lookup_die_type): Adjust.
	(guess_full_die_structure_name): Adjust.
	(anonymous_struct_prefix): Adjust.
	(determine_prefix): Adjust.
	(dwarf2_name): Adjust.
	(follow_die_ref_or_sig): Adjust.
	(follow_die_offset): Adjust.
	(follow_die_ref): Adjust.
	(follow_die_sig_1): Adjust.
	(follow_die_sig): Adjust.
	(get_signatured_type): Adjust.
	(get_DW_AT_signature_type): Adjust.
	(decode_locdesc): Adjust.
	(dwarf_decode_macros): Adjust.
	(cu_debug_loc_section): Adjust.
	(fill_in_loclist_baton): Adjust.
	(dwarf2_symbol_mark_computed): Adjust.
	(init_one_comp_unit): Don't assign
	dwarf2_cu::dwarf2_per_objfile.
	(set_die_type): Adjust.

2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>

	* dwarf2read.c (struct mapped_debug_names): Add constructor.
	<dwarf2_per_objfile>: New field.
	(dwarf2_per_objfile): Remove global.
	(get_dwarf2_per_objfile): New function.
	(set_dwarf2_per_objfile): New function.
	(dwarf2_build_psymtabs_hard): Change objfile parameter to
	dwarf2_per_objfile.
	(abbrev_table_read_table): Add dwarf2_per_objfile parameter.
	(read_abbrev_offset): Likewise.
	(read_indirect_string): Likewise.
	(read_indirect_line_string): Likewise.
	(read_indirect_string_at_offset): Likewise.
	(read_indirect_string_from_dwz): Likewise.
	(dwarf2_find_containing_comp_unit): Change objfile parameter to
	dwarf2_per_objfile.
	(age_cached_comp_units): Add dwarf2_per_objfile parameter.
	(create_all_comp_units): Change objfile parameter to
	dwarf2_per_objfile.
	(create_all_type_units): Likewise.
	(process_queue): Add dwarf2_per_objfile parameter.
	(read_and_check_comp_unit_head): Likewise.
	(lookup_dwo_unit_in_dwp): Likewise.
	(get_dwp_file): Likewise.
	(process_cu_includes): Likewise.
	(struct free_dwo_file_cleanup_data): New struct.
	(dwarf2_has_info): Use get_dwarf2_per_objfile and
	set_dwarf2_per_objfile.
	(dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
	(dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
	context, adjust calls.
	(dw2_instantiate_symtab): Likewise.
	(dw2_get_cutu): Add dwarf2_per_objfile parameter.
	(dw2_get_cu): Likewise.
	(create_cu_from_index_list): Change objfile parameter to
	dwarf2_per_objfile.
	(create_cus_from_index_list): Get dwarf2_per_objfile from
	context, adjust calls.
	(create_cus_from_index): Likewise.
	(create_signatured_type_table_from_index): Change objfile
	parameter to dwarf2_per_objfile.
	(create_signatured_type_table_from_debug_names): Change objfile
	parameter to dwarf2_per_objfile.
	(create_addrmap_from_index): Likewise.
	(create_addrmap_from_aranges): Likewise.
	(dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
	(dw2_setup): Remove.
	(dw2_get_file_names_reader): Get dwarf2_per_objfile from
	context.
	(dw2_find_last_source_symtab): Get dwarf2_per_objfile using
	get_dwarf2_per_objfile.
	(dw2_forget_cached_source_info): Likewise.
	(dw2_map_symtabs_matching_filename): Likewise.
	(struct dw2_symtab_iterator) <index>: Remove.
	<dwarf2_per_objfile>: New field.
	(dw2_symtab_iter_init): Replace index parameter with
	dwarf2_per_objfile.
	(dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
	(dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
	(dw2_print_stats): Likewise.
	(dw2_dump): Likewise.
	(dw2_expand_symtabs_for_function): Likewise.
	(dw2_expand_all_symtabs): Likewise.
	(dw2_expand_symtabs_with_fullname): Likewise.
	(dw2_expand_marked_cus): Replace index and objfile parameters
	with dwarf2_per_objfile.
	(dw_expand_symtabs_matching_file_matcher): Add
	dwarf2_per_objfile parameter and adjust calls.
	(dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
	adjust calls.
	(dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
	(dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
	adjust calls.
	(create_cus_from_debug_names_list): Replace objfile parameter
	with dwarf2_per_objfile and adjust calls.
	(create_cus_from_debug_names): Likewise.
	(dwarf2_read_debug_names): Likewise.
	(mapped_debug_names::namei_to_name): Adjust call.
	(dw2_debug_names_iterator::next): Likewise.
	(dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
	(dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
	(dw2_debug_names_dump): Likewise.
	(dw2_debug_names_expand_symtabs_for_function): Likewise.
	(dw2_debug_names_expand_symtabs_matching): Likewise.
	(dwarf2_initialize_objfile): Likewise.
	(dwarf2_build_psymtabs): Likewise.
	(get_abbrev_section_for_cu): Get dwarf2_per_objfile from
	this_cu.
	(error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
	(read_and_check_comp_unit_head): Likewise.
	(read_abbrev_offset): Likewise.
	(create_debug_type_hash_table): Likewise.
	(create_debug_types_hash_table): Likewise.
	(create_all_type_units): Replace objfile parameter with
	dwarf2_per_objfile.
	(add_type_unit): Add dwarf2_per_objfile parameter.
	(fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
	with dwarf2_per_objfile.
	(lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
	(lookup_dwp_signatured_type): Likewise.
	(lookup_signatured_type): Likewise.
	(read_cutu_die_from_dwo): Likewise.
	(init_tu_and_read_dwo_dies): Likewise.
	(init_cutu_and_read_dies): Likewise.
	(init_cutu_and_read_dies_no_follow): Likewise.
	(allocate_type_unit_groups_table): Add objfile parameter.
	(create_type_unit_group): Use dwarf2_per_objfile from cu.
	(get_type_unit_group): Likewise.
	(process_psymtab_comp_unit): Update call.
	(build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
	(build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
	(print_tu_stats): Likewise.
	(build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
	in void* parameter.
	(build_type_psymtabs): Change objfile parameter to
	dwarf2_per_objfile.
	(process_skeletonless_type_unit): Use dwarf2_per_objfile
	passed in void* parameter.
	(process_skeletonless_type_units): Change objfile parameter to
	dwarf2_per_objfile.
	(set_partial_user): Likewise.
	(dwarf2_build_psymtabs_hard): Likewise.
	(read_comp_units_from_section): Likewise.
	(create_all_comp_units): Likewise.
	(scan_partial_symbols): Update calls.
	(add_partial_symbol): Likewise.
	(dwarf2_read_symtab): Use get_dwarf2_per_objfile.
	(maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
	(process_queue): Add dwarf2_per_objfile parameter.
	(get_compunit_symtab): Use dwarf2_per_objfile from cu.
	(compute_compunit_symtab_includes): Likewise.
	(process_cu_includes): Add dwarf2_per_objfile parameter.
	(process_full_comp_unit): Use dwarf2_per_objfile from cu.
	(process_full_type_unit): Likewise.
	(process_imported_unit_die): Update call.
	(handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
	(read_file_scope): Likewise.
	(allocate_dwo_file_hash_table): Add objfile parameter.
	(lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
	(create_cus_hash_table): Likewise.
	(create_dwp_hash_table): Likewise.
	(create_dwo_unit_in_dwp_v1): Likewise.
	(create_dwp_v2_section): Likewise.
	(create_dwo_unit_in_dwp_v2): Likewise.
	(lookup_dwo_unit_in_dwp): Likewise.
	(try_open_dwop_file): Likewise.
	(open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
	(open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
	cleanup to include a reference to dwarf2_per_objfile.
	(open_dwp_file): Add dwarf2_per_objfile parameter.
	(open_and_init_dwp_file): Likewise.
	(get_dwp_file): Likewise.
	(lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
	(queue_and_load_all_dwo_tus): Update call.
	(free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
	data.
	(dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
	(dwarf2_ranges_process): Likewise.
	(dwarf2_get_pc_bounds): Likewise.
	(mark_common_block_symbol_computed): Likewise.
	(abbrev_table_read_table): Add dwarf2_per_objfile parameter.
	(dwarf2_read_abbrevs): Update call.
	(read_partial_die): Use dwarf2_per_objfile from cu.
	(find_partial_die): Likewise.
	(fixup_partial_die): Likewise.
	(read_attribute_value): Likewise.
	(read_indirect_string_at_offset_from): Add objfile parameter.
	(read_indirect_string_at_offset): Add dwarf2_per_objfile
	parameter.
	(read_indirect_string_from_dwz): Add objfile parameter.
	(read_indirect_string): Add objfile parameter.
	(read_addr_index_1): Add dwarf2_per_objfile parameter.
	(read_addr_index): Use dwarf2_per_objfile from cu.
	(dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
	call dw2_setup.
	(read_str_index): Use dwarf2_per_objfile from cu.
	(get_debug_line_section): Likewise.
	(read_formatted_entries): Add dwarf2_per_objfile parameter.
	(dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
	(new_symbol_full): Use dwarf2_per_objfile from cu.
	(build_error_marker_type): Likewise.
	(lookup_die_type): Likewise.
	(determine_prefix): Likewise.
	(follow_die_offset): Likewise.
	(dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
	(dwarf2_fetch_constant_bytes): Don't call dw2_setup.
	(dwarf2_fetch_die_type_sect_off): Likewise.
	(dwarf2_get_die_type): Likewise.
	(follow_die_sig_1): Use dwarf2_per_objfile from cu.
	(get_signatured_type): Likewise.
	(get_DW_AT_signature_type): Likewise.
	(dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
	(dwarf_decode_macros): Use dwarf2_per_objfile from cu.
	(cu_debug_loc_section): Likewise.
	(fill_in_loclist_baton): Likewise.
	(dwarf2_symbol_mark_computed): Likewise.
	(dwarf2_find_containing_comp_unit): Change objfile parameter to
	dwarf2_per_objfile.
	(free_cached_comp_units): Use dwarf2_per_objfile passed in void*
	parameter.
	(age_cached_comp_units): Add dwarf2_per_objfile parameter.
	(free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
	(dwarf2_free_objfile): Use get_dwarf2_per_objfile.
	(set_die_type): Use dwarf2_free_objfile from cu.
	(get_die_type_at_offset): Likewise.
	(dwarf2_per_objfile_free): Don't assign global variable.
	(debug_names) <constructor>: Add dwarf2_per_objfile
	parameter, update m_debugstrlookup construction.
	(debug_names::debug_str_lookup): Add dwarf2_per_objfile
	parameter.
	<m_dwarf2_per_objfile>: New field.
	<lookup>: Use m_dwarf2_per_objfile.
	(check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
	(psyms_seen_size): Likewise.
	(write_gdbindex): Replace objfile parameter with
	dwarf2_per_objfile.
	(write_debug_names): Likewise.
	(write_psymtabs_to_index): Likewise.
	(save_gdb_index_command): Use get_dwarf2_per_objfile, update
	calls.

2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>

	* dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
	<dwarf2_per_objfile>: New field.
	(struct dwarf2_per_cu_data) <objfile>: Remove.
	<dwarf2_per_objfile>: New field.
	(create_cu_from_index_list): Assign dwarf2_per_objfile instead
	of objfile.
	(create_signatured_type_table_from_index): Likewise.
	(create_debug_type_hash_table): Likewise.
	(fill_in_sig_entry_from_dwo_entry): Likewise.
	(lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
	(create_type_unit_group): Assign dwarf2_per_objfile instead of
	objfile.
	(create_partial_symtab): Access objfile through
	dwarf2_per_objfile.
	(process_psymtab_comp_unit_reader): Likewise.
	(read_comp_units_from_section): Likewise.
	(scan_partial_symbols): Likewise.
	(add_partial_symbol): Likewise.
	(add_partial_subprogram): Likewise.
	(peek_die_abbrev): Likewise.
	(fixup_go_packaging): Likewise.
	(process_full_comp_unit): Likewise.
	(process_full_type_unit): Likewise.
	(process_imported_unit_die): Likewise.
	(dwarf2_compute_name): Likewise.
	(dwarf2_physname): Likewise.
	(read_import_statement): Likewise.
	(create_cus_hash_table): Assign dwarf2_physname instead of
	objfile.
	(read_func_scope): Access objfile through dwarf2_per_objfile.
	(read_lexical_block_scope): Likewise.
	(read_call_site_scope): Likewise.
	(read_variable): Likewise.
	(dwarf2_rnglists_process): Likewise.
	(dwarf2_ranges_process): Likewise.
	(dwarf2_ranges_read): Likewise.
	(dwarf2_record_block_ranges): Likewise.
	(dwarf2_add_field): Likewise.
	(dwarf2_add_member_fn): Likewise.
	(read_structure_type): Likewise.
	(process_structure_scope): Likewise.
	(read_enumeration_type): Likewise.
	(read_array_type): Likewise.
	(read_common_block): Likewise.
	(read_namespace_type): Likewise.
	(read_namespace): Likewise.
	(read_module_type): Likewise.
	(read_tag_pointer_type): Likewise.
	(read_tag_ptr_to_member_type): Likewise.
	(read_tag_string_type): Likewise.
	(read_subroutine_type): Likewise.
	(read_typedef): Likewise.
	(read_base_type): Likewise.
	(attr_to_dynamic_prop): Likewise.
	(read_subrange_type): Likewise.
	(read_unspecified_type): Likewise.
	(load_partial_dies): Likewise.
	(read_partial_die): Likewise.
	(find_partial_die): Likewise.
	(guess_partial_die_structure_name): Likewise.
	(fixup_partial_die): Likewise.
	(read_attribute_value): Likewise.
	(read_addr_index_from_leb128): Likewise.
	(dwarf2_read_addr_index): Likewise.
	(dwarf2_string_attr): Likewise.
	(lnp_state_machine::check_line_address): Likewise.
	(dwarf_decode_lines_1): Likewise.
	(dwarf_decode_lines): Likewise.
	(dwarf2_start_symtab): Likewise.
	(var_decode_location): Likewise.
	(new_symbol_full): Likewise.
	(dwarf2_const_value_data): Likewise.
	(dwarf2_const_value_attr): Likewise.
	(dwarf2_const_value): Likewise.
	(die_type): Likewise.
	(die_containing_type): Likewise.
	(lookup_die_type): Likewise.
	(guess_full_die_structure_name): Likewise.
	(anonymous_struct_prefix): Likewise.
	(dwarf2_name): Likewise.
	(follow_die_ref_or_sig): Likewise.
	(follow_die_offset): Likewise.
	(follow_die_ref): Likewise.
	(dwarf2_fetch_die_loc_sect_off): Likewise.
	(dwarf2_fetch_constant_bytes): Likewise.
	(dwarf2_fetch_die_type_sect_off): Likewise.
	(dwarf2_get_die_type): Likewise.
	(follow_die_sig): Likewise.
	(decode_locdesc): Likewise.
	(dwarf2_per_cu_objfile): Likewise.
	(dwarf2_per_cu_text_offset): Likewise.
	(init_one_comp_unit): Assign dwarf2_per_objfile instead of
	objfile.
	(set_die_type): Access objfile through
	dwarf2_per_objfile.

2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>

	* valprint.c (converted_character_d): Remove typedef.
	(DEF_VEC_O (converted_character_d)): Remove.
	(count_next_character): Use std::vector.
	(print_converted_chars_to_obstack): Likewise.
	(generic_printstr): Likewise.

2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>

	* xml-support.h (struct gdb_xml_value): Add constructor.
	<value>: Change type to unique_xmalloc_ptr.
	(gdb_xml_value_s): Remove typedef.
	(DEF_VEC_O (gdb_xml_value_s)): Remove.
	(gdb_xml_element_start_handler): Change parameter type to
	std::vector.
	(xml_find_attribute): Likewise.
	* xml-support.c (xml_find_attribute): Change parameter type to
	std::vector and adjust.
	(gdb_xml_values_cleanup): Remove.
	(gdb_xml_parser::start_element): Adjust to std::vector.
	(xinclude_start_include): Change paraeter type to std::vector
	and adjust.
	* btrace.c (check_xml_btrace_version): Likewise.
	(parse_xml_btrace_block): Likewise.
	(parse_xml_btrace_pt_config_cpu): Likewise.
	(parse_xml_btrace_pt): Likewise.
	(parse_xml_btrace_conf_bts): Likewise.
	(parse_xml_btrace_conf_pt): Likewise.
	* memory-map.c (memory_map_start_memory): Likewise.
	(memory_map_start_property): Likewise.
	* osdata.c (osdata_start_osdata): Likewise.
	(osdata_start_item): Likewise.
	(osdata_start_column): Likewise.
	* remote.c (start_thread): Likewise.
	* solib-aix.c (library_list_start_library): Likewise.
	(library_list_start_list): Likewise.
	* solib-svr4.c (library_list_start_library): Likewise.
	(svr4_library_list_start_list): Likewise.
	* solib-target.c (library_list_start_segment): Likewise.
	(library_list_start_section): Likewise.
	(library_list_start_library): Likewise.
	(library_list_start_list): Likewise.
	* tracepoint.c (traceframe_info_start_memory): Likewise.
	(traceframe_info_start_tvar): Likewise.
	* xml-syscall.c (syscall_start_syscall): Likewise.
	* xml-tdesc.c (tdesc_start_target): Likewise.
	(tdesc_start_feature): Likewise.
	(tdesc_start_reg): Likewise.
	(tdesc_start_union): Likewise.
	(tdesc_start_struct): Likewise.
	(tdesc_start_flags): Likewise.
	(tdesc_start_enum): Likewise.
	(tdesc_start_field): Likewise.
	(tdesc_start_enum_value): Likewise.
	(tdesc_start_vector): Likewise.

2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>

	* extension.h (struct xmethod_worker) <clone>: Remove.
	* python/py-xmethods.c (struct python_xmethod_worker) <clone>:
	Remove.
	(python_xmethod_worker::clone): Remove.
	* valops.c (find_overload_match): Use std::move instead of
	clone.

2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>

	* extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
	(struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
	<free_xmethod_worker_data>: Remove.
	<get_matching_xmethod_workers>: Chance VEC to std::vector.
	<get_xmethod_arg_types>: Remove.
	<get_xmethod_result_type>: Remove.
	<invoke_xmethod>: Remove.
	* extension.c (new_xmethod_worker): Remove.
	(clone_xmethod_worker): Remove.
	(get_matching_xmethod_workers): Return void, pass std::vector by
	pointer.
	(get_xmethod_arg_types): Rename to...
	(xmethod_worker::get_arg_types): ... this, and adjust.
	(get_xmethod_result_type): Rename to...
	(xmethod_worker::get_result_type): ... this, and adjust.
	(invoke_xmethod): Remove.
	(free_xmethod_worker): Remove.
	(free_xmethod_worker_vec): Remove.
	* extension.h (enum ext_lang_rc): Move here from
	extension-priv.h.
	(struct xmethod_worker): Add constructor and destructor.
	<data>: Remove.
	<value>: Remove.
	<invoke, clone, do_get_result_type, do_get_arg_types>: New
	virtual pure methods.
	<get_arg_types, get_result_type>: New methods.
	(xmethod_worker_ptr): Remove typedef.
	(DEF_VEC_P (xmethod_worker_ptr)): Remove.
	(xmethod_worker_vec): Remove typedef.
	(xmethod_worker_up): New typedef.
	(invoke_xmethod): Remove.
	(clone_xmethod_worker): Remove.
	(free_xmethod_worker): Remove.
	(free_xmethod_worker_vec): Remove.
	(get_xmethod_arg_types): Remove.
	(get_xmethod_result_type): Remove.
	* valops.c (find_method_list): Use std::vector, don't use
	intermediate vector.
	(value_find_oload_method_list): Use std::vector.
	(find_overload_match): Use std::vector.
	(find_oload_champ): Use std::vector.
	* value.c (value_free): Use operator delete.
	(value_of_xmethod): Rename to...
	(value_from_xmethod): ... this.  Don't assign
	xmethod_worker::value, take rvalue-reference.
	(result_type_of_xmethod): Adjust.
	(call_xmethod): Adjust.
	* value.h: Include extension.h.
	(struct xmethod_worker): Don't forward-declare.
	(value_of_xmethod): Rename to...
	(value_from_xmethod): ... this, take rvalue-reference.
	* python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
	(struct python_xmethod_worker): ... this, add constructor and
	destructor.
	<invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
	(gdbpy_free_xmethod_worker_data): Rename to...
	(python_xmethod_worker::~python_xmethod_worker): ... this and
	adjust.
	(gdbpy_clone_xmethod_worker_data): Rename to...
	(python_xmethod_worker::clone): ... this and adjust.
	(gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
	temporary vector.
	(gdbpy_get_xmethod_arg_types): Rename to...
	(python_xmethod_worker::do_get_arg_types): ... this and adjust.
	(gdbpy_get_xmethod_result_type): Rename to...
	(python_xmethod_worker::do_get_result_type): ... this and
	adjust.
	(gdbpy_invoke_xmethod): Rename to...
	(python_xmethod_worker::invoke): ... this and adjust.
	(new_python_xmethod_worker): Rename to...
	(python_xmethod_worker::python_xmethod_worker): ... this and
	adjust.
	* python/python-internal.h (gdbpy_clone_xmethod_worker_data):
	Remove.
	(gdbpy_free_xmethod_worker_data): Remove.
	(gdbpy_get_matching_xmethod_workers): Use std::vector.
	(gdbpy_get_xmethod_arg_types): Remove.
	(gdbpy_get_xmethod_result_type): Remove.
	(gdbpy_invoke_xmethod): Remove.
	* python/python.c (python_extension_ops): Remove obsolete
	callbacks.

2018-01-05  Pedro Alves  <palves@redhat.com>

	PR gdb/18653
	* common/signals-state-save-restore.c
	(save_original_signals_state): New parameter 'quiet'.  Warn if we
	find a custom handler preinstalled, instead of internal erroring.
	But only warn if !quiet.
	* common/signals-state-save-restore.h
	(save_original_signals_state): New parameter 'quiet'.
	* main.c (captured_main_1): Move save_original_signals_state call
	after option handling, and pass QUIET.

2018-01-05  Pedro Alves  <palves@redhat.com>

	* spu-tdep.c (spu_catch_start): Pass
	symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.

2018-01-05  Pedro Alves  <palves@redhat.com>

	PR gdb/22670
	* ada-lang.c (literal_symbol_name_matcher): New function.
	(ada_get_symbol_name_matcher): Use it for
	symbol_name_match_type::SEARCH_NAME.
	* block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
	it down instead of assuming symbol_name_match_type::FULL.
	* block.h (block_lookup_symbol): New parameter 'match_type'.
	* c-valprint.c (print_unpacked_pointer): Use
	lookup_symbol_search_name instead of lookup_symbol.
	* compile/compile-object-load.c (get_out_value_type): Pass down
	symbol_name_match_type::SEARCH_NAME.
	* cp-namespace.c (cp_basic_lookup_symbol): Pass down
	symbol_name_match_type::FULL.
	* cp-support.c (cp_get_symbol_name_matcher): Handle
	symbol_name_match_type::SEARCH_NAME.
	* infrun.c (insert_exception_resume_breakpoint): Use
	lookup_symbol_search_name.
	* p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
	* psymtab.c (maintenance_check_psymtabs): Use
	symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
	* stack.c (print_frame_args): Use lookup_symbol_search_name and
	SYMBOL_SEARCH_NAME.
	* symtab.c (lookup_local_symbol): Don't demangle the lookup name
	if symbol_name_match_type::SEARCH_NAME.
	(lookup_symbol_in_language): Pass down
	symbol_name_match_type::FULL.
	(lookup_symbol_search_name): New.
	(lookup_language_this): Pass down
	symbol_name_match_type::SEARCH_NAME.
	(lookup_symbol_aux, lookup_local_symbol): New parameter
	'match_type'.  Pass it down.
	* symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
	(lookup_symbol_search_name): New declaration.
	(lookup_symbol_in_block): New 'match_type' parameter.

2018-01-05  Pedro Alves  <palves@redhat.com>

	PR gdb/22670
	* ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
	ada_lookup_symbol.
	(ada_lookup_symbol): Reimplement in terms of
	ada_lookup_symbol_list, bits factored out from
	ada_lookup_encoded_symbol.

2018-01-05  Joel Brobecker  <brobecker@adacore.com>

	* ada-exp.y (write_object_renaming): When subscripting an array
	using a symbol as the index, pass the block in call to
	ada_lookup_encoded_symbol when looking that symbol up.

2018-01-05  Jerome Guitton  <guitton@adacore.com>

	* ada-lang.c (ada_array_length): Use ada_index_type instead of
	TYPE_INDEX_TYPE.

2018-01-05  Joel Brobecker  <brobecker@adacore.com>

	* ada-lang.c (ada_to_fixed_value_create): Add handling of
	the case where VALUE_LVAL (val0) is not lval_memory.

2018-01-05  Xavier Roirand  <roirand@adacore.com>

	* ada-valprint.c (print_optional_low_bound): Handle
	character-indexed array printing like boolean-indexed array
	printing.

2018-01-05  Joel Brobecker  <brobecker@adacore.com>

	* NEWS: Create a new section for the next release branch.
	Rename the section of the current branch, now that it has
	been cut.

2018-01-05  Joel Brobecker  <brobecker@adacore.com>

	GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
	* version.in: Bump version to 8.1.50.DATE-git.

2018-01-03  Xavier Roirand  <roirand@adacore.com>

	* ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
	Add field.
	* ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
	Add field.
	(default_exception_support_info) <catch_handlers_sym>: Add field.
	(exception_support_info_fallback) <catch_handlers_sym>: Add field.
	(ada_exception_name_addr_1): Add "catch handlers" handling.
	(ada_exception_catchpoint_cond_string) <ex>: New parameter.
	Update all callers.
	(create_excep_cond_exprs) <ex>: Add parameter.
	(re_set_exception): Update create_excep_cond_exprs call.
	(print_it_exception, print_one_exception, print_mention_exception)
	(print_recreate_exception): Add "catch handler" handling.
	(allocate_location_catch_handlers, re_set_catch_handlers)
	(check_status_catch_handlers, print_it_catch_handlers)
	(print_one_catch_handlers, print_mention_catch_handlers)
	(print_recreate_catch_handlers): New function.
	(catch_handlers_breakpoint_ops): New variable.
	(catch_ada_exception_command_split) <is_catch_handlers_cmd>:
	Add parameter.  Add "catch handler" handling.
	(ada_exception_sym_name, ada_exception_breakpoint_ops):
	Add "catch handler" handling.
	(ada_exception_catchpoint_cond_string): Add "catch handler"
	handling.
	(create_ada_exception_catchpoint): Update create_excep_cond_exprs
	call.
	(catch_ada_handlers_command): New function.
	(initialize_ada_catchpoint_ops): Initialize "catch handlers"
	operations structure.
	(_initialize_ada_language): Add "catch handlers" command entry.
	* NEWS: Document "catch handlers" feature.

2018-01-02  Joel Brobecker  <brobecker@adacore.com>

	* ada-lang.c (ada_value_slice_from_ptr): Take array stride into
	account when creating the array type of the slice.
	(ada_value_slice): Likewise.

2018-01-02  Joel Brobecker  <brobecker@adacore.com>

	* gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
	New enum value.
	(create_array_type_with_stride): Add byte_stride_prop parameter.
	* gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
	New parameter.  Update all callers in this file.
	(array_type_has_dynamic_stride): New function.
	(is_dynamic_type_internal, resolve_dynamic_array): Add handling
	of arrays with dynamic byte strides.
	* dwarf2read.c (read_array_type): Add support for dynamic
	DW_AT_byte_stride attributes.

2018-01-02  Joel Brobecker  <brobecker@adacore.com>

	* dwarf2read.c (read_unspecified_type): Treat
	DW_TAG_enumeration_type DIEs from Ada units as stubs.

2018-01-01  Joel Brobecker  <brobecker@adacore.com>

	Update copyright year range in all GDB files.

2018-01-01  Joel Brobecker  <brobecker@adacore.com>

	* copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
	and gdb/testsuite/gdb.base/step-line.c.

2018-01-01  Joel Brobecker  <brobecker@adacore.com>

	* copyright.py (main): Dump the contents of
	MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
	even if BY_HAND is empty.

2018-01-01  Joel Brobecker  <brobecker@adacore.com>

	* top.c (print_gdb_version): Update Copyright year in version
	message.

2018-01-01  Joel Brobecker  <brobecker@adacore.com>

	* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.

For older changes see ChangeLog-2017.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
coding: utf-8
End:
