@@ -661,9 +661,6 @@ DEF_VEC_O (delayed_method_info);
/* Internal state when decoding a particular compilation unit. */
struct dwarf2_cu
{
- /* The dwarf2_per_objfile containing this compilation unit. */
- struct dwarf2_per_objfile *dwarf2_per_objfile;
-
/* The header of the compilation unit. */
struct comp_unit_head header;
@@ -3931,7 +3928,8 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader,
{
struct dwarf2_cu *cu = reader->cu;
struct dwarf2_per_cu_data *this_cu = cu->per_cu;
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwarf2_per_cu_data *lh_cu;
struct attribute *attr;
@@ -7253,7 +7251,8 @@ fill_in_sig_entry_from_dwo_entry (struct dwarf2_per_objfile *dwarf2_per_objfile,
static struct signatured_type *
lookup_dwo_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwo_file *dwo_file;
struct dwo_unit find_dwo_entry, *dwo_entry;
@@ -7322,7 +7321,8 @@ lookup_dwo_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
static struct signatured_type *
lookup_dwp_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwp_file *dwp_file = get_dwp_file (dwarf2_per_objfile);
struct dwo_unit *dwo_entry;
@@ -7371,7 +7371,8 @@ lookup_dwp_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
static struct signatured_type *
lookup_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
if (cu->dwo_unit
&& dwarf2_per_objfile->using_index)
@@ -8162,7 +8163,8 @@ allocate_type_unit_groups_table (struct objfile *objfile)
static struct type_unit_group *
create_type_unit_group (struct dwarf2_cu *cu, sect_offset line_offset_struct)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwarf2_per_cu_data *per_cu;
struct type_unit_group *tu_group;
@@ -8170,7 +8172,7 @@ create_type_unit_group (struct dwarf2_cu *cu, sect_offset line_offset_struct)
tu_group = OBSTACK_ZALLOC (&objfile->objfile_obstack,
struct type_unit_group);
per_cu = &tu_group->per_cu;
- per_cu->dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ per_cu->dwarf2_per_objfile = dwarf2_per_objfile;
if (dwarf2_per_objfile->using_index)
{
@@ -8208,7 +8210,8 @@ create_type_unit_group (struct dwarf2_cu *cu, sect_offset line_offset_struct)
static struct type_unit_group *
get_type_unit_group (struct dwarf2_cu *cu, const struct attribute *stmt_list)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct tu_stats *tu_stats = &dwarf2_per_objfile->tu_stats;
struct type_unit_group *tu_group;
void **slot;
@@ -8313,7 +8316,7 @@ process_psymtab_comp_unit_reader (const struct die_reader_specs *reader,
void *data)
{
struct dwarf2_cu *cu = reader->cu;
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct dwarf2_per_cu_data *per_cu = cu->per_cu;
CORE_ADDR baseaddr;
@@ -8476,7 +8479,7 @@ build_type_psymtabs_reader (const struct die_reader_specs *reader,
void *data)
{
struct dwarf2_per_objfile *dwarf2_per_objfile
- = reader->cu->dwarf2_per_objfile;
+ = reader->cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwarf2_cu *cu = reader->cu;
struct dwarf2_per_cu_data *per_cu = cu->per_cu;
@@ -9095,12 +9098,12 @@ scan_partial_symbols (struct partial_die_info *first_die, CORE_ADDR *lowpc,
{
error (_("Dwarf Error: DW_TAG_imported_unit is not"
" supported in type units [in module %s]"),
- objfile_name (cu->dwarf2_per_objfile->objfile));
+ objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
}
per_cu = dwarf2_find_containing_comp_unit
(pdi->d.sect_off, pdi->is_dwz,
- cu->dwarf2_per_objfile);
+ cu->per_cu->dwarf2_per_objfile);
/* Go read the partial unit, if needed. */
if (per_cu->v.psymtab == NULL)
@@ -9262,7 +9265,8 @@ partial_die_full_name (struct partial_die_info *pdi,
static void
add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
CORE_ADDR addr = 0;
@@ -9505,7 +9509,7 @@ add_partial_subprogram (struct partial_die_info *pdi,
*highpc = pdi->highpc;
if (set_addrmap)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
CORE_ADDR baseaddr;
CORE_ADDR highpc;
@@ -9591,7 +9595,7 @@ static struct abbrev_info *
peek_die_abbrev (const gdb_byte *info_ptr, unsigned int *bytes_read,
struct dwarf2_cu *cu)
{
- bfd *abfd = cu->dwarf2_per_objfile->objfile->obfd;
+ bfd *abfd = cu->per_cu->dwarf2_per_objfile->objfile->obfd;
unsigned int abbrev_number;
struct abbrev_info *abbrev;
@@ -10260,7 +10264,8 @@ fixup_go_packaging (struct dwarf2_cu *cu)
package_name = this_package_name;
else
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile
+ = cu->per_cu->dwarf2_per_objfile->objfile;
if (strcmp (package_name, this_package_name) != 0)
complaint (&symfile_complaints,
_("Symtab %s has objects from two different Go packages: %s and %s"),
@@ -10277,7 +10282,7 @@ fixup_go_packaging (struct dwarf2_cu *cu)
if (package_name != NULL)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
const char *saved_package_name
= (const char *) obstack_copy0 (&objfile->per_bfd->storage_obstack,
package_name,
@@ -10638,7 +10643,7 @@ process_imported_unit_die (struct die_info *die, struct dwarf2_cu *cu)
{
error (_("Dwarf Error: DW_TAG_imported_unit is not"
" supported in type units [in module %s]"),
- objfile_name (cu->dwarf2_per_objfile->objfile));
+ objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
}
attr = dwarf2_attr (die, DW_AT_import, cu);
@@ -10648,7 +10653,7 @@ process_imported_unit_die (struct die_info *die, struct dwarf2_cu *cu)
bool is_dwz = (attr->form == DW_FORM_GNU_ref_alt || cu->per_cu->is_dwz);
dwarf2_per_cu_data *per_cu
= dwarf2_find_containing_comp_unit (sect_off, is_dwz,
- cu->dwarf2_per_objfile);
+ cu->per_cu->dwarf2_per_objfile);
/* If necessary, add it to the queue and load its DIEs. */
if (maybe_queue_comp_unit (cu, per_cu, cu->language))
@@ -10905,7 +10910,7 @@ dwarf2_compute_name (const char *name,
struct die_info *die, struct dwarf2_cu *cu,
int physname)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
if (name == NULL)
name = dwarf2_name (die, cu);
@@ -11154,7 +11159,7 @@ dwarf2_full_name (const char *name, struct die_info *die, struct dwarf2_cu *cu)
static const char *
dwarf2_physname (const char *name, struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
const char *retval, *mangled = NULL, *canon = NULL;
int need_copy = 1;
@@ -11328,7 +11333,7 @@ using_directives (enum language language)
static void
read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct attribute *import_attr;
struct die_info *imported_die, *child_die;
struct dwarf2_cu *imported_cu;
@@ -11535,7 +11540,8 @@ static void
handle_DW_AT_stmt_list (struct die_info *die, struct dwarf2_cu *cu,
const char *comp_dir, CORE_ADDR lowpc) /* ARI: editCase function */
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct attribute *attr;
struct line_header line_header_local;
@@ -11634,7 +11640,8 @@ handle_DW_AT_stmt_list (struct die_info *die, struct dwarf2_cu *cu,
static void
read_file_scope (struct die_info *die, struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
CORE_ADDR lowpc = ((CORE_ADDR) -1);
@@ -13780,7 +13787,7 @@ inherit_abstract_dies (struct die_info *die, struct dwarf2_cu *cu)
static void
read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct context_stack *newobj;
CORE_ADDR lowpc;
@@ -13971,7 +13978,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
static void
read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct context_stack *newobj;
CORE_ADDR lowpc, highpc;
@@ -14042,7 +14049,7 @@ read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
static void
read_call_site_scope (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
CORE_ADDR pc, baseaddr;
struct attribute *attr;
@@ -14196,7 +14203,7 @@ read_call_site_scope (struct die_info *die, struct dwarf2_cu *cu)
struct die_info *target_die;
target_die = follow_die_ref (die, attr, &target_cu);
- gdb_assert (target_cu->dwarf2_per_objfile->objfile == objfile);
+ gdb_assert (target_cu->per_cu->dwarf2_per_objfile->objfile == objfile);
if (die_is_declaration (target_die, target_cu))
{
const char *target_physname;
@@ -14398,7 +14405,7 @@ read_variable (struct die_info *die, struct dwarf2_cu *cu)
if (containing_type != NULL)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
storage = OBSTACK_ZALLOC (&objfile->objfile_obstack,
struct rust_vtable_symbol);
@@ -14424,7 +14431,7 @@ dwarf2_rnglists_process (unsigned offset, struct dwarf2_cu *cu,
Callback &&callback)
{
struct dwarf2_per_objfile *dwarf2_per_objfile
- = cu->dwarf2_per_objfile;
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
bfd *obfd = objfile->obfd;
/* Base address selection entry. */
@@ -14592,7 +14599,7 @@ dwarf2_ranges_process (unsigned offset, struct dwarf2_cu *cu,
Callback &&callback)
{
struct dwarf2_per_objfile *dwarf2_per_objfile
- = cu->dwarf2_per_objfile;
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct comp_unit_head *cu_header = &cu->header;
bfd *obfd = objfile->obfd;
@@ -14700,7 +14707,7 @@ dwarf2_ranges_read (unsigned offset, CORE_ADDR *low_return,
CORE_ADDR *high_return, struct dwarf2_cu *cu,
struct partial_symtab *ranges_pst)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
const CORE_ADDR baseaddr = ANOFFSET (objfile->section_offsets,
SECT_OFF_TEXT (objfile));
@@ -14767,7 +14774,8 @@ dwarf2_get_pc_bounds (struct die_info *die, CORE_ADDR *lowpc,
CORE_ADDR *highpc, struct dwarf2_cu *cu,
struct partial_symtab *pst)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct attribute *attr;
struct attribute *attr_high;
CORE_ADDR low = 0;
@@ -14942,7 +14950,7 @@ static void
dwarf2_record_block_ranges (struct die_info *die, struct block *block,
CORE_ADDR baseaddr, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct attribute *attr;
struct attribute *attr_high;
@@ -15126,7 +15134,7 @@ static void
dwarf2_add_field (struct field_info *fip, struct die_info *die,
struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct nextfield *new_field;
struct attribute *attr;
@@ -15525,7 +15533,7 @@ static void
dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
struct type *type, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct attribute *attr;
struct fnfieldlist *flp;
int i;
@@ -15837,7 +15845,7 @@ quirk_gcc_member_function_pointer (struct type *type, struct objfile *objfile)
static struct type *
read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct type *type;
struct attribute *attr;
const char *name;
@@ -15960,7 +15968,7 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
static void
process_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct die_info *child_die;
struct type *type;
@@ -16260,7 +16268,7 @@ update_enumeration_type_from_children (struct die_info *die,
static struct type *
read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct type *type;
struct attribute *attr;
const char *name;
@@ -16432,7 +16440,7 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
static struct type *
read_array_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct die_info *child_die;
struct type *type;
struct type *element_type, *range_type, *index_type;
@@ -16616,7 +16624,8 @@ mark_common_block_symbol_computed (struct symbol *sym,
struct attribute *member_loc,
struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwarf2_locexpr_baton *baton;
gdb_byte *ptr;
@@ -16706,7 +16715,7 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
if (die->child != NULL)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct die_info *child_die;
size_t n_entries = 0, size;
struct common_block *common_block;
@@ -16751,7 +16760,7 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
"DW_AT_data_member_location "
"- DIE at 0x%x [in module %s]"),
to_underlying (child_die->sect_off),
- objfile_name (cu->dwarf2_per_objfile->objfile));
+ objfile_name (objfile));
if (attr_form_is_section_offset (member_loc))
dwarf2_complex_location_expr_complaint ();
@@ -16778,7 +16787,7 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
static struct type *
read_namespace_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
const char *previous_prefix, *name;
int is_anonymous;
struct type *type;
@@ -16818,7 +16827,7 @@ read_namespace_type (struct die_info *die, struct dwarf2_cu *cu)
static void
read_namespace (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
int is_anonymous;
/* Add a symbol associated to this if we haven't seen the namespace
@@ -16863,7 +16872,7 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
static struct type *
read_module_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
const char *module_name;
struct type *type;
@@ -16937,7 +16946,8 @@ namespace_name (struct die_info *die, int *is_anonymous, struct dwarf2_cu *cu)
static struct type *
read_tag_pointer_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct gdbarch *gdbarch = get_objfile_arch (cu->dwarf2_per_objfile->objfile);
+ struct gdbarch *gdbarch
+ = get_objfile_arch (cu->per_cu->dwarf2_per_objfile->objfile);
struct comp_unit_head *cu_header = &cu->header;
struct type *type;
struct attribute *attr_byte_size;
@@ -17018,7 +17028,8 @@ read_tag_ptr_to_member_type (struct die_info *die, struct dwarf2_cu *cu)
type = lookup_methodptr_type (to_type);
else if (TYPE_CODE (check_typedef (to_type)) == TYPE_CODE_FUNC)
{
- struct type *new_type = alloc_type (cu->dwarf2_per_objfile->objfile);
+ struct type *new_type
+ = alloc_type (cu->per_cu->dwarf2_per_objfile->objfile);
smash_to_method_type (new_type, domain, TYPE_TARGET_TYPE (to_type),
TYPE_FIELDS (to_type), TYPE_NFIELDS (to_type),
@@ -17181,7 +17192,7 @@ read_tag_atomic_type (struct die_info *die, struct dwarf2_cu *cu)
static struct type *
read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct type *type, *range_type, *index_type, *char_type;
struct attribute *attr;
@@ -17259,7 +17270,7 @@ prototyped_function_p (struct die_info *die, struct dwarf2_cu *cu)
static struct type *
read_subroutine_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct type *type; /* Type that this function returns. */
struct type *ftype; /* Function that returns above type. */
struct attribute *attr;
@@ -17396,7 +17407,7 @@ read_subroutine_type (struct die_info *die, struct dwarf2_cu *cu)
static struct type *
read_typedef (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
const char *name = NULL;
struct type *this_type, *target_type;
@@ -17447,7 +17458,7 @@ dwarf2_init_float_type (struct objfile *objfile, int bits, const char *name,
static struct type *
read_base_type (struct die_info *die, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct type *type;
struct attribute *attr;
int encoding = 0, bits = 0;
@@ -17559,7 +17570,8 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
struct dwarf2_cu *cu, struct dynamic_prop *prop)
{
struct dwarf2_property_baton *baton;
- struct obstack *obstack = &cu->dwarf2_per_objfile->objfile->objfile_obstack;
+ struct obstack *obstack
+ = &cu->per_cu->dwarf2_per_objfile->objfile->objfile_obstack;
if (attr == NULL || prop == NULL)
return 0;
@@ -17721,7 +17733,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
complaint (&symfile_complaints, _("Missing DW_AT_lower_bound "
"- DIE at 0x%x [in module %s]"),
to_underlying (die->sect_off),
- objfile_name (cu->dwarf2_per_objfile->objfile));
+ objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
attr = dwarf2_attr (die, DW_AT_upper_bound, cu);
if (!attr_to_dynamic_prop (attr, die, cu, &high))
@@ -17751,7 +17763,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
high bound or count are not yet handled by this code. */
if (TYPE_CODE (base_type) == TYPE_CODE_VOID)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
int addr_size = gdbarch_addr_bit (gdbarch) /8;
struct type *int_type = objfile_type (objfile)->builtin_int;
@@ -17823,7 +17835,7 @@ read_unspecified_type (struct die_info *die, struct dwarf2_cu *cu)
/* For now, we only support the C meaning of an unspecified type: void. */
- type = init_type (cu->dwarf2_per_objfile->objfile, TYPE_CODE_VOID, 0, NULL);
+ type = init_type (cu->per_cu->dwarf2_per_objfile->objfile, TYPE_CODE_VOID, 0, NULL);
TYPE_NAME (type) = dwarf2_name (die, cu);
return set_die_type (die, type, cu);
@@ -18210,7 +18222,7 @@ dwarf2_read_abbrevs (struct dwarf2_cu *cu,
struct dwarf2_section_info *abbrev_section)
{
cu->abbrev_table =
- abbrev_table_read_table (cu->dwarf2_per_objfile, abbrev_section,
+ abbrev_table_read_table (cu->per_cu->dwarf2_per_objfile, abbrev_section,
cu->header.abbrev_sect_off);
}
@@ -18267,7 +18279,7 @@ load_partial_dies (const struct die_reader_specs *reader,
const gdb_byte *info_ptr, int building_psymtab)
{
struct dwarf2_cu *cu = reader->cu;
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct partial_die_info *part_die;
struct partial_die_info *parent_die, *last_die, *first_die = NULL;
struct abbrev_info *abbrev;
@@ -18544,7 +18556,8 @@ read_partial_die (const struct die_reader_specs *reader,
const gdb_byte *info_ptr)
{
struct dwarf2_cu *cu = reader->cu;
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
const gdb_byte *buffer = reader->buffer;
unsigned int i;
@@ -18782,7 +18795,8 @@ find_partial_die_in_comp_unit (sect_offset sect_off, struct dwarf2_cu *cu)
static struct partial_die_info *
find_partial_die (sect_offset sect_off, int offset_in_dwz, struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwarf2_per_cu_data *per_cu = NULL;
struct partial_die_info *pd = NULL;
@@ -18884,7 +18898,7 @@ guess_partial_die_structure_name (struct partial_die_info *struct_pdi,
child_pdi->linkage_name);
if (actual_class_name != NULL)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct_pdi->name
= ((const char *)
obstack_copy0 (&objfile->per_bfd->storage_obstack,
@@ -18941,7 +18955,8 @@ fixup_partial_die (struct partial_die_info *part_die,
children, see if we can determine the namespace from their linkage
name. */
if (cu->language == language_cplus
- && !VEC_empty (dwarf2_section_info_def, cu->dwarf2_per_objfile->types)
+ && !VEC_empty (dwarf2_section_info_def,
+ cu->per_cu->dwarf2_per_objfile->types)
&& part_die->die_parent == NULL
&& part_die->has_children
&& (part_die->tag == DW_TAG_class_type
@@ -18973,7 +18988,7 @@ fixup_partial_die (struct partial_die_info *part_die,
else
base = demangled;
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
part_die->name
= ((const char *)
obstack_copy0 (&objfile->per_bfd->storage_obstack,
@@ -18993,7 +19008,8 @@ read_attribute_value (const struct die_reader_specs *reader,
LONGEST implicit_const, const gdb_byte *info_ptr)
{
struct dwarf2_cu *cu = reader->cu;
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
bfd *abfd = reader->abfd;
@@ -19694,8 +19710,8 @@ read_addr_index_1 (struct dwarf2_per_objfile *dwarf2_per_objfile,
static CORE_ADDR
read_addr_index (struct dwarf2_cu *cu, unsigned int addr_index)
{
- return read_addr_index_1 (cu->dwarf2_per_objfile, addr_index, cu->addr_base,
- cu->header.addr_size);
+ return read_addr_index_1 (cu->per_cu->dwarf2_per_objfile, addr_index,
+ cu->addr_base, cu->header.addr_size);
}
/* Given a pointer to an leb128 value, fetch the value from .debug_addr. */
@@ -19704,7 +19720,7 @@ static CORE_ADDR
read_addr_index_from_leb128 (struct dwarf2_cu *cu, const gdb_byte *info_ptr,
unsigned int *bytes_read)
{
- bfd *abfd = cu->dwarf2_per_objfile->objfile->obfd;
+ bfd *abfd = cu->per_cu->dwarf2_per_objfile->objfile->obfd;
unsigned int addr_index = read_unsigned_leb128 (abfd, info_ptr, bytes_read);
return read_addr_index (cu, addr_index);
@@ -19795,7 +19811,8 @@ static const char *
read_str_index (const struct die_reader_specs *reader, ULONGEST str_index)
{
struct dwarf2_cu *cu = reader->cu;
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
const char *objf_name = objfile_name (objfile);
bfd *abfd = objfile->obfd;
@@ -19978,7 +19995,7 @@ dwarf2_string_attr (struct die_info *die, unsigned int name, struct dwarf2_cu *c
_("string type expected for attribute %s for "
"DIE at 0x%x in module %s"),
dwarf_attr_name (name), to_underlying (die->sect_off),
- objfile_name (cu->dwarf2_per_objfile->objfile));
+ objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
}
return str;
@@ -20070,7 +20087,8 @@ static struct dwarf2_section_info *
get_debug_line_section (struct dwarf2_cu *cu)
{
struct dwarf2_section_info *section;
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
/* For TUs in DWO files, the DW_AT_stmt_list attribute lives in the
DWO file. */
@@ -20237,7 +20255,8 @@ dwarf_decode_line_header (sect_offset sect_off, struct dwarf2_cu *cu)
const char *cur_dir, *cur_file;
struct dwarf2_section_info *section;
bfd *abfd;
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
section = get_debug_line_section (cu);
dwarf2_read_section (dwarf2_per_objfile->objfile, section);
@@ -20870,7 +20889,7 @@ lnp_state_machine::check_line_address (struct dwarf2_cu *cu,
/* This line table is for a function which has been
GCd by the linker. Ignore it. PR gdb/12528 */
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
long line_offset = line_ptr - get_debug_line_section (cu)->buffer;
complaint (&symfile_complaints,
@@ -20896,7 +20915,7 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
unsigned int bytes_read, extended_len;
unsigned char op_code, extended_op;
CORE_ADDR baseaddr;
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
bfd *abfd = objfile->obfd;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
/* True if we're recording line info (as opposed to building partial
@@ -21127,7 +21146,7 @@ dwarf_decode_lines (struct line_header *lh, const char *comp_dir,
struct dwarf2_cu *cu, struct partial_symtab *pst,
CORE_ADDR lowpc, int decode_mapping)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
const int decode_for_pst_p = (pst != NULL);
if (decode_mapping)
@@ -21227,8 +21246,8 @@ dwarf2_start_symtab (struct dwarf2_cu *cu,
const char *name, const char *comp_dir, CORE_ADDR low_pc)
{
struct compunit_symtab *cust
- = start_symtab (cu->dwarf2_per_objfile->objfile, name, comp_dir, low_pc,
- cu->language);
+ = start_symtab (cu->per_cu->dwarf2_per_objfile->objfile, name, comp_dir,
+ low_pc, cu->language);
record_debugformat ("DWARF 2");
record_producer (cu->producer);
@@ -21245,7 +21264,7 @@ static void
var_decode_location (struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct comp_unit_head *cu_header = &cu->header;
/* NOTE drow/2003-01-30: There used to be a comment and some special
@@ -21318,7 +21337,8 @@ static struct symbol *
new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
struct symbol *space)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct symbol *sym = NULL;
@@ -21717,7 +21737,7 @@ static gdb_byte *
dwarf2_const_value_data (const struct attribute *attr, struct obstack *obstack,
struct dwarf2_cu *cu, LONGEST *value, int bits)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
enum bfd_endian byte_order = bfd_big_endian (objfile->obfd) ?
BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE;
LONGEST l = DW_UNSND (attr);
@@ -21752,7 +21772,7 @@ dwarf2_const_value_attr (const struct attribute *attr, struct type *type,
LONGEST *value, const gdb_byte **bytes,
struct dwarf2_locexpr_baton **baton)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
struct comp_unit_head *cu_header = &cu->header;
struct dwarf_block *blk;
enum bfd_endian byte_order = (bfd_big_endian (objfile->obfd) ?
@@ -21854,7 +21874,7 @@ static void
dwarf2_const_value (const struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
LONGEST value;
const gdb_byte *bytes;
struct dwarf2_locexpr_baton *baton;
@@ -21891,8 +21911,9 @@ die_type (struct die_info *die, struct dwarf2_cu *cu)
type_attr = dwarf2_attr (die, DW_AT_type, cu);
if (!type_attr)
{
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
/* A missing DW_AT_type represents a void type. */
- return objfile_type (cu->dwarf2_per_objfile->objfile)->builtin_void;
+ return objfile_type (objfile)->builtin_void;
}
return lookup_die_type (die, type_attr, cu);
@@ -21955,11 +21976,12 @@ static struct type *
die_containing_type (struct die_info *die, struct dwarf2_cu *cu)
{
struct attribute *type_attr;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
type_attr = dwarf2_attr (die, DW_AT_containing_type, cu);
if (!type_attr)
error (_("Dwarf Error: Problem turning containing type into gdb type "
- "[in module %s]"), objfile_name (cu->dwarf2_per_objfile->objfile));
+ "[in module %s]"), objfile_name (objfile));
return lookup_die_type (die, type_attr, cu);
}
@@ -21969,7 +21991,8 @@ die_containing_type (struct die_info *die, struct dwarf2_cu *cu)
static struct type *
build_error_marker_type (struct dwarf2_cu *cu, struct die_info *die)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
char *message, *saved;
@@ -21993,7 +22016,8 @@ static struct type *
lookup_die_type (struct die_info *die, const struct attribute *attr,
struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct type *this_type;
@@ -22178,7 +22202,7 @@ guess_full_die_structure_name (struct die_info *die, struct dwarf2_cu *cu)
struct die_info *spec_die;
struct dwarf2_cu *spec_cu;
struct die_info *child;
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
spec_cu = cu;
spec_die = die_specification (die, &spec_cu);
@@ -22262,7 +22286,7 @@ anonymous_struct_prefix (struct die_info *die, struct dwarf2_cu *cu)
if (base == NULL || base == DW_STRING (attr) || base[-1] != ':')
return "";
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
return (char *) obstack_copy0 (&objfile->per_bfd->storage_obstack,
DW_STRING (attr),
&base[-1] - DW_STRING (attr));
@@ -22286,7 +22310,8 @@ anonymous_struct_prefix (struct die_info *die, struct dwarf2_cu *cu)
static const char *
determine_prefix (struct die_info *die, struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct die_info *parent, *spec_die;
struct dwarf2_cu *spec_cu;
struct type *parent_type;
@@ -22532,7 +22557,7 @@ static const char *
dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
{
struct attribute *attr;
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
attr = dwarf2_attr (die, DW_AT_name, cu);
if ((!attr || !DW_STRING (attr))
@@ -22953,7 +22978,7 @@ follow_die_ref_or_sig (struct die_info *src_die, const struct attribute *attr,
{
dump_die_for_error (src_die);
error (_("Dwarf Error: Expected reference attribute [in module %s]"),
- objfile_name ((*ref_cu)->dwarf2_per_objfile->objfile));
+ objfile_name ((*ref_cu)->per_cu->dwarf2_per_objfile->objfile));
}
return die;
@@ -22970,7 +22995,8 @@ follow_die_offset (sect_offset sect_off, int offset_in_dwz,
{
struct die_info temp_die;
struct dwarf2_cu *target_cu, *cu = *ref_cu;
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
gdb_assert (cu->per_cu != NULL);
@@ -23033,7 +23059,7 @@ follow_die_ref (struct die_info *src_die, const struct attribute *attr,
error (_("Dwarf Error: Cannot find DIE at 0x%x referenced from DIE "
"at 0x%x [in module %s]"),
to_underlying (sect_off), to_underlying (src_die->sect_off),
- objfile_name (cu->dwarf2_per_objfile->objfile));
+ objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
return die;
}
@@ -23342,7 +23368,7 @@ follow_die_sig_1 (struct die_info *src_die, struct signatured_type *sig_type,
if (die)
{
struct dwarf2_per_objfile *dwarf2_per_objfile
- = (*ref_cu)->dwarf2_per_objfile;
+ = (*ref_cu)->per_cu->dwarf2_per_objfile;
/* For .gdb_index version 7 keep track of included TUs.
http://sourceware.org/bugzilla/show_bug.cgi?id=15021. */
@@ -23385,7 +23411,7 @@ follow_die_sig (struct die_info *src_die, const struct attribute *attr,
error (_("Dwarf Error: Cannot find signatured DIE %s referenced"
" from DIE at 0x%x [in module %s]"),
hex_string (signature), to_underlying (src_die->sect_off),
- objfile_name ((*ref_cu)->dwarf2_per_objfile->objfile));
+ objfile_name ((*ref_cu)->per_cu->dwarf2_per_objfile->objfile));
}
die = follow_die_sig_1 (src_die, sig_type, ref_cu);
@@ -23395,7 +23421,7 @@ follow_die_sig (struct die_info *src_die, const struct attribute *attr,
error (_("Dwarf Error: Problem reading signatured DIE %s referenced"
" from DIE at 0x%x [in module %s]"),
hex_string (signature), to_underlying (src_die->sect_off),
- objfile_name ((*ref_cu)->dwarf2_per_objfile->objfile));
+ objfile_name ((*ref_cu)->per_cu->dwarf2_per_objfile->objfile));
}
return die;
@@ -23408,7 +23434,8 @@ static struct type *
get_signatured_type (struct die_info *die, ULONGEST signature,
struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct signatured_type *sig_type;
struct dwarf2_cu *type_cu;
struct die_info *type_die;
@@ -23484,7 +23511,8 @@ get_DW_AT_signature_type (struct die_info *die, const struct attribute *attr,
}
else
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
complaint (&symfile_complaints,
_("Dwarf Error: DW_AT_signature has bad form %s in DIE"
@@ -23596,7 +23624,7 @@ read_signatured_type (struct signatured_type *sig_type)
static CORE_ADDR
decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->dwarf2_per_objfile->objfile;
+ struct objfile *objfile = cu->per_cu->dwarf2_per_objfile->objfile;
size_t i;
size_t size = blk->size;
const gdb_byte *data = blk->data;
@@ -24584,7 +24612,8 @@ static void
dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset,
int section_is_gnu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct line_header *lh = cu->line_header;
bfd *abfd;
@@ -24864,7 +24893,8 @@ attr_form_is_ref (const struct attribute *attr)
static struct dwarf2_section_info *
cu_debug_loc_section (struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
if (cu->dwo_unit)
{
@@ -24883,7 +24913,8 @@ fill_in_loclist_baton (struct dwarf2_cu *cu,
struct dwarf2_loclist_baton *baton,
const struct attribute *attr)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct dwarf2_section_info *section = cu_debug_loc_section (cu);
dwarf2_read_section (dwarf2_per_objfile->objfile, section);
@@ -24902,7 +24933,8 @@ static void
dwarf2_symbol_mark_computed (const struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu, int is_block)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct dwarf2_section_info *section = cu_debug_loc_section (cu);
@@ -25123,7 +25155,6 @@ init_one_comp_unit (struct dwarf2_cu *cu, struct dwarf2_per_cu_data *per_cu)
memset (cu, 0, sizeof (*cu));
per_cu->cu = cu;
cu->per_cu = per_cu;
- cu->dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
obstack_init (&cu->comp_unit_obstack);
}
@@ -25346,7 +25377,8 @@ per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs)
static struct type *
set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
{
- struct dwarf2_per_objfile *dwarf2_per_objfile = cu->dwarf2_per_objfile;
+ struct dwarf2_per_objfile *dwarf2_per_objfile
+ = cu->per_cu->dwarf2_per_objfile;
struct dwarf2_per_cu_offset_and_type **slot, ofs;
struct objfile *objfile = dwarf2_per_objfile->objfile;
struct attribute *attr;