diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2020-02-06 14:55:34 +0100 |
---|---|---|
committer | Bernhard Schommer <bschommer@users.noreply.github.com> | 2020-02-06 17:28:39 +0100 |
commit | 6ca9f9bfc7119f1ca4f48de3b5a37cbaee07e4fd (patch) | |
tree | 10d82488c0f84f927888deaa5de76e30535e2f53 /debug/DwarfTypes.mli | |
parent | d5435a34169d92a96f1436128f3e90df7f4f9e9a (diff) | |
download | compcert-kvx-6ca9f9bfc7119f1ca4f48de3b5a37cbaee07e4fd.tar.gz compcert-kvx-6ca9f9bfc7119f1ca4f48de3b5a37cbaee07e4fd.zip |
Added base address if needed.
Ranges of locations are relative to some base address. Most times
this is just the same as the compilation unit. However if the
compilation unit contains functions in multiple sections we need
to add a base address of the section that the locations are
contained.
Diffstat (limited to 'debug/DwarfTypes.mli')
-rw-r--r-- | debug/DwarfTypes.mli | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/debug/DwarfTypes.mli b/debug/DwarfTypes.mli index 5a2bce3b..567c65cd 100644 --- a/debug/DwarfTypes.mli +++ b/debug/DwarfTypes.mli @@ -266,11 +266,13 @@ type dw_entry = (* The type for the location list. *) type location_entry = - { - loc: (address * address * location_value) list; - loc_id: reference; - } -type dw_locations = constant option * location_entry list + { + loc: (address * address * location_value) list; + loc_id: reference; + loc_sec_begin : address option; + } + +type dw_locations = location_entry list type range_entry = | AddressRange of (address * address) list @@ -285,13 +287,20 @@ type diab_entry = section_name: string; start_label: int; line_label: int; - entry: dw_entry; - dlocs: dw_locations; + diab_entry: dw_entry; + diab_locs: dw_locations; } type diab_entries = diab_entry list -type gnu_entries = dw_entry * dw_locations * dw_string * dw_ranges +type gnu_entries = + { + string_table: dw_string; + range_table: dw_ranges; + gnu_locs: dw_locations; + gnu_entry: dw_entry; + several_secs: bool; + } type debug_entries = | Diab of diab_entries |