+2021-04-01 Simon Marchi <simon.marchi@efficios.com>
+
+ * gdbtypes.h (struct type) <is_flag_enum,
+ set_is_flag_enum>: New methods.
+ (TYPE_FLAG_ENUM): Use type::is_flag_enum, change all
+ write call sites to use type::set_is_flag_enum.
+
+2021-04-01 Simon Marchi <simon.marchi@efficios.com>
+
+ * gdbtypes.h (TYPE_DECLARED_CLASS): Remove, replace all uses
+ with type::is_declared_class.
+
+2021-04-01 Simon Marchi <simon.marchi@efficios.com>
+
+ * gdbtypes.h (struct type) <is_declared_class,
+ set_is_declared_class>: New methods.
+ (TYPE_DECLARED_CLASS): Use type::is_declared_class, change all
+ write call sites to use type::set_is_declared_class.
+
+2021-02-28 Boris Staletic <boris.staletic@gmail.com>
+
+ * gdb/python/lib/gdb/__init__.py: Use importlib on python 3.4+
+ to avoid deprecation warnings.
+
+2021-04-01 Martin Liska <mliska@suse.cz>
+
+ * cp-name-parser.y: Use startswith instead of strncmp.
+ * m2-exp.y: Likewise.
+ * macroexp.c (substitute_args): Likewise.
+ * mi/mi-main.c (command_notifies_uscc_observer): Likewise.
+ * rust-exp.y: Likewise.
+
+2021-03-31 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (dwarf2_gdb_index::map_matching_symbols): Merge
+ with dw2_map_matching_symbols.
+ (dwarf2_gdb_index::expand_symtabs_matching): Merge with
+ dw2_expand_symtabs_matching.
+
+2021-03-31 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2/stringify.h: Fix typo.
+
+2021-03-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ PR gdb/27541
+ * dwarf2/read.c (dwarf2_has_info): Don't share dwarf2_per_bfd
+ with objfiles using READNOW.
+
+2021-03-29 Tom Tromey <tromey@adacore.com>
+
+ * top.c (check_frame_language_change): Update.
+ * language.c (language_info): Remove parameter.
+ * language.h (language_info): Remove parameter.
+
+2021-03-29 Luis Machado <luis.machado@linaro.org>
+
+ * compile/compile.c (get_args): Don't add empty argv entries.
+
+2021-03-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ gdb:
+ * procfs.c (procfs_target::attach): Define inf.
+ Use it.
+ (procfs_target::create_inferior): Likewise.
+
+2021-03-28 Tom Tromey <tom@tromey.com>
+
+ * elfread.c (can_lazily_read_symbols): Move to dwarf2/read.c.
+ (elf_symfile_read): Simplify.
+ * dwarf2/read.c (struct lazy_dwarf_reader): Move from elfread.c.
+ (make_lazy_dwarf_reader): New function.
+ (make_dwarf_gdb_index, make_dwarf_debug_names): Now static.
+ (dwarf2_initialize_objfile): Return void. Remove index_kind
+ parameter. Push on 'qf' list.
+ * dwarf2/public.h (dwarf2_initialize_objfile): Change return
+ type. Remove 'index_kind' parameter.
+ (make_dwarf_gdb_index, make_dwarf_debug_names): Don't declare.
+
+2021-03-27 Tom Tromey <tom@tromey.com>
+
+ * elfread.c (elf_sym_fns_lazy_psyms): Don't declare.
+
+2021-03-27 Tom Tromey <tom@tromey.com>
+
+ * elfread.c (elf_symfile_read): Don't clear 'qf'.
+
+2021-03-26 Lancelot Six <lsix@lancelotsix.com>
+
+ * contrib/gdb-add-index.sh: Avoid variable shadowing and get
+ rid of 'local'.
+
+2021-03-26 Tom Tromey <tom@tromey.com>
+
+ * symtab.c (struct output_source_filename_data): Add 'output'
+ method and operator().
+ (output_source_filename_data::output): Rename from
+ output_source_filename.
+ (output_partial_symbol_filename): Remove.
+ (info_sources_command): Update.
+ (struct add_partial_filename_data): Add operator().
+ (add_partial_filename_data::operator()): Rename from
+ maybe_add_partial_symtab_filename.
+ (make_source_files_completion_list): Update.
+ * symfile.c (quick_symbol_functions): Update.
+ * symfile-debug.c (objfile::map_symbol_filenames): Update.
+ * quick-symbol.h (symbol_filename_ftype): Change type of 'fun' and
+ 'need_fullname'. Remove 'data' parameter.
+ (struct quick_symbol_functions) <map_symbol_filenames>: Likewise.
+ * psymtab.c (psymbol_functions::map_symbol_filenames): Update.
+ * psympriv.h (struct psymbol_functions) <map_symbol_filenames>:
+ Change type of 'fun' and 'need_fullname'. Remove 'data'
+ parameter.
+ * objfiles.h (struct objfile) <map_symbol_filenames>: Change type
+ of 'fun' and 'need_fullname'. Remove 'data' parameter.
+ * mi/mi-cmd-file.c (print_partial_file_name): Remove 'ignore'
+ parameter.
+ (mi_cmd_file_list_exec_source_files): Update.
+ * dwarf2/read.c
+ (dwarf2_base_index_functions::map_symbol_filenames): Update.
+
+2021-03-26 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (struct match_data): Add operator().
+ (match_data::operator()): Rename from aux_add_nonlocal_symbols.
+ (callback): Remove 'callback'.
+
+2021-03-26 Tom Tromey <tom@tromey.com>
+
+ * psymtab.c (psymbol_functions::expand_symtabs_matching): Only
+ call make_ignore_params once.
+
+2021-03-26 Tom Tromey <tom@tromey.com>
+
+ * psymtab.c (psymbol_functions::expand_symtabs_matching): Remove
+ "user" check.
+
+2021-03-26 Simon Marchi <simon.marchi@efficios.com>
+ Pedro Alves <pedro@palves.net>
+
+ * async-event.c: Include "infrun.h".
+ (async_event_handler_marked): New.
+ * async-event.h (async_event_handler_marked): Declare.
+ * infrun.c (maybe_set_commit_resumed_all_targets): Switch to
+ inferior before calling target method. Don't commit-resumed if
+ target_has_pending_events is true.
+ * remote.c (remote_target::has_pending_events): New.
+ * target-delegates.c: Regenerate.
+ * target.c (target_has_pending_events): New.
+ * target.h (target_ops::has_pending_events): New target method.
+ (target_has_pending_events): New.
+
+2021-03-26 Simon Marchi <simon.marchi@efficios.com>
+ Pedro Alves <pedro@palves.net>
+
+ * infcmd.c (run_command_1, attach_command, detach_command)
+ (interrupt_target_1): Use scoped_disable_commit_resumed.
+ * infrun.c (do_target_resume): Remove
+ target_commit_resume call.
+ (commit_resume_all_targets): Remove.
+ (maybe_set_commit_resumed_all_targets): New.
+ (maybe_call_commit_resumed_all_targets): New.
+ (enable_commit_resumed): New.
+ (scoped_disable_commit_resumed::scoped_disable_commit_resumed)
+ (scoped_disable_commit_resumed::~scoped_disable_commit_resumed)
+ (scoped_disable_commit_resumed::reset)
+ (scoped_disable_commit_resumed::reset_and_commit)
+ (scoped_enable_commit_resumed::scoped_enable_commit_resumed)
+ (scoped_enable_commit_resumed::~scoped_enable_commit_resumed):
+ New.
+ (proceed): Use scoped_disable_commit_resumed and
+ maybe_call_commit_resumed_all_targets.
+ (fetch_inferior_event): Use scoped_disable_commit_resumed.
+ * infrun.h (struct scoped_disable_commit_resumed): New.
+ (maybe_call_commit_resumed_all_process_targets): New.
+ (struct scoped_enable_commit_resumed): New.
+ * mi/mi-main.c (exec_continue): Use scoped_disable_commit_resumed.
+ * process-stratum-target.h (class process_stratum_target):
+ <commit_resumed_state>: New.
+ * record-full.c (record_full_wait_1): Change commit_resumed_state
+ around calling commit_resumed.
+ * remote.c (class remote_target) <commit_resume>: Rename to...
+ <commit_resumed>: ... this.
+ (struct stop_reply): Move up.
+ (remote_target::commit_resume): Rename to...
+ (remote_target::commit_resumed): ... this. Check if there is any
+ thread pending vCont resume.
+ (remote_target::remote_stop_ns): Generate stop replies for resumed
+ but pending vCont threads.
+ (remote_target::wait_ns): Add gdb_assert.
+ * target-delegates.c: Regenerate.
+ * target.c (target_wait, target_resume): Assert that the current
+ process_stratum target isn't in commit-resumed state.
+ (defer_target_commit_resume): Remove.
+ (target_commit_resume): Remove.
+ (target_commit_resumed): New.
+ (make_scoped_defer_target_commit_resume): Remove.
+ (target_stop): Assert that the current process_stratum target
+ isn't in commit-resumed state.
+ * target.h (struct target_ops) <commit_resume>: Rename to ...
+ <commit_resumed>: ... this.
+ (target_commit_resume): Remove.
+ (target_commit_resumed): New.
+ (make_scoped_defer_target_commit_resume): Remove.
+ * top.c (wait_sync_command_done): Use
+ scoped_enable_commit_resumed.
+
+2021-03-26 Pedro Alves <pedro@palves.net>
+
+ * target.c (target_always_non_stop_p): Also check whether the
+ target can async.
+
+2021-03-26 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (dwarf2_read_debug_names)
+ (dwarf2_build_psymtabs_hard, create_addrmap_from_aranges)
+ (dw2_debug_names_iterator::next, create_type_unit_group):
+ Simplify.
+
+2021-03-25 Pedro Alves <pedro@palves.net>
+
+ * gdb.server/bkpt-other-inferior.exp: Only enable remote output
+ around setting the breakpoint.
+
+2021-03-25 Pedro Alves <pedro@palves.net>
+
+ * remote.c
+ (remote_target::check_pending_events_prevent_wildcard_vcont):
+ Check whether the event's ptid is not null_ptid before looking up
+ the corresponding inferior.
+
+2021-03-24 Changbin Du <changbin.du@gmail.com>
+
+ * riscv-tdep.c (riscv_breakpoint_kind_from_pc): Remove call to
+ read_code.
+
+2021-03-24 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target.h (current_top_target): Remove, make callers use the
+ current inferior instead.
+ * target.c (current_top_target): Remove.
+
+2021-03-24 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target.h (target_shortname): Change to function declaration.
+ (target_longname): Likewise.
+ (target_attach_no_wait): Likewise.
+ (target_post_attach): Likewise.
+ (target_prepare_to_store): Likewise.
+ (target_supports_enable_disable_tracepoint): Likewise.
+ (target_supports_string_tracing): Likewise.
+ (target_supports_evaluation_of_breakpoint_conditions): Likewise.
+ (target_supports_dumpcore): Likewise.
+ (target_dumpcore): Likewise.
+ (target_can_run_breakpoint_commands): Likewise.
+ (target_files_info): Likewise.
+ (target_post_startup_inferior): Likewise.
+ (target_insert_fork_catchpoint): Likewise.
+ (target_remove_fork_catchpoint): Likewise.
+ (target_insert_vfork_catchpoint): Likewise.
+ (target_remove_vfork_catchpoint): Likewise.
+ (target_insert_exec_catchpoint): Likewise.
+ (target_remove_exec_catchpoint): Likewise.
+ (target_set_syscall_catchpoint): Likewise.
+ (target_rcmd): Likewise.
+ (target_can_lock_scheduler): Likewise.
+ (target_can_async_p): Likewise.
+ (target_is_async_p): Likewise.
+ (target_execution_direction): Likewise.
+ (target_extra_thread_info): Likewise.
+ (target_pid_to_exec_file): Likewise.
+ (target_thread_architecture): Likewise.
+ (target_find_memory_regions): Likewise.
+ (target_make_corefile_notes): Likewise.
+ (target_get_bookmark): Likewise.
+ (target_goto_bookmark): Likewise.
+ (target_stopped_by_watchpoint): Likewise.
+ (target_stopped_by_sw_breakpoint): Likewise.
+ (target_supports_stopped_by_sw_breakpoint): Likewise.
+ (target_stopped_by_hw_breakpoint): Likewise.
+ (target_supports_stopped_by_hw_breakpoint): Likewise.
+ (target_have_steppable_watchpoint): Likewise.
+ (target_can_use_hardware_watchpoint): Likewise.
+ (target_region_ok_for_hw_watchpoint): Likewise.
+ (target_can_do_single_step): Likewise.
+ (target_insert_watchpoint): Likewise.
+ (target_remove_watchpoint): Likewise.
+ (target_insert_hw_breakpoint): Likewise.
+ (target_remove_hw_breakpoint): Likewise.
+ (target_can_accel_watchpoint_condition): Likewise.
+ (target_can_execute_reverse): Likewise.
+ (target_get_ada_task_ptid): Likewise.
+ (target_filesystem_is_local): Likewise.
+ (target_trace_init): Likewise.
+ (target_download_tracepoint): Likewise.
+ (target_can_download_tracepoint): Likewise.
+ (target_download_trace_state_variable): Likewise.
+ (target_enable_tracepoint): Likewise.
+ (target_disable_tracepoint): Likewise.
+ (target_trace_start): Likewise.
+ (target_trace_set_readonly_regions): Likewise.
+ (target_get_trace_status): Likewise.
+ (target_get_tracepoint_status): Likewise.
+ (target_trace_stop): Likewise.
+ (target_trace_find): Likewise.
+ (target_get_trace_state_variable_value): Likewise.
+ (target_save_trace_data): Likewise.
+ (target_upload_tracepoints): Likewise.
+ (target_upload_trace_state_variables): Likewise.
+ (target_get_raw_trace_data): Likewise.
+ (target_get_min_fast_tracepoint_insn_len): Likewise.
+ (target_set_disconnected_tracing): Likewise.
+ (target_set_circular_trace_buffer): Likewise.
+ (target_set_trace_buffer_size): Likewise.
+ (target_set_trace_notes): Likewise.
+ (target_get_tib_address): Likewise.
+ (target_set_permissions): Likewise.
+ (target_static_tracepoint_marker_at): Likewise.
+ (target_static_tracepoint_markers_by_strid): Likewise.
+ (target_traceframe_info): Likewise.
+ (target_use_agent): Likewise.
+ (target_can_use_agent): Likewise.
+ (target_augmented_libraries_svr4_read): Likewise.
+ (target_log_command): Likewise.
+ * target.c (target_shortname): New.
+ (target_longname): New.
+ (target_attach_no_wait): New.
+ (target_post_attach): New.
+ (target_prepare_to_store): New.
+ (target_supports_enable_disable_tracepoint): New.
+ (target_supports_string_tracing): New.
+ (target_supports_evaluation_of_breakpoint_conditions): New.
+ (target_supports_dumpcore): New.
+ (target_dumpcore): New.
+ (target_can_run_breakpoint_commands): New.
+ (target_files_info): New.
+ (target_post_startup_inferior): New.
+ (target_insert_fork_catchpoint): New.
+ (target_remove_fork_catchpoint): New.
+ (target_insert_vfork_catchpoint): New.
+ (target_remove_vfork_catchpoint): New.
+ (target_insert_exec_catchpoint): New.
+ (target_remove_exec_catchpoint): New.
+ (target_set_syscall_catchpoint): New.
+ (target_rcmd): New.
+ (target_can_lock_scheduler): New.
+ (target_can_async_p): New.
+ (target_is_async_p): New.
+ (target_execution_direction): New.
+ (target_extra_thread_info): New.
+ (target_pid_to_exec_file): New.
+ (target_thread_architecture): New.
+ (target_find_memory_regions): New.
+ (target_make_corefile_notes): New.
+ (target_get_bookmark): New.
+ (target_goto_bookmark): New.
+ (target_stopped_by_watchpoint): New.
+ (target_stopped_by_sw_breakpoint): New.
+ (target_supports_stopped_by_sw_breakpoint): New.
+ (target_stopped_by_hw_breakpoint): New.
+ (target_supports_stopped_by_hw_breakpoint): New.
+ (target_have_steppable_watchpoint): New.
+ (target_can_use_hardware_watchpoint): New.
+ (target_region_ok_for_hw_watchpoint): New.
+ (target_can_do_single_step): New.
+ (target_insert_watchpoint): New.
+ (target_remove_watchpoint): New.
+ (target_insert_hw_breakpoint): New.
+ (target_remove_hw_breakpoint): New.
+ (target_can_accel_watchpoint_condition): New.
+ (target_can_execute_reverse): New.
+ (target_get_ada_task_ptid): New.
+ (target_filesystem_is_local): New.
+ (target_trace_init): New.
+ (target_download_tracepoint): New.
+ (target_can_download_tracepoint): New.
+ (target_download_trace_state_variable): New.
+ (target_enable_tracepoint): New.
+ (target_disable_tracepoint): New.
+ (target_trace_start): New.
+ (target_trace_set_readonly_regions): New.
+ (target_get_trace_status): New.
+ (target_get_tracepoint_status): New.
+ (target_trace_stop): New.
+ (target_trace_find): New.
+ (target_get_trace_state_variable_value): New.
+ (target_save_trace_data): New.
+ (target_upload_tracepoints): New.
+ (target_upload_trace_state_variables): New.
+ (target_get_raw_trace_data): New.
+ (target_get_min_fast_tracepoint_insn_len): New.
+ (target_set_disconnected_tracing): New.
+ (target_set_circular_trace_buffer): New.
+ (target_set_trace_buffer_size): New.
+ (target_set_trace_notes): New.
+ (target_get_tib_address): New.
+ (target_set_permissions): New.
+ (target_static_tracepoint_marker_at): New.
+ (target_static_tracepoint_markers_by_strid): New.
+ (target_traceframe_info): New.
+ (target_use_agent): New.
+ (target_can_use_agent): New.
+ (target_augmented_libraries_svr4_read): New.
+ (target_log_command): New.
+ * bfin-tdep.c (bfin_sw_breakpoint_from_kind): Adjust.
+ * infrun.c (set_schedlock_func): Adjust.
+ * mi/mi-main.c (exec_reverse_continue): Adjust.
+ * reverse.c (exec_reverse_once): Adjust.
+ * sh-tdep.c (sh_sw_breakpoint_from_kind): Adjust.
+ * tui/tui-stack.c (tui_locator_window::make_status_line): Adjust.
+ * remote-sim.c (gdbsim_target::detach): Adjust.
+ (gdbsim_target::files_info): Adjust.
+
+2021-03-24 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (dw2_map_matching_symbols): Update.
+ (dw2_expand_symtabs_matching_symbol): Remove 'kind' parameter.
+ (check_match, dw2_expand_symtabs_matching)
+ (dwarf2_debug_names_index::map_matching_symbols)
+ (dwarf2_debug_names_index::expand_symtabs_matching): Update.
+
+2021-03-24 Keith Seitz <keiths@redhat.com>
+
+ * compile/compile-cplus-types.c
+ (compile_cplus_convert_struct_or_union): Fix TYPE_DECLARED_CLASS
+ thinko.
+
+2021-03-24 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * gdbarch.sh (gdbarch_data_registry): Make static.
+ * gdbarch.c: Re-generate.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * NEWS: Mention memory tagging changes.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * printcmd.c (decode_format): Handle the 'm' modifier.
+ (do_examine): Display allocation tags when required/supported.
+ (should_validate_memtags): New function.
+ (print_command_1): Display memory tag mismatches.
+ * valprint.c (show_memory_tag_violations): New function.
+ (value_print_option_defs): Add new option "memory-tag-violations".
+ (user_print_options) <memory_tag_violations>: Initialize to 1.
+ * valprint.h (struct format_data) <print_tags>: New field.
+ (value_print_options) <memory_tag_violations>: New field.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * printcmd.c: Include gdbsupport/rsp-low.h.
+ (memory_tag_list): New static global.
+ (process_print_command_args): Factored out of
+ print_command_1.
+ (print_command_1): Use process_print_command_args.
+ (show_addr_not_tagged, show_memory_tagging_unsupported)
+ (memory_tag_command, memory_tag_print_tag_command)
+ (memory_tag_print_logical_tag_command)
+ (memory_tag_print_allocation_tag_command, parse_with_logical_tag_input)
+ (memory_tag_with_logical_tag_command, parse_set_allocation_tag_input)
+ (memory_tag_set_allocation_tag_command, memory_tag_check_command): New
+ functions.
+ (_initialize_printcmd): Add "memory-tag" prefix and subcommands.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-tdep.c
+ (aarch64_linux_iterate_over_regset_sections): Handle MTE register set.
+ * aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_MTE_REGSET): Define.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-tdep.c
+ (aarch64_linux_report_signal_info): New function.
+ (aarch64_linux_init_abi): Register
+ aarch64_linux_report_signal_info as the report_signal_info hook.
+ * arch/aarch64-linux.h (SEGV_MTEAERR): Define.
+ (SEGV_MTESERR): Define.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-tdep.c: Include gdbsupport/selftest.h.
+ (aarch64_linux_ltag_tests): New function.
+ (_initialize_aarch64_linux_tdep): Register aarch64_linux_ltag_tests.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-tdep.c: Include target.h, arch-utils.h, value.h.
+ (aarch64_mte_get_atag, aarch64_linux_tagged_address_p)
+ (aarch64_linux_memtag_mismatch_p, aarch64_linux_set_memtags)
+ (aarch64_linux_get_memtag, aarch64_linux_memtag_to_string): New
+ functions.
+ (aarch64_linux_init_abi): Initialize MTE-related gdbarch hooks.
+ * arch/aarch64-mte-linux.c (aarch64_mte_make_ltag_bits)
+ (aarch64_mte_make_ltag, aarch64_linux_set_ltag)
+ (aarch64_linux_get_ltag): New functions.
+ * arch/aarch64-mte-linux.h (AARCH64_MTE_LOGICAL_TAG_START_BIT)
+ (AARCH64_MTE_LOGICAL_MAX_VALUE): Define.
+ (aarch64_mte_make_ltag_bits, aarch64_mte_make_ltag)
+ (aarch64_mte_set_ltag, aarch64_mte_get_ltag): New prototypes.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * linux-tdep.c (struct smaps_vmflags) <memory_tagging>: New flag
+ bit.
+ (struct smaps_data): New struct.
+ (decode_vmflags): Handle the 'mt' flag.
+ (parse_smaps_data): New function, refactored from
+ linux_find_memory_regions_full.
+ (linux_address_in_memtag_page): New function.
+ (linux_find_memory_regions_full): Refactor into parse_smaps_data.
+ * linux-tdep.h (linux_address_in_memtag_page): New prototype.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * linux-tdep.c (linux_find_memory_regions_full): Use std::string
+ instead of char arrays.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * Makefile.in (ALL_64_TARGET_OBS): Add arch/aarch64-mte-linux.o.
+ (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h and
+ nat/aarch64-mte-linux-ptrace.h.
+ * aarch64-linux-nat.c: Include nat/aarch64-mte-linux-ptrace.h.
+ (aarch64_linux_nat_target) <supports_memory_tagging>: New method
+ override.
+ <fetch_memtags>: New method override.
+ <store_memtags>: New method override.
+ (aarch64_linux_nat_target::supports_memory_tagging): New method.
+ (aarch64_linux_nat_target::fetch_memtags): New method.
+ (aarch64_linux_nat_target::store_memtags): New method.
+ * arch/aarch64-mte-linux.c: New file.
+ * arch/aarch64-mte-linux.h: Include gdbsupport/common-defs.h.
+ (AARCH64_MTE_GRANULE_SIZE): Define.
+ (aarch64_memtag_type): New enum.
+ (aarch64_mte_get_tag_granules): New prototype.
+ * configure.nat (NATDEPFILES): Add nat/aarch64-mte-linux-ptrace.o.
+ * configure.tgt (aarch64*-*-linux*): Add arch/aarch64-mte-linux.o.
+ * nat/aarch64-mte-linux-ptrace.c: New file.
+ * nat/aarch64-mte-linux-ptrace.h: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * Makefile.in (HFILES_NO_SRCDIR): Add nat/aarch64-mte-linux-ptrace.h.
+ * nat/aarch64-mte-linux-ptrace.h: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-nat.c (fetch_mteregs_from_thread): New function.
+ (store_mteregs_to_thread): New function.
+ (aarch64_linux_nat_target::fetch_registers): Update to call
+ fetch_mteregs_from_thread.
+ (aarch64_linux_nat_target::store_registers): Update to call
+ store_mteregs_to_thread.
+ * aarch64-tdep.c (aarch64_mte_register_names): New struct.
+ (aarch64_cannot_store_register): Handle MTE registers.
+ (aarch64_gdbarch_init): Initialize and setup MTE registers.
+ * aarch64-tdep.h (gdbarch_tdep) <mte_reg_base>: New field.
+ <has_mte>: New method.
+ * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-nat.c
+ (aarch64_linux_nat_target::read_description): Take MTE flag into
+ account.
+ Slight refactor to hwcap flag checking.
+ * aarch64-linux-tdep.c
+ (aarch64_linux_core_read_description): Likewise.
+ * aarch64-tdep.c (tdesc_aarch64_list): Add one more dimension for
+ MTE.
+ (aarch64_read_description): Add mte_p parameter and update to use it.
+ Update the documentation.
+ (aarch64_gdbarch_init): Update call to aarch64_read_description.
+ * aarch64-tdep.h (aarch64_read_description): Add mte_p parameter.
+ * arch/aarch64.c: Include ../features/aarch64-mte.c.
+ (aarch64_create_target_description): Add mte_p parameter and update
+ the code to use it.
+ * arch/aarch64.h (aarch64_create_target_description): Add mte_p
+ parameter.
+ * features/Makefile (FEATURE_XMLFILES): Add aarch64-mte.xml.
+ * features/aarch64-mte.c: New file, generated.
+ * features/aarch64-mte.xml: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * Makefile.in (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h.
+ * aarch64-linux-nat.c: Include arch/aarch64-mte-linux.h.
+ * aarch64-linux-tdep.c: Likewise
+ * arch/aarch64-mte-linux.h: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * remote: Include gdbsupport/selftest.h.
+ (test_memory_tagging_functions): New function.
+ (_initialize_remote): Register test_memory_tagging_functions.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * remote.c (PACKET_memory_tagging_feature): New enum.
+ (remote_memory_tagging_p): New function.
+ (remote_protocol_features): New "memory-tagging" entry.
+ (remote_target::remote_query_supported): Handle memory tagging
+ support.
+ (remote_target::supports_memory_tagging): Implement.
+ (create_fetch_memtags_request, parse_fetch_memtags_reply)
+ (create_store_memtags_request): New functions.
+ (remote_target::fetch_memtags): Implement.
+ (remote_target::store_memtags): Implement.
+ (_initialize_remote): Add new "memory-tagging-feature"
+ config command.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * arch-utils.c (default_memtag_to_string, default_tagged_address_p)
+ (default_memtag_matches_p, default_set_memtags)
+ (default_get_memtag): New functions.
+ * arch-utils.h (default_memtag_to_string, default_tagged_address_p)
+ (default_memtag_matches_p, default_set_memtags)
+ (default_get_memtag): New prototypes.
+ * gdbarch.c: Regenerate.
+ * gdbarch.h: Regenerate.
+ * gdbarch.sh (memtag_to_string, tagged_address_p, memtag_matches_p)
+ (set_memtags, get_memtag, memtag_granule_size): New gdbarch hooks.
+ (enum memtag_type): New enum.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * remote.c (remote_target) <supports_memory_tagging>: New method
+ override.
+ <fetch_memtags>: New method override.
+ <store_memtags>: New method override.
+ (remote_target::supports_memory_tagging): New method.
+ (remote_target::fetch_memtags): New method.
+ (remote_target::store_memtags): New method.
+ * target-delegates.c: Regenerate.
+ * target.h (struct target_ops) <supports_memory_tagging>: New virtual
+ method.
+ <fetch_memtags>: New virtual method.
+ <store_memtags>: New virtual method.
+ (target_supports_memory_tagging): Define.
+ (target_fetch_memtags): Define.
+ (target_store_memtags): Define.
+ * target-debug.h (target_debug_print_size_t)
+ (target_debug_print_const_gdb_byte_vector_r)
+ (target_debug_print_gdb_byte_vector_r): New functions.
+
+2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target.h (target_longname): Remove.
+
+2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target.h (target_is_pushed): Remove, update callers to use
+ inferior::target_is_pushed instead.
+ * target.c (target_is_pushed): Remove.
+
+2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target.h (push_target): Remove, update callers to use
+ inferior::push_target.
+ * target.c (push_target): Remove.
+ * inferior.h (class inferior) <push_target>: New overload.
+
+2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target.h (unpush_target): Remove, update all callers
+ to use `inferior::unpush_target` instead.
+ (struct target_unpusher) <operator()>: Just declare.
+ * target.c (unpush_target): Remove.
+ (target_unpusher::operator()): New.
+
+2021-03-22 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * dwarf2/read.c (process_psymtab_comp_unit): Replace abort with an
+ error.
+ (process_full_comp_unit): Validate the top-level tag before
+ processing the first DIE.
+ (read_func_scope): Ensure we have a valid builder.
+
+2021-03-22 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * objc-lang.c (objc_demangle): Renamed to
+ objc_language::demangle_symbol, and moved later in the file.
+ (objc_language::sniff_from_mangled_name): Call demangle_symbol
+ member function.
+ (objc_language::demangle_symbol): Defined outside of class
+ declaration. The definition is the old objc_demangle with NULL
+ changed to nullptr, and if conditions relating to nullptr pointers
+ or null character checks made explicit.
+ * objc-lang.h (objc_demangle): Delete declaration.
+
+2021-03-22 Martin Liska <mliska@suse.cz>
+
+ * arm-tdep.c (show_disassembly_style_sfunc): Replace usage of CONST_STRNEQ with startswith.
+ (_initialize_arm_tdep): Likewise.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * xcoffread.c (xcoff_initial_scan): Create partial symtabs.
+ * symfile.c (syms_from_objfile_1, reread_symbols): Update.
+ * psymtab.h (make_psymbol_functions): Don't declare.
+ * psymtab.c (make_psymbol_functions): Remove.
+ (maintenance_print_psymbols): Update.
+ * psympriv.h (struct psymbol_functions): Add no-argument
+ constructor.
+ * objfiles.h (struct objfile) <reset_psymtabs>: Remove.
+ <partial_symtabs>: Remove.
+ * mdebugread.c (mdebug_build_psymtabs): Create partial symtabs.
+ * elfread.c (read_partial_symbols): Update.
+ (elf_symfile_read): Remove check for existing partial symbols.
+ Don't clear "qf".
+ * dwarf2/read.c (dwarf2_has_info): Remove check for existing
+ partial symbols.
+ (dwarf2_build_psymtabs): Add psymbol_functions parameter. Create
+ partial symtabs.
+ * dwarf2/public.h (dwarf2_build_psymtabs): Add psymbol_functions
+ parameter.
+ * dbxread.c (dbx_symfile_read): Create partial symtabs.
+ * ctfread.c (elfctf_build_psymtabs): Create partial symtabs.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (dwarf2_build_psymtabs): Update.
+ * symfile.c (syms_from_objfile_1, reread_symbols): Update.
+ * symfile-debug.c (objfile::has_partial_symbols)
+ (objfile::find_last_source_symtab)
+ (objfile::forget_cached_source_info)
+ (objfile::map_symtabs_matching_filename, objfile::lookup_symbol)
+ (objfile::print_stats, objfile::dump)
+ (objfile::expand_symtabs_for_function)
+ (objfile::expand_all_symtabs)
+ (objfile::expand_symtabs_with_fullname)
+ (objfile::map_matching_symbols)
+ (objfile::expand_symtabs_matching)
+ (objfile::find_pc_sect_compunit_symtab)
+ (objfile::map_symbol_filenames)
+ (objfile::find_compunit_symtab_by_address)
+ (objfile::lookup_global_symbol_language)
+ (objfile::require_partial_symbols): Update.
+ * psymtab.c (maintenance_print_psymbols)
+ (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
+ * objfiles.h (struct objfile) <qf>: Now a forward_list.
+ * objfiles.c (objfile_relocate1): Update.
+ * elfread.c (elf_symfile_read): Update.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * objfiles.h (struct objfile) <psymtabs>: Remove method.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * psymtab.c (psymbol_functions::count_psyms): Rename.
+ (psymbol_functions::print_stats): Update.
+ * psympriv.h (struct psymbol_functions) <count_psyms>: Declare
+ method.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * psymtab.c (psymbol_functions::require_partial_symbols): Rename.
+ (psymbol_functions::find_pc_sect_psymtab): Rename.
+ (psymbol_functions::find_pc_sect_compunit_symtab)
+ (maintenance_print_psymbols, maintenance_check_psymtabs): Update.
+ * psympriv.h (struct psymbol_functions) <require_partial_symbols>:
+ Declare new method.
+ <get_partial_symtabs, find_pc_sect_psymtab>: Likewise.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * xcoffread.c (xcoff_start_psymtab): Add partial_symtabs parameter.
+ (xcoff_end_psymtab, scan_xcoff_symtab): Update.
+ * psymtab.c (partial_symtab::partial_symtab): Add partial_symtabs
+ parameter.
+ (add_psymbol_to_bcache): Remove.
+ (partial_symtab::add_psymbol): Add partial_symtabs parameter.
+ (partial_symtab::add_psymbol, partial_symtab::partial_symtab):
+ Likewise.
+ * psympriv.h (partial_symtab): Add partial_symtabs parameter.
+ <add_psymbol>: Likewise.
+ (standard_psymtab, legacy_psymtab): Likewise.
+ * mdebugread.c (parse_partial_symbols): Update.
+ (handle_psymbol_enumerators): Add partial_symtabs parameter.
+ (handle_psymbol_enumerators): Update.
+ (new_psymtab): Add partial_symtabs parameter.
+ * dwarf2/read.h (dwarf2_psymtab): Add partial_symtabs parameter.
+ * dwarf2/read.c (dwarf2_include_psymtab): Add partial_symtabs
+ parameter.
+ (dwarf2_create_include_psymtab): Add partial_symtabs parameter.
+ (create_partial_symtab, add_partial_symbol, dwarf_decode_lines):
+ Update.
+ * dbxread.c (read_dbx_symtab): Update.
+ (start_psymtab): Add partial_symtabs parameter.
+ (dbx_end_psymtab): Update.
+ * ctfread.c (struct ctf_context) <partial_symtabs>: New member.
+ (ctf_psymtab): Add partial_symtabs parameter.
+ (create_partial_symtab, ctf_psymtab_type_cb, ctf_psymtab_var_cb):
+ Update.
+ (scan_partial_symbols): Add partial_symtabs parameter.
+ (scan_partial_symbols, elfctf_build_psymtabs)
+ (ctf_psymtab_add_enums): Update.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * symfile.c (read_symbols): Use objfile method.
+ * symfile-debug.c (objfile::require_partial_symbols): New method.
+ * psymtab.h (require_partial_symbols): Don't declare.
+ * psymtab.c (require_partial_symbols): Use objfile method. Now
+ static.
+ (psymbol_functions::map_symtabs_matching_filename, OBJFILE)
+ (psymbol_functions::lookup_symbol)
+ (psymbol_functions::lookup_global_symbol_language)
+ (psymbol_functions::find_last_source_symtab)
+ (psymbol_functions::forget_cached_source_info)
+ (psymbol_functions::print_stats)
+ (psymbol_functions::expand_symtabs_for_function)
+ (psymbol_functions::expand_all_symtabs)
+ (psymbol_functions::expand_symtabs_with_fullname)
+ (psymbol_functions::map_symbol_filenames)
+ (psymbol_functions::map_matching_symbols)
+ (psymbol_functions::expand_symtabs_matching)
+ (psymbol_functions::find_compunit_symtab_by_address)
+ (maintenance_print_psymbols, maintenance_info_psymtabs)
+ (maintenance_check_psymtabs): Update.
+ * objfiles.h (struct objfile) <require_partial_symbols>: Declare
+ new method.
+