aboutsummaryrefslogtreecommitdiffstats
path: root/debug/Debug.mli
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-09-28 18:39:43 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-09-28 18:39:43 +0200
commit68ad5472a78d12e0e4fd4eae422122185403d678 (patch)
tree52674e67c21c4134118996f2b241f9496f7f5130 /debug/Debug.mli
parent5492b5b55afa68e3d628da07ff583a0cac79b7e3 (diff)
downloadcompcert-kvx-68ad5472a78d12e0e4fd4eae422122185403d678.tar.gz
compcert-kvx-68ad5472a78d12e0e4fd4eae422122185403d678.zip
Change the way the debug sections are printed.
If a user uses the #pragma use_section for functions the diab linker requires a separate debug_info section for each entry. This commit adds functionality to emulate this behavior.
Diffstat (limited to 'debug/Debug.mli')
-rw-r--r--debug/Debug.mli10
1 files changed, 8 insertions, 2 deletions
diff --git a/debug/Debug.mli b/debug/Debug.mli
index c5fcddb3..166a6759 100644
--- a/debug/Debug.mli
+++ b/debug/Debug.mli
@@ -28,7 +28,7 @@ type implem =
mutable set_bitfield_offset: ident -> string -> int -> string -> int -> unit;
mutable insert_global_declaration: Env.t -> globdecl -> unit;
mutable add_fun_addr: atom -> (int * int) -> unit;
- mutable generate_debug_info: unit -> (dw_entry * dw_locations) option;
+ mutable generate_debug_info: (atom -> string) -> string -> debug_entries option;
mutable all_files_iter: (string -> unit) -> unit;
mutable insert_local_declaration: storage -> ident -> typ -> location -> unit;
mutable atom_local_variable: ident -> atom -> unit;
@@ -43,6 +43,9 @@ type implem =
mutable function_end: atom -> positive -> unit;
mutable add_label: atom -> positive -> int -> unit;
mutable atom_parameter: ident -> ident -> atom -> unit;
+ mutable add_compilation_section_start: string -> (int * int * int * string) -> unit;
+ mutable compute_file_enum: (string -> int) -> (string-> int) -> (unit -> unit) -> unit;
+ mutable exists_section: string -> bool;
}
val implem: implem
@@ -68,5 +71,8 @@ val end_live_range: atom -> positive -> unit
val stack_variable: atom -> int * int builtin_arg -> unit
val function_end: atom -> positive -> unit
val add_label: atom -> positive -> int -> unit
-val generate_debug_info: unit -> (dw_entry * dw_locations) option
+val generate_debug_info: (atom -> string) -> string -> debug_entries option
val atom_parameter: ident -> ident -> atom -> unit
+val add_compilation_section_start: string -> (int * int * int * string) -> unit
+val compute_file_enum: (string -> int) -> (string-> int) -> (unit -> unit) -> unit
+val exists_section: string -> bool