This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Dwarf debug location list
- From: majia gm <gmmajia at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Sun, 28 Nov 2010 11:38:01 +0800
- Subject: Dwarf debug location list
Hi, guys.
I'm working on a non-mainstream RISC machine. I found that the
CFA(Canonical Frame Address) of a function as follows, is record
errorly in a location list.
The origninal function is wrriten in C, and here's the objdump result.
prologue:
stw.w lr, [sp-], 4
sub sp, sp, #404
...
epilogue:
add sp, sp, #404
cmovub pc, lr
The CFA is discribed relatively to the stack pointer sp. But the
location list for CFA only noticed the adjustment of sp in the
prologue but ignored the one in the epilogue.
I'm trying to figure out how this happened. But I'm not familiar with GCC.
Could you give me some hints on how the location list of the CFA is generated?
Or is there any reference to the Dwarf generating machenism in GCC?
Thanks a lot.
Gmmajia