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