aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-linux-nat.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-05-27 11:13:59 -0400
committerSimon Marchi <simon.marchi@efficios.com>2020-05-27 11:15:56 -0400
commit4ab09049d65fbda8637400bde3d39761ae512404 (patch)
tree1804c6345a8267627579e29511848854f479ce41 /gdb/i386-linux-nat.c
parent47b14e8676aa8a4d91f9e3af02aed3a4be00186a (diff)
downloadbinutils-4ab09049d65fbda8637400bde3d39761ae512404.zip
binutils-4ab09049d65fbda8637400bde3d39761ae512404.tar.gz
binutils-4ab09049d65fbda8637400bde3d39761ae512404.tar.bz2
Pass dwarf2_cu objects to dwo-related functions, instead of dwarf2_per_cu_data
This allows removing references to the dwarf2_per_cu_data::dwarf2_per_objfile field. I am not too sure of the code flow here, but ultimately open_and_init_dwo_file calls create_cus_hash_table, and passes it per_cu->cu. create_cus_hash_table requires a dwarf2_cu to pass to cutu_reader, as the "parent_cu". The dwarf2_per_cu_data::cu link is only set when in a certain context. It's not easy to convince myself in which situations it's safe to use it. Instead, if a function is going to use a dwarf2_cu, I think it's simpler if it takes that object directly. If it needs access to the corresponding dwarf2_per_cu_data object, then it can used the dwarf2_cu::per_cu field, which we know is always set. This patch adds some references to dwarf2_per_cu_data::cu in the cutu_reader context. In this context, we know this field will be set, as it's cutu_reader that is responsible for instantiating the dwarf2_cu and assigning the field. gdb/ChangeLog: * 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. Change-Id: I0406a715b0797963bde2bd86237f159cbece5839
Diffstat (limited to 'gdb/i386-linux-nat.c')
0 files changed, 0 insertions, 0 deletions