Call frame information query

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Call frame information query

David Chisnall via cfe-dev
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

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call frame information query

David Chisnall via cfe-dev

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

 

From: cfe-dev [mailto:[hidden email]] On Behalf Of Siddharth Shankar Swain via cfe-dev
Sent: Monday, September 25, 2017 12:19 AM
To: Clang Dev
Subject: [cfe-dev] 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


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call frame information query

David Chisnall via cfe-dev
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

On Mon, Sep 25, 2017 at 10:42 PM, Robinson, Paul <[hidden email]> wrote:

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

 

From: cfe-dev [mailto:[hidden email]] On Behalf Of Siddharth Shankar Swain via cfe-dev
Sent: Monday, September 25, 2017 12:19 AM
To: Clang Dev
Subject: [cfe-dev] 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



_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: Call frame information query

David Chisnall via cfe-dev

+ 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

 

From: Siddharth Shankar Swain [mailto:[hidden email]]
Sent: Monday, September 25, 2017 11:06 AM
To: Robinson, Paul; Clang Dev
Subject: Re: [cfe-dev] Call frame information query

 

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

 

On Mon, Sep 25, 2017 at 10:42 PM, Robinson, Paul <[hidden email]> wrote:

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

 

From: cfe-dev [mailto:[hidden email]] On Behalf Of Siddharth Shankar Swain via cfe-dev
Sent: Monday, September 25, 2017 12:19 AM
To: Clang Dev
Subject: [cfe-dev] 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

 


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev