aboutsummaryrefslogtreecommitdiffstats
path: root/debug/DwarfTypes.mli
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2020-02-06 14:55:34 +0100
committerBernhard Schommer <bschommer@users.noreply.github.com>2020-02-06 17:28:39 +0100
commit6ca9f9bfc7119f1ca4f48de3b5a37cbaee07e4fd (patch)
tree10d82488c0f84f927888deaa5de76e30535e2f53 /debug/DwarfTypes.mli
parentd5435a34169d92a96f1436128f3e90df7f4f9e9a (diff)
downloadcompcert-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.mli25
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