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