aboutsummaryrefslogtreecommitdiff
path: root/gas/tc.h
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-05-27 11:14:04 -0400
committerSimon Marchi <simon.marchi@efficios.com>2020-05-27 11:15:57 -0400
commit9f47c7071654d8cee82ff91ec1e65d57bd78e77f (patch)
treed85134af274fb8ff26ab4d6365ec591428fd4cbf /gas/tc.h
parent14095eb32673d88b8495769e95e1db8393ed2a3a (diff)
downloadgdb-9f47c7071654d8cee82ff91ec1e65d57bd78e77f.zip
gdb-9f47c7071654d8cee82ff91ec1e65d57bd78e77f.tar.gz
gdb-9f47c7071654d8cee82ff91ec1e65d57bd78e77f.tar.bz2
Remove dwarf2_per_cu_data::objfile ()
Since dwarf2_per_cu_data objects are going to become objfile-independent, the backlink from dwarf2_per_cu_data to one particular objfile must be removed. Instead, users of dwarf2_per_cu_data that need an objfile must know from somewhere else in the context of which objfile they are using this CU. This also helps remove a dwarf2_per_cu_data::dwarf2_per_objfile reference (from where the objfile was obtained). Note that the dwarf2_per_cu_data::objfile method has a special case to make sure to return the main objfile, if the objfile associated to the dwarf2_per_cu_data is a separate debug objfile. I don't really know if this is necessary: I ignored that, and didn't see any regression when testing with the various Dejagnu boards with separate debug info, so I presume it wasn't needed. If it turns out this was needed, then we can have a helper method on the objfile type for that. gdb/ChangeLog: * 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. Change-Id: Idb40d1a94995af305054d463967bb6ce11a08f25
Diffstat (limited to 'gas/tc.h')
0 files changed, 0 insertions, 0 deletions