diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-10-31 20:25:40 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-10-31 20:25:40 +0100 |
commit | 2a3d56bfc4890f0b5e8107883ba3436a8e6fb6a8 (patch) | |
tree | dfd3fee6edbb159f4cef1a0caae1b1c59537e354 /gcc/dwarf2out.h | |
parent | 25f409344c22aedf9eb2d939b79d8750d0b00163 (diff) | |
download | gcc-2a3d56bfc4890f0b5e8107883ba3436a8e6fb6a8.zip gcc-2a3d56bfc4890f0b5e8107883ba3436a8e6fb6a8.tar.gz gcc-2a3d56bfc4890f0b5e8107883ba3436a8e6fb6a8.tar.bz2 |
dwarf2out.h (enum dw_val_class): Add dw_val_class_loclistsptr.
* dwarf2out.h (enum dw_val_class): Add dw_val_class_loclistsptr.
* dwarf2out.c (struct dw_loc_list_struct): Change emitted field
from bool to 1-bit uchar bitfield. Add num_assigned and
offset_emitted bitfields.
(dw_val_equal_p): Compare v.val_lbl_id rather than v.val_unsigned
for dw_val_class_lineptr and dw_val_class_macptr. Handle
dw_val_class_loclistsptr.
(new_addr_loc_descr): Fix up formatting.
(DEBUG_LOCLISTS_SECTION, DEBUG_DWO_LOCLISTS_SECTION): Define.
(add_AT_low_high_pc): Fix up formatting.
(add_AT_loclistsptr): New function.
(AT_lbl): Allow dw_val_class_loclistsptr.
(print_dw_val, attr_checksum, attr_checksum_ordered, same_dw_val_p):
Handle dw_val_class_loclistsptr.
(loc_list_idx): New variable.
(output_loclists_offsets, assign_location_list_indexes): New
functions.
(size_of_die): For dw_val_class_loc_list -gsplit-dwarf -gdwarf-5
add size_of_uleb128 of the index. Drop never used
dwarf_split_debug_info AT_index handling. Handle
dw_val_class_loclistsptr.
(value_format): Return DW_FORM_loclistsx for dw_val_class_loc_list
if -gsplit-dwarf -gdwarf-5. Handle dw_val_class_loclistsptr.
(output_loc_list): Handle DWARF 5 .debug_loclists* format.
(output_loc_list_offset): Handle -gsplit-dwarf -gdwarf-5
DW_FORM_loclistx indexes.
(output_attr_index_or_value): Fix up formatting. Don't handle
dw_val_class_loc_list here.
(output_die): Formatting fixes. Handle dw_val_class_loclistsptr.
For dw_val_class_loc_list call output_loc_list_offset rather than
output_attr_index_or_value.
(init_sections_and_labels): For -gdwarf-5 use .debug_loclists
or .debug_loclists.dwo section name for debug_loc_section.
(resolve_addr_in_expr): Formatting fix.
(index_location_lists): Likewise.
(dwarf2out_finish): If there are any location lists, for
-gsplit-dwarf -gdwarf-5 add DW_AT_loclists_base attribute. Call
index_location_lists only if have_location_lists. Call
assign_location_list_indexes for -gsplit-dwarf -gdwarf-5. Emit
.debug_loclists{,.dwo} section header for -gdwarf-5, for -gdwarf-5
-gsplit-dwarf also emit offset table.
From-SVN: r241718
Diffstat (limited to 'gcc/dwarf2out.h')
-rw-r--r-- | gcc/dwarf2out.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h index a0e881a..78ba05c 100644 --- a/gcc/dwarf2out.h +++ b/gcc/dwarf2out.h @@ -147,6 +147,7 @@ enum dw_val_class dw_val_class_lineptr, dw_val_class_str, dw_val_class_macptr, + dw_val_class_loclistsptr, dw_val_class_file, dw_val_class_data8, dw_val_class_decl_ref, |