Call frame information query

Hi,
Can anyone suggest how the CFI instructions are used to provide necessary information to the debugger ( lldb ) through the respective dwarf entries for CFI? It will be better if someone can point out to the implementation details .
Thanks,
Siddharth

You are asking on cfe-dev but Clang does not emit these directly. LLVM generates them.

DWARF CFI is used to inform the debugger about how machine registers are saved/restored in a call frame. Are you asking how LLVM decides when to generate a CFI instruction? Or are you wondering how CFI instructions turn into a .debug_frame section?

In either case, asking a more specific question on llvm-dev would get you a more informed answer.

–paulr

Thanks for reply. We have FP, SP ready for a particular architecture. We want to know how CFI instructions give information to the debugger abut the machine registers and the stack frame as a whole. ? Please guide
Thanks,
Siddharth

  • llvm-dev

It sounds like you are more interested in how to generate CFI instructions for your architecture. It is often instructive to look at how other architectures handle this, as a model for new architectures. I am not familiar with that area myself.

–paulr