1 /** 2 * Definitions for DWARF debug infos (v3) 3 * 4 * See_Also: $(LINK2 http://dwarfstd.org/doc/Dwarf3.pdf, DWARF standard) 5 * Source: $(DMDSRC backend/_dwarf.d) 6 */ 7 8 module dmd.backend.dwarf; 9 10 import dmd.backend.cc; 11 import dmd.backend.cdef; 12 import dmd.backend.outbuf; 13 import dmd.backend.type; 14 15 extern (C++): 16 17 nothrow: 18 19 enum DWARF_VERSION = 3; 20 21 void dwarf_initfile(const(char) *filename); 22 void dwarf_termfile(); 23 void dwarf_initmodule(const(char) *filename, const(char) *modulename); 24 void dwarf_termmodule(); 25 void dwarf_func_start(Symbol *sfunc); 26 void dwarf_func_term(Symbol *sfunc); 27 uint dwarf_typidx(type *t); 28 uint dwarf_abbrev_code(ubyte *data, size_t nbytes); 29 30 int dwarf_regno(int reg); 31 32 void dwarf_addrel(int seg, targ_size_t offset, int targseg, targ_size_t val = 0); 33 int dwarf_reftoident(int seg, targ_size_t offset, Symbol *s, targ_size_t val); 34 void dwarf_except_gentables(Funcsym *sfunc, uint startoffset, uint retoffset); 35 void genDwarfEh(Funcsym *sfunc, int seg, Outbuffer *et, bool scancode, uint startoffset, uint retoffset); 36 int dwarf_eh_frame_fixup(int seg, targ_size_t offset, Symbol *s, targ_size_t val, Symbol *seh);