aboutsummaryrefslogtreecommitdiff
path: root/include/elf/mep.h
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2009-07-20 21:21:17 +0000
committerDoug Evans <dje@google.com>2009-07-20 21:21:17 +0000
commit348e048f0cbdfbd035ca7b7820b7a6bf02dce1e0 (patch)
tree508b8be60596b310f80355b4cf921b2cccc16127 /include/elf/mep.h
parent7717029689b70a4d9af2ffe1e7343b5b87b20989 (diff)
downloadgdb-348e048f0cbdfbd035ca7b7820b7a6bf02dce1e0.zip
gdb-348e048f0cbdfbd035ca7b7820b7a6bf02dce1e0.tar.gz
gdb-348e048f0cbdfbd035ca7b7820b7a6bf02dce1e0.tar.bz2
Add support for "comdat types" from DWARF4.
* dwarf2read.c (dwarf2_per_objfile): New member types, signatured_types. (TYPES_SECTION): New macro. (dwarf2_per_cu_data): Change size of length field from 30 bits to 29 bits. New member from_debug_types. (signatured_type): New struct. (struct attribute): New union member signatured_type. (DW_SIGNATURED_TYPE): New macro. (dwarf2_attr_no_follow): New function. (read_type_unit_scope): New function. (follow_die_ref_or_sig, follow_die_sig): New functions. (dwarf2_locate_sectoins): Handle .debug_types. (dwarf2_build_psymtabs): Read .debug_types. (read_type_comp_unit_head): New function. (hash_type_signature, eq_type_signature): New functions. (create_debug_types_hash_table): New function. (lookup_signatured_type): New function. (process_psymtab_comp_unit): Handle type units too. (process_type_comp_unit, build_type_psymtabs): New functions. (dwarf2_build_psymtabs_hard): Call build_type_psymtabs. (load_partial_comp_unit): Assert not called for a type unit. (skip_one_die): Handle DW_FORM_sig8. (queue_comp_unit): Don't call load_full_comp_unit here, or update read_in_chain. (psymtab_to_symtab_1): Call read_signatured_type_at_offset for type units, or load_full_comp_unit for comp units after queue_comp_unit returns. (load_full_comp_unit): Assert not called for type units. (load_full_comp_unit): Update read_in_chain here. (process_die): Handle DW_TAG_type_unit. (read_structure_type): Look for signatured types. (read_enumeration_type): Ditto. (init_cu_die_reader): Handle .debug_types. (read_comp_unit): Assert hash not computed yet. (read_die_and_children): Expand debugging printf to handle .debug_types. (read_partial_die): Handle DW_TAG_type_unit: (find_patial_die): Handle .debug_types. (read_attribute_value): Handle DW_FORM_sig8. (die_type): Call follow_die_ref_or_sig instead of follow_die_ref. (die_containing_type): Ditto. (dwarf_tag_name): Handle DW_TAG_type_unit. (dwarf_attr_name): Handle DW_AT_signature. (dwarf_form_name): Handle DW_FORM_sec_offset, DW_FORM_exprloc, DW_FORM_flag_present, DW_FORM_sig8. (dump_die_shallow): Handlel DW_FORM_sig8. (maybe_queue_comp_unit): Change return type to int from void. All callers updated. (follow_die_ref): Handle .debug_types. (lookup_signatured_type_at_offset): New function. (read_signatured_type_at_offset): New function. (read_signatured_type): New function.
Diffstat (limited to 'include/elf/mep.h')
0 files changed, 0 insertions, 0 deletions