Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / mini / dwarfwriter.h
1 /**
2  * \file
3  * Creation of DWARF debug information
4  *
5  * Author:
6  *   Zoltan Varga (vargaz@gmail.com)
7  *
8  * (C) 2008-2009 Novell, Inc.
9  */
10
11 #ifndef __MONO_DWARF_WRITER_H__
12 #define __MONO_DWARF_WRITER_H__
13
14 #include "config.h"
15 #include "image-writer.h"
16 #include "mini.h"
17
18 #include <mono/metadata/debug-internals.h>
19
20 #include <glib.h>
21
22 typedef struct _MonoDwarfWriter MonoDwarfWriter;
23
24 MonoDwarfWriter* mono_dwarf_writer_create (MonoImageWriter *writer, FILE *il_file, int il_file_start_line, gboolean emit_line_numbers);
25
26 void mono_dwarf_writer_destroy (MonoDwarfWriter *w);
27
28 void mono_dwarf_writer_emit_base_info (MonoDwarfWriter *w, const char *cu_name, GSList *base_unwind_program);
29
30 void mono_dwarf_writer_close (MonoDwarfWriter *w);
31
32 int mono_dwarf_writer_get_il_file_line_index (MonoDwarfWriter *w);
33
34 void mono_dwarf_writer_emit_trampoline (MonoDwarfWriter *w, const char *tramp_name, char *start_symbol, char *end_symbol, guint8 *code, guint32 code_size, GSList *unwind_info);
35
36 void
37 mono_dwarf_writer_emit_method (MonoDwarfWriter *w, MonoCompile *cfg, MonoMethod *method, char *start_symbol, char *end_symbol, char *linkage_name,
38                                                            guint8 *code, guint32 code_size, MonoInst **args, MonoInst **locals, GSList *unwind_info, MonoDebugMethodJitInfo *debug_info);
39
40 char *
41 mono_dwarf_escape_path (const char *name);
42
43 #endif