From 7a7ddeb0af92cb248637b44a3986068987732f63 Mon Sep 17 00:00:00 2001 From: Till Straumann Date: Tue, 8 Nov 2005 03:42:13 +0000 Subject: 2005-11-07 Till Straumann PR 834/bsps * vectors/vectors.S: reload stack pointer/R1 from exception frame instead of adding static offset. --- c/src/lib/libbsp/powerpc/eth_comm/ChangeLog | 6 ++++++ c/src/lib/libbsp/powerpc/eth_comm/vectors/vectors.S | 6 +++++- c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog | 6 ++++++ c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S | 6 +++++- c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog | 6 ++++++ c/src/lib/libbsp/powerpc/mpc8260ads/vectors/vectors.S | 6 +++++- c/src/lib/libbsp/powerpc/psim/ChangeLog | 6 ++++++ c/src/lib/libbsp/powerpc/psim/vectors/vectors.S | 6 +++++- c/src/lib/libbsp/powerpc/shared/ChangeLog | 6 ++++++ c/src/lib/libbsp/powerpc/shared/vectors/vectors.S | 6 +++++- 10 files changed, 55 insertions(+), 5 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog b/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog index 49793a7aac..856dac5ee2 100644 --- a/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog +++ b/c/src/lib/libbsp/powerpc/eth_comm/ChangeLog @@ -1,3 +1,9 @@ +2005-11-07 Till Straumann + + PR 834/bsps + * vectors/vectors.S: reload stack pointer/R1 from exception frame + instead of adding static offset. + 2005-10-06 Till Straumann PR 833/bsps diff --git a/c/src/lib/libbsp/powerpc/eth_comm/vectors/vectors.S b/c/src/lib/libbsp/powerpc/eth_comm/vectors/vectors.S index 302fce2df8..a34b224dc6 100644 --- a/c/src/lib/libbsp/powerpc/eth_comm/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/eth_comm/vectors/vectors.S @@ -137,6 +137,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 diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog index f821ef7988..e1cdf02419 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog @@ -1,3 +1,9 @@ +2005-11-07 Till Straumann + + PR 834/bsps + * vectors/vectors.S: reload stack pointer/R1 from exception frame + instead of adding static offset. + 2005-10-06 Till Straumann PR 833/bsps 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 diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog b/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog index f13a6f04bb..68dd0c4abd 100644 --- a/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog @@ -1,3 +1,9 @@ +2005-11-07 Till Straumann + + PR 834/bsps + * vectors/vectors.S: reload stack pointer/R1 from exception frame + instead of adding static offset. + 2005-10-06 Till Straumann PR 833/bsps diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/vectors/vectors.S b/c/src/lib/libbsp/powerpc/mpc8260ads/vectors/vectors.S index 8692974243..1c02f13d89 100644 --- a/c/src/lib/libbsp/powerpc/mpc8260ads/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/mpc8260ads/vectors/vectors.S @@ -139,6 +139,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 diff --git a/c/src/lib/libbsp/powerpc/psim/ChangeLog b/c/src/lib/libbsp/powerpc/psim/ChangeLog index 09537e6353..a43154072a 100644 --- a/c/src/lib/libbsp/powerpc/psim/ChangeLog +++ b/c/src/lib/libbsp/powerpc/psim/ChangeLog @@ -1,3 +1,9 @@ +2005-11-07 Till Straumann + + PR 834/bsps + * vectors/vectors.S: reload stack pointer/R1 from exception frame + instead of adding static offset. + 2005-04-11 Jennifer Averett PR 777/bsps diff --git a/c/src/lib/libbsp/powerpc/psim/vectors/vectors.S b/c/src/lib/libbsp/powerpc/psim/vectors/vectors.S index 7a9c2d8d9f..257b4b6de5 100644 --- a/c/src/lib/libbsp/powerpc/psim/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/psim/vectors/vectors.S @@ -155,6 +155,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 diff --git a/c/src/lib/libbsp/powerpc/shared/ChangeLog b/c/src/lib/libbsp/powerpc/shared/ChangeLog index 1210b3d444..1581e34ecb 100644 --- a/c/src/lib/libbsp/powerpc/shared/ChangeLog +++ b/c/src/lib/libbsp/powerpc/shared/ChangeLog @@ -1,3 +1,9 @@ +2005-11-07 Till Straumann + + PR 834/bsps + * vectors/vectors.S: reload stack pointer/R1 from exception frame + instead of adding static offset. + 2005-10-06 Till Straumann PR 833/bsps diff --git a/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S b/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S index 7ba2fe408d..0f1df3511f 100644 --- a/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S @@ -155,6 +155,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 -- cgit v1.2.3