diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-10-15 13:15:28 +0200 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-10-15 13:15:28 +0200 |
commit | 1e52bb2001964d87086cea00d0cb779e270b99ce (patch) | |
tree | 1a4c629ee6b8c5130654be3a42fb91f38fc80984 /debug/DwarfTypes.mli | |
parent | 44845982f412810b0c18067987f2780ef6245fbb (diff) | |
download | compcert-1e52bb2001964d87086cea00d0cb779e270b99ce.tar.gz compcert-1e52bb2001964d87086cea00d0cb779e270b99ce.zip |
First step to implemente address ranges for the gnu backend.
In contrast to the dcc, the gcc uses address ranges to express
non-contiguous range of addresses. As a first step we set the
start and end addresses for the different address ranges for
the compilation unit by using the start and end addresses of
functions.
Bug 17392.
Diffstat (limited to 'debug/DwarfTypes.mli')
-rw-r--r-- | debug/DwarfTypes.mli | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/debug/DwarfTypes.mli b/debug/DwarfTypes.mli index fb1725d9..ff895623 100644 --- a/debug/DwarfTypes.mli +++ b/debug/DwarfTypes.mli @@ -87,6 +87,11 @@ type dw_form = | DW_FORM_ref_udata | DW_FORM_ref_indirect +type dw_range = + | Pc_pair of reference * reference (* Simple low,high pc *) + | Offset of reference * constant (* DWARF 3 version for different range *) + | Empty (* Needed for compilation units only containing variables *) + (* Types representing the attribute information per tag value *) type dw_tag_array_type = @@ -104,8 +109,7 @@ type dw_tag_base_type = type dw_tag_compile_unit = { compile_unit_name: string_const; - compile_unit_low_pc: constant; - compile_unit_high_pc: constant; + compile_unit_range: dw_range; compile_unit_dir: string_const; compile_unit_prod_name: string_const; } @@ -146,8 +150,7 @@ type dw_tag_label = type dw_tag_lexical_block = { - lexical_block_high_pc: address option; - lexical_block_low_pc: address option; + lexical_block_range: dw_range; } type dw_tag_member = @@ -181,8 +184,7 @@ type dw_tag_subprogram = subprogram_name: string_const; subprogram_prototyped: flag; subprogram_type: reference option; - subprogram_high_pc: reference option; - subprogram_low_pc: reference option; + subprogram_range: dw_range; } type dw_tag_subrange_type = |