+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.c (class cutu_reader) <cutu_reader>: Replace
+ `int use_existing_cu` parameter with `dwarf2_cu *existing_cu`.
+ (init_tu_and_read_dwo_dies): Likewise.
+ (cutu_reader::init_tu_and_read_dwo_dies): Likewise.
+ (cutu_reader::cutu_reader): Likewise.
+ (load_partial_comp_unit): Likewise.
+ (process_psymtab_comp_unit): Update.
+ (build_type_psymtabs_1): Update.
+ (process_skeletonless_type_unit): Update.
+ (load_full_comp_unit): Update.
+ (find_partial_die): Update.
+ (dwarf2_read_addr_index): Update.
+ (read_signatured_type): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data) <m_header,
+ m_header_read_in>: New fields.
+ <get_header>: New method.
+ * dwarf2/read.c (per_cu_header_read_in): Remove.
+ (dwarf2_per_cu_data::get_header): New.
+ (dwarf2_per_cu_data::addr_size): Update.
+ (dwarf2_per_cu_data::offset_size): Update.
+ (dwarf2_per_cu_data::ref_addr_size): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2/read.c (load_cu): Return dwarf2_cu.
+ (dw2_do_instantiate_symtab): Update.
+ (queue_and_load_all_dwo_tus): Change parameter from
+ dwarf2_per_cu_data to dwarf2_cu.
+ (dwarf2_fetch_die_loc_sect_off): Update.
+ (dwarf2_fetch_constant_bytes): Update.
+ (dwarf2_fetch_die_type_sect_off): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2/read.c (process_full_comp_unit,
+ process_full_type_unit): Remove per_cu, per_objfile paramters.
+ Add dwarf2_cu parameter.
+ (process_queue): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2/read.c (create_cu_from_index_list): Replace
+ dwarf2_per_objfile parameter with dwarf2_per_bfd.
+ (create_cus_from_index_list): Likewise.
+ (create_cus_from_index): Likewise.
+ (create_signatured_type_table_from_index): Likewise.
+ (create_cus_from_debug_names_list): Likewise.
+ (create_cus_from_debug_names): Likewise.
+ (dwarf2_read_gdb_index): Update.
+ (dwarf2_read_debug_names): Update.
+
+2020-05-27 Tom Tromey <tom@tromey.com>
+ Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_objfile)
+ <get_type_for_signatured_type, set_type_for_signatured_type>:
+ New methods.
+ <m_type_map>: New member.
+ (struct signatured_type) <type>: Remove.
+ * dwarf2/read.c
+ (dwarf2_per_objfile::get_type_for_signatured_type,
+ dwarf2_per_objfile::set_type_for_signatured_type): New.
+ (get_signatured_type): Use new methods.
+
+2020-05-27 Tom Tromey <tom@tromey.com>
+ Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct type_unit_group_unshareable): New.
+ (struct dwarf2_per_objfile) <type_units>: New member.
+ <get_type_unit_group_unshareable>: New method.
+ * dwarf2/read.c (struct type_unit_group) <compunit_symtab,
+ num_symtabs, symtabs>: Remove; move to
+ type_unit_group_unshareable.
+ (dwarf2_per_objfile::get_type_unit_group_unshareable): New.
+ (process_full_type_unit, dwarf2_cu::setup_type_unit_groups)
+ (dwarf2_cu::setup_type_unit_groups): Use type_unit_group_unshareable.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data):
+ <dwarf2_per_objfile>: Remove.
+ * dwarf2/read.c (create_cu_from_index_list): Don't assign
+ dwarf2_per_objfile.
+ (create_signatured_type_table_from_index): Likewise.
+ (create_signatured_type_table_from_debug_names): Likewise.
+ (create_debug_type_hash_table): Likewise.
+ (fill_in_sig_entry_from_dwo_entry): Likewise.
+ (create_type_unit_group): Likewise.
+ (read_comp_units_from_section): Likewise.
+ (create_cus_hash_table): Likewise.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.c (process_psymtab_comp_unit): Remove reference to
+ dwarf2_per_cu_data::dwarf2_per_objfile.
+ (compute_compunit_symtab_includes): Likewise.
+ (dwarf2_cu::start_symtab): Likewise.
+
+2020-05-27 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2/read.h (dwarf2_get_die_type): Add dwarf2_per_objfile
+ parameter.
+ * dwarf2/read.c (get_die_type_at_offset): Likewise.
+ (read_namespace_alias): Update.
+ (lookup_die_type): Update.
+ (dwarf2_get_die_type): Add dwarf2_per_objfile parameter.
+ * dwarf2/loc.c (class dwarf_evaluate_loc_desc) <get_base_type>:
+ Update.
+ (disassemble_dwarf_expression): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_queue_item): Add
+ dwarf2_per_objfile parameter, assign new parameter.
+ <per_objfile>: New field.
+ * dwarf2/read.c (free_one_cached_comp_unit): Add
+ dwarf2_per_objfile parameter.
+ (queue_comp_unit): Likewise.
+ (dw2_do_instantiate_symtab): Update.
+ (process_psymtab_comp_unit): Update.
+ (maybe_queue_comp_unit): Add dwarf2_per_objfile parameter.
+ (process_imported_unit_die): Update.
+ (queue_and_load_dwo_tu): Update.
+ (follow_die_offset): Update.
+ (follow_die_sig_1): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data) <objfile>: Remove.
+ * dwarf2/read.c (dwarf2_compute_name): Pass per_objfile down.
+ (read_call_site_scope): Assign per_objfile.
+ (dwarf2_per_cu_data::objfile): Remove.
+ * gdbtypes.h (struct call_site) <per_objfile>: New member.
+ * dwarf2/loc.h (dwarf2_evaluate_loc_desc): Add
+ dwarf2_per_objfile parameter.
+ * dwarf2/loc.c (dwarf2_evaluate_loc_desc_full): Add
+ dwarf2_per_objfile parameter.
+ (dwarf_expr_reg_to_entry_parameter): Add output
+ dwarf2_per_objfile parameter.
+ (locexpr_get_frame_base): Update.
+ (class dwarf_evaluate_loc_desc) <get_tls_address>: Update.
+ <push_dwarf_reg_entry_value>: Update.
+ <call_site_to_target_addr>: Update.
+ (dwarf_entry_parameter_to_value): Add dwarf2_per_objfile
+ parameter.
+ (value_of_dwarf_reg_entry): Update.
+ (rw_pieced_value): Update.
+ (indirect_synthetic_pointer): Update.
+ (dwarf2_evaluate_property): Update.
+ (dwarf2_loc_desc_get_symbol_read_needs): Add dwarf2_per_objfile
+ parameter.
+ (locexpr_read_variable): Update.
+ (locexpr_get_symbol_read_needs): Update.
+ (loclist_read_variable): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (dwarf2_fetch_die_loc_sect_off,
+ dwarf2_fetch_die_loc_cu_off, dwarf2_fetch_constant_bytes,
+ dwarf2_fetch_die_type_sect_off): Add dwarf2_per_objfile
+ parameter.
+ * dwarf2/read.c (dwarf2_fetch_die_loc_sect_off,
+ dwarf2_fetch_die_loc_cu_off, dwarf2_fetch_constant_bytes,
+ dwarf2_fetch_die_type_sect_off): Add dwarf2_per_objfile
+ parameter.
+ * dwarf2/loc.c (indirect_synthetic_pointer, per_cu_dwarf_call,
+ sect_variable_value): Add dwarf2_per_objfile parameter.
+ (class dwarf_evaluate_loc_desc) <dwarf_call,
+ dwarf_variable_value>: Update.
+ (fetch_const_value_from_synthetic_pointer): Add
+ dwarf2_per_objfile parameter.
+ (fetch_const_value_from_synthetic_pointer): Update.
+ (coerced_pieced_ref): Update.
+ (class symbol_needs_eval_context) <dwarf_call,
+ dwarf_variable_value>: Update.
+ (dwarf2_compile_expr_to_ax): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/loc.c (allocate_piece_closure): Add dwarf2_per_objfile
+ parameter.
+ (dwarf2_evaluate_loc_desc_full): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (dwarf2_read_addr_index): Add dwarf2_per_objfile
+ parameter.
+ * dwarf2/read.c (dwarf2_read_addr_index): Likewise.
+ * dwarf2/loc.c (decode_debug_loclists_addresses): Add
+ dwarf2_per_objfile parameter.
+ (decode_debug_loc_dwo_addresses): Likewise.
+ (dwarf2_find_location_expression): Update.
+ (class dwarf_evaluate_loc_desc) <get_addr_index>: Update.
+ (locexpr_describe_location_piece): Add dwarf2_per_objfile
+ parameter.
+ (disassemble_dwarf_expression): Add dwarf2_per_objfile
+ parameter.
+ (locexpr_describe_location_1): Likewise.
+ (locexpr_describe_location): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data) <text_offset>:
+ Remove.
+ * dwarf2/read.c (dwarf2_per_cu_data::text_offset): Remove.
+ * dwarf2/loc.c (dwarf2_find_location_expression): Update.
+ (dwarf2_compile_property_to_c): Update.
+ (dwarf2_compile_expr_to_ax): Add dwarf2_per_objfile parameter,
+ use text offset from objfile.
+ (locexpr_tracepoint_var_ref): Update.
+ (locexpr_generate_c_location): Update.
+ (loclist_describe_location): Update.
+ (loclist_tracepoint_var_ref): Update.
+ * dwarf2/compile.h (compile_dwarf_bounds_to_c): Add
+ dwarf2_per_objfile parameter.
+ * dwarf2/loc2c.c (do_compile_dwarf_expr_to_c): Likewise,
+ use text offset from objfile.
+ (compile_dwarf_expr_to_c): Add dwarf2_per_objfile parameter.
+
2020-05-27 Simon Marchi <simon.marchi@efficios.com>
* dwarf2/expr.h (struct dwarf_expr_context)