This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]