aboutsummaryrefslogtreecommitdiff
path: root/libgcc/generic-morestack.c
diff options
context:
space:
mode:
authorJozef Lawrynowicz <jozef.l@mittosystems.com>2020-09-18 13:03:13 +0100
committerJozef Lawrynowicz <jozef.l@mittosystems.com>2020-09-18 13:03:13 +0100
commit685c95ebc4906f6b58db2e3c81ad9ab73fdca794 (patch)
treef88db1c197d7e1f28908a7977405180bfdbda918 /libgcc/generic-morestack.c
parent220724c311473b8b0f2418350c2b64e796e92bda (diff)
downloadgcc-685c95ebc4906f6b58db2e3c81ad9ab73fdca794.zip
gcc-685c95ebc4906f6b58db2e3c81ad9ab73fdca794.tar.gz
gcc-685c95ebc4906f6b58db2e3c81ad9ab73fdca794.tar.bz2
MSP430: Fix CFA generation during function epilogues
There is no CFA information generated for instructions that manipulate the stack during function epilogues. This means a debugger cannot determine the position of variables on the stack whilst the epilogue is in progress. This can cause the debugger to give erroneous information when printing a backtrace whilst stepping through the epilogue, or cause software watchpoints set on stack variables to become invalidated after a function epilogue is executed. The patch fixes this by marking stack manipulation insns as frame_related, and adding reg_note RTXs to stack pop instructions in the epilogue. gcc/ChangeLog: * config/msp430/msp430.c (increment_stack): Mark insns which increment the stack as frame_related. (msp430_expand_prologue): Add comments. (msp430_expand_epilogue): Mark insns which decrement the stack as frame_related. Add reg_note to stack pop insns describing position of register variables on the stack.
Diffstat (limited to 'libgcc/generic-morestack.c')
0 files changed, 0 insertions, 0 deletions