diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S b/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S index 5520dac235..0e5e485cd6 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S @@ -144,6 +144,10 @@ SYM (push_normalized_frame): mtsrr0 r3 lwz r3, GPR3_OFFSET(r1) - addi r1,r1, EXCEPTION_FRAME_END + /* DONT add back the frame size but reload the value + * stored in the frame -- maybe the exception handler + * changed it with good reason (e.g., gdb pushed a dummy frame) + */ + lwz r1, GPR1_OFFSET(r1) SYNC rfi |