X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FChangeLog;h=a548c58e8f721d21eae65a8647bf3f60c8680cf7;hb=efa30ac3c504d24c55733a627abe49bd0368cf67;hp=61232703b6f11edb4b816164ab9757564a393673;hpb=51962708bd3701780ac9ffd99a70d8eb2149a376;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 61232703b6..a548c58e8f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,689 @@ +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 + set_partial_symtabs. + * symfile.c (syms_from_objfile_1, reread_symbols): Update. + * psymtab.h (make_psymbol_functions): Add partial_symtabs + parameter. + * psymtab.c (find_pc_sect_psymtab): Add partial_symtabs + parameter. + (psymbol_functions::find_pc_sect_compunit_symtab) + (psymbol_functions::print_stats, psymbol_functions::dump) + (psymbol_functions::has_symbols): Update. + (make_psymbol_functions, dump_psymtab_addrmap): Add + partial_symtabs parameter. + (maintenance_print_psymbols): Update. + (psymbol_functions::expand_symtabs_matching): Update. + * psympriv.h (struct psymbol_functions): Add constructor. + : New member. + : New method. + +2021-03-20 Tom Tromey + + * dwarf2/read.c (dwarf2_create_include_psymtab): Add per_bfd + parameter. + (process_psymtab_comp_unit_reader) + (build_type_psymtab_dependencies, dwarf2_build_psymtabs_hard) + (add_partial_subprogram, dwarf2_ranges_read, dwarf_decode_lines): + Reference psymtabs via per_bfd. + +2021-03-20 Tom Tromey + + * dwarf2/index-write.c (struct addrmap_index_data) : + Remove. + (add_address_entry): Remove objfile parameter. + (add_address_entry_worker): Update. + (write_address_map): Replace objfile parameter with per_bfd. + (write_gdbindex, write_psymtabs_to_index): Update. + +2021-03-20 Tom Tromey + + * dwarf2/read.c (dwarf2_base_index_functions::print_stats): Add + print_bcache parameter. + * symfile-debug.c (objfile::print_stats): Add print_bcache + parameter. + * quick-symbol.h (struct quick_symbol_functions) + : Add print_bcache parameter. + * symmisc.c (print_symbol_bcache_statistics, count_psyms): Move + code to psymtab.c. + (print_objfile_statistics): Move psymtab code to psymtab.c. + * psymtab.c (count_psyms): Move from symmisc.c. + (psymbol_functions::print_stats): Print partial symbol and bcache + statistics. Add print_bcache parameter. + * objfiles.h (print_symbol_bcache_statistics): Don't declare. + (struct objfile) : Add print_bcache parameter. + * maint.c (maintenance_print_statistics): Update. + +2021-03-20 Tom Tromey + + * dwarf2/read.h (struct dwarf2_per_bfd) : New + member. + * dwarf2/read.c (create_addrmap_from_index) + (create_addrmap_from_aranges): Set per_bfd addrmap. + (dwarf2_read_gdb_index): Don't set partial_symtabs. + (dwarf2_base_index_functions::find_pc_sect_compunit_symtab): Use + per_bfd addrmap. + (dwarf2_read_debug_names): Don't set partial_symtabs. + (dwarf2_initialize_objfile): Likewise. + 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_build_psymtabs): Set partial_symtabs