]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/ChangeLog
Remove leftover references to dwarf2_per_cu_data::dwarf2_per_objfile
[thirdparty/binutils-gdb.git] / gdb / ChangeLog
index 625fa3e7ee599580e235e93427d88481267613c9..b519a042c7ed982288dc301d893c3c04d79d03bb 100644 (file)
@@ -1,3 +1,460 @@
+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)
+       <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