Add dwarf2_per_objfile to dwarf_expr_context and dwarf2_frame_cache
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 00d36ab767a18d24eaa5c18e86e8ee872205ee2d..6ad1a71f6e0c350269697652c1976468321c02de 100644 (file)
@@ -1,3 +1,383 @@
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/expr.h (struct dwarf_expr_context)
+       <dwarf_expr_context>: Add dwarf2_per_objfile parameter.
+       <offset>: Remove.
+       <per_objfile>: New member.
+       * dwarf2/expr.c (dwarf_expr_context::dwarf_expr_context): Add
+       dwarf2_per_objfile parameter.  Don't set offset, set
+       per_objfile.
+       (dwarf_expr_context::execute_stack_op): Use offset from objfile.
+       * dwarf2/frame.c (dwarf2_frame_find_fde): Return (by parameter)
+       a dwarf2_per_objfile object instead of an offset.
+       (class dwarf_expr_executor) <dwarf_expr_executor>: Add
+       constructor.
+       (execute_stack_op): Add dwarf2_per_objfile parameter, pass it
+       to dwarf2_expr_executor constructor.  Don't set offset.
+       (dwarf2_fetch_cfa_info): Update.
+       (struct dwarf2_frame_cache) <text_offset>: Remove.
+       <per_objfile>: New field.
+       (dwarf2_frame_cache): Update.
+       (dwarf2_frame_prev_register): Update.
+       * dwarf2/loc.c (class dwarf_evaluate_loc_desc)
+       <dwarf_evaluate_loc_desc>: Add constructor.
+       (dwarf2_evaluate_loc_desc_full): Update.
+       (dwarf2_locexpr_baton_eval): Update.
+       (class symbol_needs_eval_context) <symbol_needs_eval_context>:
+       Add constructor.
+       (dwarf2_loc_desc_get_symbol_read_needs): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.h (struct dwarf2_per_cu_data) <addr_type,
+       addr_sized_int_type>: Move to dwarf2_cu.
+       <int_type>: Move to dwarf2_per_objfile.
+       (struct dwarf2_per_objfile) <int_type>: Move here.
+       * dwarf2/read.c (struct dwarf2_cu) <addr_type,
+       addr_sized_int_type>: Move here.
+       (read_func_scope): Update.
+       (read_array_type): Update.
+       (read_tag_string_type): Update.
+       (attr_to_dynamic_prop): Update.
+       (dwarf2_per_cu_data::int_type): Rename to...
+       (dwarf2_per_objfile::int_type): ... this.
+       (dwarf2_per_cu_data::addr_sized_int_type): Rename to...
+       (dwarf2_cu::addr_sized_int_type): ... this.
+       (read_subrange_type): Update.
+       (dwarf2_per_cu_data::addr_type): Rename to...
+       (dwarf2_cu::addr_type): ... this.
+       (set_die_type): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (queue_and_load_all_dwo_tus): Access per_objfile
+       data through per_cu->cu.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (lookup_dwo_comp_unit): Change
+       dwarf2_per_cu_data parameter fo dwarf2_cu.
+       (lookup_dwo_type_unit): Likewise.
+       (read_cutu_die_from_dwo): Likewise.
+       (lookup_dwo_unit): Likewise.
+       (open_and_init_dwo_file): Likewise.
+       (lookup_dwo_cutu): Likewise.
+       (lookup_dwo_comp_unit): Likewise.
+       (lookup_dwo_type_unit): Likewise.
+       (cutu_reader::init_tu_and_read_dwo_dies): Update.
+       (cutu_reader::cutu_reader): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (process_full_comp_unit): Add dwarf2_per_objfile
+       parameter.
+       (process_full_type_unit): Likewise.
+       (process_queue): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (recursively_compute_inclusions): Add
+       dwarf2_per_objfile parameter.
+       (compute_compunit_symtab_includes): Likewise.
+       (process_cu_includes): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (create_partial_symtab): Add dwarf2_per_objfile
+       parameter.
+       (create_type_unit_group): Update.
+       (process_psymtab_comp_unit_reader): Update.
+       (build_type_psymtabs_reader): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (cutu_reader::keep): Access dwarf2_per_objfile
+       object through m_this_cu->cu.
+
+2020-05-27  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * dwarf2/read.c (queue_and_load_dwo_tu): Expect a dwarf2_cu as
+       the info parameter.
+       (queue_and_load_all_dwo_tus): Pass per_cu->cu.
+
+2020-05-27  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * dwarf2/read.c (class cutu_reader) <cutu_reader>: Add
+       per_objfile parameter.
+       (load_full_type_unit): Add per_objfile parameter.
+       (read_signatured_type): Likewise.
+       (load_full_comp_unit): Likewise.
+       (load_cu): Likewise.
+       (dw2_do_instantiate_symtab): Likewise.
+       (dw2_get_file_names): Likewise.
+       (dw2_map_symtabs_matching_filename): Update.
+       (dw_expand_symtabs_matching_file_matcher): Update.
+       (dw2_map_symbol_filenames): Update.
+       (process_psymtab_comp_unit): Add per_objfile parameter.
+       (build_type_psymtabs_1): Update.
+       (process_skeletonless_type_unit): Update.
+       (dwarf2_build_psymtabs_hard): Update.
+       (load_partial_comp_unit): Add per_objfile parameter.
+       (scan_partial_symbols): Update.
+       (load_full_comp_unit): Add per_objfile parameter.
+       (process_imported_unit_die): Update.
+       (create_cus_hash_table): Update.
+       (find_partial_die): Update.
+       (dwarf2_read_addr_index): Update.
+       (follow_die_offset): Update.
+       (dwarf2_fetch_die_loc_sect_off): Update.
+       (dwarf2_fetch_constant_bytes): Update.
+       (dwarf2_fetch_die_type_sect_off): Update.
+       (follow_die_sig_1): Update.
+       (load_full_type_unit): Add per_objfile parameter.
+       (read_signatured_type): Likewise.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (lookup_dwo_unit): Use bfd_get_filename instead
+       of objfile_name.
+
+2020-05-27  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * dwarf2/read.h (struct dwarf2_per_bfd) <obfd>: New member.
+       (dwarf2_get_dwz_file): Replace parameter with dwarf2_per_bfd.
+       * dwarf2/read.c (dwarf2_per_bfd::dwarf2_per_bfd): Assign obfd
+       field.
+       (dwarf2_get_dwz_file): Replace parameter with dwarf2_per_bfd.
+       (create_cus_from_index): Update.
+       (dwarf2_read_gdb_index): Update.
+       (create_cus_from_debug_names): Update.
+       (dwarf2_read_debug_names): Update.
+       (get_abbrev_section_for_cu): Update.
+       (create_all_comp_units): Update.
+       (read_attribute_value): Update.
+       (get_debug_line_section): Update.
+       * dwarf2/index-cache.c (index_cache::store): Update.
+       * dwarf2/index-write.c (save_gdb_index_command): Update.
+       * dwarf2/macro.c (dwarf_decode_macro_bytes): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * dwarf2/read.h (struct dwarf2_per_cu_data) <per_bfd>: New
+       member.
+       * dwarf2/read.c (dwarf2_per_bfd::allocate_per_cu): Initialize
+       dwarf2_per_cu_data::per_bfd.
+       (dwarf2_per_bfd::allocate_signatured_type): Likewise.
+       (create_type_unit_group): Likewise.
+       (queue_comp_unit): Remove reference to
+       per_cu->dwarf2_per_objfile.
+       (maybe_queue_comp_unit): Likewise.
+       (fill_in_sig_entry_from_dwo_entry): Assign new field.
+       (create_cus_hash_table): Assign new field.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c: Replace
+       dwarf2_cu->per_cu->dwarf2_per_objfile references with
+       dwarf2_cu->per_objfile throughout.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (dw2_do_instantiate_symtab): Add per_objfile
+       parameter, don't use per_cu->dwarf2_per_objfile.
+       (dw2_instantiate_symtab): Likewise.
+       (dw2_find_last_source_symtab): Update.
+       (dw2_map_expand_apply): Update.
+       (dw2_lookup_symbol): Update.
+       (dw2_expand_symtabs_for_function): Update.
+       (dw2_expand_all_symtabs): Update.
+       (dw2_expand_symtabs_with_fullname): Update.
+       (dw2_expand_symtabs_matching_one): Add per_objfile parameter,
+       don't use per_cu->dwarf2_per_objfile.
+       (dw2_expand_marked_cus): Update.
+       (dw2_find_pc_sect_compunit_symtab): Update.
+       (dw2_debug_names_lookup_symbol): Update.
+       (dw2_debug_names_expand_symtabs_for_function): Update.
+       (dw2_debug_names_map_matching_symbols): Update.
+       (dwarf2_psymtab::expand_psymtab): Update.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.c (struct dwarf2_cu) <dwarf2_cu>: Add parameter.
+       <per_objfile>: New member.
+       (class cutu_reader) <init_tu_and_read_dwo_dies>: Add parameter.
+       (cutu_reader::init_tu_and_read_dwo_dies): Add parameter, update
+       call to dwarf2_cu.
+       (cutu_reader::cutu_reader): Update.
+       (dwarf2_cu::dwarf2_cu): Add parameter, initialize per_objfile.
+
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.h (struct dwarf2_per_bfd) <die_type_hash>: Move to
+       struct dwarf2_per_objfile.
+       (struct dwarf2_per_objfile) <die_type_hash>: Move from struct
+       dwarf2_per_bfd.
+       * dwarf2/read.c (set_die_type): Update.
+       (get_die_type_at_offset): Update.
+
+2020-05-27  Tom Tromey  <tom@tromey.com>
+           Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/read.h (struct dwarf2_per_bfd) <num_psymtabs>: New
+       method.
+       (struct dwarf2_per_objfile) <resize_symtabs, symtab_set_p,
+       get_symtab, set_symtab>: New methods.
+       <m_symtabs>: New field.
+       (struct dwarf2_psymtab): Derive from partial_symtab.
+       <readin_p, get_compunit_symtab>: Declare methods.
+       * dwarf2/read.c (dwarf2_per_objfile::symtab_set_p,
+       dwarf2_per_objfile::get_symtab, dwarf2_per_objfile::set_symtab):
+       New methods.
+       (struct dwarf2_per_cu_quick_data) <compunit_symtab>: Remove.
+       (dw2_do_instantiate_symtab, dw2_instantiate_symtab)
+       (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
+       (dw2_symtab_iter_next, dw2_print_stats)
+       (dw2_expand_symtabs_with_fullname)
+       (dw2_expand_symtabs_matching_one)
+       (dw_expand_symtabs_matching_file_matcher)
+       (dw2_find_pc_sect_compunit_symtab, dw2_map_symbol_filenames)
+       (dw2_debug_names_iterator::next)
+       (dw2_debug_names_map_matching_symbols)
+       (fill_in_sig_entry_from_dwo_entry, dwarf2_psymtab::read_symtab)
+       (process_queue, dwarf2_psymtab::expand_psymtab): Update.
+       (dwarf2_psymtab::readin_p, dwarf2_psymtab::get_compunit_symtab):
+       New methods.
+       (get_compunit_symtab, process_full_comp_unit)
+       (process_full_type_unit): Update.
+       (dwarf2_build_psymtabs, dwarf2_initialize_objfile, add_type_unit): Call
+
+2020-05-27  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * dwarf2/read.h (dwarf2_per_objfile): Rename to dwarf2_per_bfd,
+       then introduce a new dwarf2_per_objfile type.
+       <read_line_string>: Move to the new dwarf2_per_objfile type.
+       <objfile>: Likewise.
+       (dwarf2_per_bfd): Rename dwarf2_per_objfile to this.
+       * dwarf2/read.c: Replace references to dwarf2_per_objfile with
+       dwarf2_per_objfile->per_bfd.
+       (dwarf2_per_objfile::dwarf2_per_objfile): Rename to...
+       (dwarf2_per_bfd::dwarf2_per_bfd): ... this.
+       (dwarf2_per_objfile::free_cached_comp_units): Rename to...
+       (dwarf2_per_bfd::free_cached_comp_units): ... this.
+       (dwarf2_has_info): Allocate dwarf2_per_bfd.
+       (dwarf2_per_objfile::locate_sections): Rename to...
+       (dwarf2_per_bfd::locate_sections): ... this.
+       (dwarf2_per_objfile::get_cutu): Rename to...
+       (dwarf2_per_bfd::get_cutu): ... this.
+       (dwarf2_per_objfile::get_cu): Rename to...
+       (dwarf2_per_bfd::get_cu): ... this.
+       (dwarf2_per_objfile::get_tu): Rename to...
+       (dwarf2_per_bfd::get_tu): ... this.
+       (dwarf2_per_objfile::allocate_per_cu): Rename to...
+       (dwarf2_per_bfd::allocate_per_cu): ... this.
+       (dwarf2_per_objfile::allocate_signatured_type): Rename to...
+       (dwarf2_per_bfd::allocate_signatured_type): ... this.
+       (get_gdb_index_contents_ftype): Change parameter from
+       dwarf2_per_objfile to dwarf2_per_bfd.
+       * dwarf2/macro.c, dwarf2/index-write.c: Replace references to
+       dwarf2_per_objfile with dwarf2_per_objfile->per_bfd.
+
+2020-05-27  Tom Tromey  <tom@tromey.com>
+           Simon Marchi  <simon.marchi@efficios.com>
+
+       * dwarf2/loc.c (struct piece_closure) <per_objfile>: New member.
+       (allocate_piece_closure): Set "per_objfile" member.
+       (dwarf2_find_location_expression, dwarf2_locexpr_baton_eval)
+       (locexpr_describe_location, loclist_describe_location): Use new
+       member.
+       * dwarf2/read.c (read_call_site_scope)
+       (mark_common_block_symbol_computed, attr_to_dynamic_prop)
+       (dwarf2_const_value_attr, dwarf2_fetch_die_loc_sect_off)
+       (fill_in_loclist_baton, dwarf2_symbol_mark_computed,
+       handle_data_member_location): Set per_objfile member.
+       * dwarf2/loc.h (struct dwarf2_locexpr_baton) <per_objfile>: New
+       member.
+       (struct dwarf2_loclist_baton) <per_objfile>: New member.
+
+2020-05-27  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/read.h (struct dwarf2_per_objfile) <allocate_per_cu,
+       allocate_signatured_type>: Declare new methods.
+       <m_num_psymtabs>: New member.
+       (struct dwarf2_per_cu_data) <index>: New member.
+       * dwarf2/read.c (dwarf2_per_objfile::allocate_per_cu)
+       (dwarf2_per_objfile::allocate_signatured_type): New methods.
+       (create_cu_from_index_list): Use allocate_per_cu.
+       (create_signatured_type_table_from_index)
+       (create_signatured_type_table_from_debug_names)
+       (create_debug_type_hash_table, add_type_unit)
+       (read_comp_units_from_section): Use allocate_signatured_type.
+
+2020-05-27  Tom Tromey  <tom@tromey.com>
+
+       * psymtab.c (partial_map_expand_apply)
+       (psym_find_pc_sect_compunit_symtab, psym_lookup_symbol)
+       (psym_lookup_global_symbol_language)
+       (psymtab_to_symtab, psym_find_last_source_symtab, dump_psymtab)
+       (psym_print_stats, psym_expand_symtabs_for_function)
+       (psym_map_symbol_filenames, psym_map_matching_symbols)
+       (psym_expand_symtabs_matching)
+       (partial_symtab::read_dependencies, maintenance_info_psymtabs)
+       (maintenance_check_psymtabs): Update.
+       * psympriv.h (struct partial_symtab) <readin_p,
+       get_compunit_symtab>: Add objfile parameter.
+       (struct standard_psymtab) <readin_p, get_compunit_symtab>:
+       Likewise.
+       * dwarf2/read.c (struct dwarf2_include_psymtab) <readin_p,
+       get_compunit_symtab>: Likewise.
+       (dwarf2_psymtab::expand_psymtab): Pass objfile argument.
+
+2020-05-27  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/read.h (struct dwarf2_per_objfile) <obstack>: New
+       member.
+       * dwarf2/read.c (delete_file_name_entry): Fix comment.
+       (create_cu_from_index_list)
+       (create_signatured_type_table_from_index)
+       (create_signatured_type_table_from_debug_names)
+       (dw2_get_file_names_reader, dwarf2_initialize_objfile)
+       (dwarf2_create_include_psymtab)
+       (create_debug_type_hash_table, add_type_unit)
+       (create_type_unit_group, read_comp_units_from_section)
+       (dwarf2_compute_name, create_cus_hash_table)
+       (create_dwp_hash_table, create_dwo_unit_in_dwp_v1)
+       (create_dwo_unit_in_dwp_v2, open_and_init_dwp_file): Use new
+       obstack.
+       (dw2_get_real_path): Likewise.  Change argument to
+       dwarf2_per_objfile.
+
+2020-05-27  Luis Machado  <luis.machado@linaro.org>
+
+       PR tdep/26000
+       * arm-tdep.c (thumb_analyze_prologue): Fix instruction matching
+       for ldrd (immediate).
+
+2020-05-26  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+       * command.h: Add comment giving the name of class_tui.
+       * cli/cli-cmds.c (_initialize_cli_cmds): If TUI defined,
+       create the fake command for the help for class_tui.
+
+2020-05-26  Tom Tromey  <tromey@adacore.com>
+
+       * ada-lang.c (ada_print_array_index): Change type.  Call val_atr.
+       (ada_value_ptr_subscript): Don't call pos_atr on the lower bound.
+       (val_atr): New function.
+       (value_val_atr): Use it.
+       * ada-valprint.c (print_optional_low_bound): Change low bound
+       handling for enums.
+       (val_print_packed_array_elements): Don't call discrete_position.
+       * gdbtypes.c (get_discrete_bounds) <TYPE_CODE_RANGE>: Call
+       discrete_position for enum types.
+       * language.c (default_print_array_index): Change type.
+       * language.h (struct language_defn) <la_print_array_index>: Add
+       index_type parameter, change type of index_value.
+       (LA_PRINT_ARRAY_INDEX): Add index_type parameter.
+       (default_print_array_index): Update.
+       * valprint.c (maybe_print_array_index): Don't call
+       value_from_longest.  Update.
+       (value_print_array_elements): Don't call discrete_position.
+
 2020-05-26  Tom Tromey  <tromey@adacore.com>
 
        * ada-lang.c (value_val_atr): Handle TYPE_CODE_RANGE.
This page took 0.028205 seconds and 4 git commands to generate.