diff options
author | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2020-09-18 13:03:13 +0100 |
---|---|---|
committer | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2020-09-18 13:03:13 +0100 |
commit | 685c95ebc4906f6b58db2e3c81ad9ab73fdca794 (patch) | |
tree | f88db1c197d7e1f28908a7977405180bfdbda918 /libgcc/generic-morestack.c | |
parent | 220724c311473b8b0f2418350c2b64e796e92bda (diff) | |
download | gcc-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