Hi,

msp430-elf has an issue in the debugging information generated for function
epilogues, where the CFA offset is not updated as the epilogue progresses and
the stack pointer is modified by different instructions.

For msp430 function prologues, instructions that modify the stack pointer are
marked as frame_related, but the gccint documentation says this should only be
used for prologues.

In some cases, I can fix the CFA offset by marking these epilogue insns as
frame_related anyway, and adding reg notes which describe the stack pointer
operations. For some other epilogue insns, marking them frame_related results in
an ICE, which I'm assuming comes back to the fact that epilogue insns shouldn't
be marked frame related.

I see that i386 handles this by generating assembler directives like
".cfi_def_cfa", but given that for MSP430, the debug frame information
generation is left to the generic code, I'd like to try and get these epilogue
CFA modifications generated there as well.

What is the standard way for updating the CFA offset in the epilogue?

Thanks,
Jozef

Reply via email to