X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FChangeLog;h=5d67a9a968f40c62946a1ec6b4e228a9b0a7b087;hb=6418520e7f0c32f940ac974a84c7dae3aa826266;hp=abeaad8f61333db6026cfa85d40c9e6f10ead388;hpb=17d66340ebb4528307c6c5d08383859aab785db7;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index abeaad8f61..5d67a9a968 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,1043 @@ +2021-04-12 Will Schmidt + + * rs6000-tdep.c: Add support for single-stepping of + prefixed instructions. + +2021-04-12 Will Schmidt + + PR gdb/27525 + * gdb/rs6000-tdep.c (ppc_displaced_step_fixup): Update to + handle the addpcis/lnia instruction. + +2021-04-05 Will Schmidt + + * MAINTAINERS (Write After Approval): Add myself. + +2021-4-12 Carl Love + + * rs6000-tdep.c (rs6000_builtin_type_vec128): Add t_float128 variable. + (rs6000_builtin_type_vec128): Add append_composite_type_field for + float128. + +2021-04-12 Simon Marchi + + * nat/windows-nat.c: Remove all code guarded by _WIN32_WCE. + * nat/windows-nat.h: Likewise. + +2021-04-10 Eli Zaretskii + + * windows-nat.c (windows_nat::handle_load_dll): Call + windows_add_dll if get_image_name failed to glean the name of the + DLL by using the lpImageName pointer. + (windows_add_all_dlls): Now a thin wrapper around windows_add_dll. + (windows_add_dll): Now does what windows_add_all_dlls did before, + but also accepts an argument LOAD_ADDR, which, if non-NULL, + specifies the address where the DLL was loaded into the inferior, + and looks for the single DLL loaded at that address. + +2021-04-09 Luis Machado + + * nat/aarch64-mte-linux-ptrace.c: Update include file order. + +2021-04-08 Dominique Quatravaux + + * darwin-nat.c (darwin_nat_target::resume): Remove status + variable. + +2021-04-08 Felix Willgerodt + + * i386-tdep.c (i386_skip_prologue): Use symbol table to find the + prologue end for Intel compilers. + * amd64-tdep.c (amd64_skip_prologue): Likewise. + * producer.c (producer_is_icc_ge_19): New function. + * producer.h (producer_is_icc_ge_19): New declaration. + +2021-04-08 Felix Willgerodt + + * producer.c: (producer_is_icc): Update for new version scheme. + (producer_parsing_tests): Update names and expected results. + * producer.h: (producer_is_icc): Update comment accordingly. + +2021-04-07 Simon Marchi + + * target.h (struct target_ops) : Return void. + (target_follow_fork): Likewise. + * target.c (default_follow_fork): Likewise. + (target_follow_fork): Likewise. + * infrun.c (follow_fork_inferior): Adjust. + * fbsd-nat.h (class fbsd_nat_target) : Return void. + * fbsd-nat.c (fbsd_nat_target:::follow_fork): Likewise. + * linux-nat.h (class linux_nat_target) : Likewise. + * linux-nat.c (linux_nat_target::follow_fork): Return void. + * obsd-nat.h (class obsd_nat_target) : Return void. + * obsd-nat.c (obsd_nat_target::follow_fork): Likewise. + * remote.c (class remote_target) : Likewise. + (remote_target::follow_fork): Likewise. + * target-delegates.c: Re-generate. + +2021-04-07 Weimin Pan + + * ctfread.c (fetch_tid_type): New function, use throughout file. + (read_forward_type): New function. + (read_type_record): Call read_forward_type. + +2021-04-07 Andrew Burgess + + * f-exp.h (class fortran_structop_operation): New class. + * f-exp.y (exp): Create fortran_structop_operation instead of the + generic structop_operation. + * f-lang.c (fortran_undetermined::evaluate): Re-evaluate + expression as EVAL_NORMAL if the result type was dynamic so we can + extract the actual array bounds. + (fortran_structop_operation::evaluate): New function. + +2021-04-07 Andrew Burgess + + * eval.c (evaluate_subexp_standard): Remove + EVAL_AVOID_SIDE_EFFECTS handling from STRUCTOP_STRUCT and + STRUCTOP_PTR. + +2021-04-07 Andrew Burgess + + * valops.c (value_cast): Call value_deeply_equal before performing + any cast. + +2021-04-07 Andrew Burgess + + * gdbtypes.c (types_equal): Move pointer equality check earlier in + the function. + +2021-04-07 Caroline Tice + + * dwarf2/read.c (try_open_dwop_file): Add path for the binary to + the search paths used resolve relative location of .dwo file. + +2021-04-07 Andrew Burgess + + * dwarf2/section.c (dwarf2_section_info::get_bfd_owner): Add an + assert. + (dwarf2_section_info::get_file_name): Add an assert. + (dwarf2_section_info::read_string): Display a minimal, sane error + when the dwarf2_section_info is not associated with a bfd section. + +2021-04-07 Andrew Burgess + + * top.c (staged_gdb_datadir): Update comment. + (set_gdb_datadir): Copy the value of gdb_datadir back into + staged_datadir. + (init_main): Initialise staged_gdb_datadir. + +2021-04-06 Tom de Vries + + PR breakpoints/25884 + * infcmd.c (prepare_one_step): Using inline frame info to narrow + stepping range. + +2021-04-06 Tom de Vries + + PR tui/27680 + * tui/tui-disasm.c (len_without_escapes): Pass ptr pointing at escape + to style.parse. + +2021-04-04 Simon Marchi + + * avr-tdep.c (avr_frame_unwind_cache): Use + trad_frame_saved_reg::is_addr. + +2021-04-02 Simon Marchi + + * objfiles.c (get_objfile_bfd_data): Remove objfile parameter, + adjust callers. + +2021-04-02 Simon Marchi + + * psympriv.h (struct partial_symtab) : Change + objfile parameter for objfile_per_bfd_storage, adjust callers. + (struct standard_psymtab) : Likewise. + (struct legacy_psymtab) : Likewise. + * psymtab.c (partial_symtab::partial_symtab): Likewise. + * ctfread.c (struct ctf_psymtab): Likewise. + * dwarf2/read.h (struct dwarf2_psymtab): Likewise. + * dwarf2/read.c (struct dwarf2_include_psymtab): Likewise. + (dwarf2_create_include_psymtab): Likewise. + * objfiles.h (struct objfile_per_bfd_storage) + : Add bfd parameter, adjust callers. + : New method. + : New field. + * objfiles.c (get_objfile_bfd_data): Adjust. + +2021-04-02 Simon Marchi + + * psymtab.c (partial_symtab::partial_symtab): Change + last_objfile_name to be an std::string. + * symfile.c (allocate_symtab): Likewise. + +2021-04-02 Simon Marchi + + * objfiles.h (struct objfile_per_bfd_storage) : New + methods. + (struct objfile) : Use + objfile::objfile_per_bfd_storage::intern. + +2021-04-01 Simon Marchi + + * gdbtypes.h (TYPE_FLAG_ENUM): Remove, replace all uses + with type::is_flag_enum. + +2021-04-01 Simon Marchi + + * gdbtypes.h (struct type) : 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 + + * gdbtypes.h (TYPE_DECLARED_CLASS): Remove, replace all uses + with type::is_declared_class. + +2021-04-01 Simon Marchi + + * gdbtypes.h (struct type) : 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 + + * gdb/python/lib/gdb/__init__.py: Use importlib on python 3.4+ + to avoid deprecation warnings. + +2021-04-01 Martin Liska + + * 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 + + * 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 + + * dwarf2/stringify.h: Fix typo. + +2021-03-30 Simon Marchi + + PR gdb/27541 + * dwarf2/read.c (dwarf2_has_info): Don't share dwarf2_per_bfd + with objfiles using READNOW. + +2021-03-29 Tom Tromey + + * top.c (check_frame_language_change): Update. + * language.c (language_info): Remove parameter. + * language.h (language_info): Remove parameter. + +2021-03-29 Luis Machado + + * compile/compile.c (get_args): Don't add empty argv entries. + +2021-03-29 Rainer Orth + + gdb: + * procfs.c (procfs_target::attach): Define inf. + Use it. + (procfs_target::create_inferior): Likewise. + +2021-03-28 Tom Tromey + + * 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 + + * elfread.c (elf_sym_fns_lazy_psyms): Don't declare. + +2021-03-27 Tom Tromey + + * elfread.c (elf_symfile_read): Don't clear 'qf'. + +2021-03-26 Lancelot Six + + * contrib/gdb-add-index.sh: Avoid variable shadowing and get + rid of 'local'. + +2021-03-26 Tom Tromey + + * 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) : Likewise. + * psymtab.c (psymbol_functions::map_symbol_filenames): Update. + * psympriv.h (struct psymbol_functions) : + Change type of 'fun' and 'need_fullname'. Remove 'data' + parameter. + * objfiles.h (struct objfile) : 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 + + * 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 + + * psymtab.c (psymbol_functions::expand_symtabs_matching): Only + call make_ignore_params once. + +2021-03-26 Tom Tromey + + * psymtab.c (psymbol_functions::expand_symtabs_matching): Remove + "user" check. + +2021-03-26 Simon Marchi + Pedro Alves + + * 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 + Pedro Alves + + * 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): + : New. + * record-full.c (record_full_wait_1): Change commit_resumed_state + around calling commit_resumed. + * remote.c (class remote_target) : Rename to... + : ... 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) : Rename to ... + : ... 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 + + * target.c (target_always_non_stop_p): Also check whether the + target can async. + +2021-03-26 Tom Tromey + + * 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 + + * gdb.server/bkpt-other-inferior.exp: Only enable remote output + around setting the breakpoint. + +2021-03-25 Pedro Alves + + * 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 + + * riscv-tdep.c (riscv_breakpoint_kind_from_pc): Remove call to + read_code. + +2021-03-24 Simon Marchi + + * target.h (current_top_target): Remove, make callers use the + current inferior instead. + * target.c (current_top_target): Remove. + +2021-03-24 Simon Marchi + + * 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 + + * 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 + + * compile/compile-cplus-types.c + (compile_cplus_convert_struct_or_union): Fix TYPE_DECLARED_CLASS + thinko. + +2021-03-24 Simon Marchi + + * gdbarch.sh (gdbarch_data_registry): Make static. + * gdbarch.c: Re-generate. + +2021-03-24 Luis Machado + + * NEWS: Mention memory tagging changes. + +2021-03-24 Luis Machado + + * 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) : Initialize to 1. + * valprint.h (struct format_data) : New field. + (value_print_options) : New field. + +2021-03-24 Luis Machado + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * linux-tdep.c (struct smaps_vmflags) : 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 + + * linux-tdep.c (linux_find_memory_regions_full): Use std::string + instead of char arrays. + +2021-03-24 Luis Machado + + * 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) : New method + override. + : New method override. + : 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 + + * 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 + + * 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) : New field. + : New method. + * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define. + +2021-03-24 Luis Machado + + * 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 + + * 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 + + * remote: Include gdbsupport/selftest.h. + (test_memory_tagging_functions): New function. + (_initialize_remote): Register test_memory_tagging_functions. + +2021-03-24 Luis Machado + + * 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 + + * 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 + + * remote.c (remote_target) : New method + override. + : New method override. + : 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) : New virtual + method. + : New virtual method. + : 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 + + * target.h (target_longname): Remove. + +2021-03-23 Simon Marchi + + * 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 + + * target.h (push_target): Remove, update callers to use + inferior::push_target. + * target.c (push_target): Remove. + * inferior.h (class inferior) : New overload. + +2021-03-23 Simon Marchi + + * target.h (unpush_target): Remove, update all callers + to use `inferior::unpush_target` instead. + (struct target_unpusher) : Just declare. + * target.c (unpush_target): Remove. + (target_unpusher::operator()): New. + +2021-03-22 Andrew Burgess + + * 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 + + * 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 + + * arm-tdep.c (show_disassembly_style_sfunc): Replace usage of CONST_STRNEQ with startswith. + (_initialize_arm_tdep): Likewise. + +2021-03-20 Tom Tromey + + * 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) : Remove. + : 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 + + * 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) : Now a forward_list. + * objfiles.c (objfile_relocate1): Update. + * elfread.c (elf_symfile_read): Update. + +2021-03-20 Tom Tromey + + * objfiles.h (struct objfile) : Remove method. + +2021-03-20 Tom Tromey + + * psymtab.c (psymbol_functions::count_psyms): Rename. + (psymbol_functions::print_stats): Update. + * psympriv.h (struct psymbol_functions) : Declare + method. + +2021-03-20 Tom Tromey + + * 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) : + Declare new method. + : Likewise. + +2021-03-20 Tom Tromey + + * 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. + : 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) : 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 + + * 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) : Declare + new method. + +2021-03-20 Tom Tromey + + * xcoffread.c (xcoff_sym_fns): Update. + * symfile.h (struct sym_fns) : Remove. + * symfile-debug.c (objfile::has_partial_symbols): Use + can_lazily_read_symbols. + (debug_sym_read_psymbols): Remove. + (debug_sym_fns, install_symfile_debug_logging): Update. + * quick-symbol.h (struct quick_symbol_functions) + : New methods. + * psymtab.c (require_partial_symbols): Use new 'qf' methods. + * mipsread.c (ecoff_sym_fns): Update. + * machoread.c (macho_sym_fns): Update. + * elfread.c (struct lazy_dwarf_reader): New. + (elf_symfile_read): Update. + (read_psyms): Now a method of lazy_dwarf_reader. + (elf_sym_fns): Update. + (elf_sym_fns_lazy_psyms): Remove. + * dbxread.c (aout_sym_fns): Update. + * coffread.c (coff_sym_fns): Update. + +2021-03-20 Tom Tromey + + * symfile.c (syms_from_objfile_1): Call reset_psymtabs. + (reread_symbols): Move reset_psymtabs call later. + * objfiles.c (objfile::objfile): Don't initialize + partial_symtabs. + 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_build_psymtabs): Call