From e3beb21d3521e7f5ba8b40732ea1bfe3cafd9033 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 27 May 2020 11:13:56 -0400 Subject: [PATCH] Remove dwarf2_per_cu_data::dwarf2_per_objfile reference in cutu_reader::keep Here, it should be safe to use dwarf2_per_cu_data->cu->per_objfile, as we know that dwarf2_per_cu_data->cu will be set at this point. Note that this adds a reference to dwarf2_per_cu_data::cu, which we'll want to remove later, but the current focus is to remove references to dwarf2_per_cu_data::dwarf2_per_objfile. We'll deal with that in a subsequent patch. gdb/ChangeLog: * dwarf2/read.c (cutu_reader::keep): Access dwarf2_per_objfile object through m_this_cu->cu. Change-Id: I8dc26d4db021e0b9e9306eb033965b2704bba87c --- gdb/ChangeLog | 5 +++++ gdb/dwarf2/read.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 952722f3ac..e5f20d3227 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-05-27 Simon Marchi + + * dwarf2/read.c (cutu_reader::keep): Access dwarf2_per_objfile + object through m_this_cu->cu. + 2020-05-27 Simon Marchi * dwarf2/read.c (queue_and_load_dwo_tu): Expect a dwarf2_cu as diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 64cf5f47f7..d58303098c 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -7162,8 +7162,11 @@ cutu_reader::keep () gdb_assert (!dummy_p); if (m_new_cu != NULL) { - struct dwarf2_per_objfile *dwarf2_per_objfile - = m_this_cu->dwarf2_per_objfile; + /* We know that m_this_cu->cu is set, since we are in the process of + parsing the CU. */ + gdb_assert (m_this_cu->cu != nullptr); + dwarf2_per_objfile *dwarf2_per_objfile = m_this_cu->cu->per_objfile; + /* Link this CU into read_in_chain. */ m_this_cu->cu->read_in_chain = dwarf2_per_objfile->per_bfd->read_in_chain; dwarf2_per_objfile->per_bfd->read_in_chain = m_this_cu; -- 2.34.1