View source code
Display the source code in dmd/backend/dwarfdbginf.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Module dmd.backend.dwarfdbginf

Compiler implementation of the D programming language.

Coverage

https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/dwarfdbginf.d

Functions

NameDescription
cv_func(s) Write out symbol table for current function.
cv_outlist() Write out any deferred symbols.
cv_outsym(s) Write out symbol table for current function.
doUnwindEhFrame() Determine if generating a eh_frame with full unwinding information. This decision is done on a per-function basis.
dwarf_CFA_args_size(sz) Set total size of arguments pushed on the stack.
dwarf_CFA_offset(reg, offset) Set reg to be at offset from frame register.
dwarf_CFA_set_loc(location) Set the location, i.e. the offset from the start of the function. It must always be greater than the current location.
dwarf_CFA_set_reg_offset(reg, offset) Set the frame register, and its offset.
dwarf_except_gentables(sfunc, startoffset, retoffset) Write Dwarf-style exception tables.
dwarf_func_start(sfunc) Start of code gen for function.
dwarf_func_term(sfunc) End of code gen for function.
dwarf_line_addfile(filename) Add a file to the .debug_line header
dwarf_regno(reg) Convert CPU register number to Dwarf register number.
dwarf_termfile() Finish writing Dwarf debug info to object file.
writeDebugFrameFDE(dfseg, sfunc) Generate function's Frame Description Entry into .debug_frame
writeDebugFrameHeader(buf) Append .debug_frame header to buf.
writeEhFrameFDE(dfseg, sfunc, ehunwind, CIE_offset) Append function's FDE (Frame Description Entry) to .eh_frame

Structs

NameDescription
CFA_reg DWARF DEBUG OUTPUT

Authors

Walter Bright

License

Boost License 1.0