[newlib-cygwin/cygwin-2.0] Fix exception stack frame for or1k
Corinna Vinschen
corinna@sourceware.org
Wed May 27 11:31:00 GMT 2015
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=a6342974b0904d0c7a390e7623661ea254e3984f
commit a6342974b0904d0c7a390e7623661ea254e3984f
Author: Jeff Johnston <jjohnstn@redhat.com>
Date: Tue May 26 15:21:52 2015 -0400
Fix exception stack frame for or1k
- We do not need a red zone here, as we do not operate on the current
stack, but always use the clear exception stack. Also reserve two
extra words for the context to store EPCR and ESR.
* or1k/crt0.S: Fix exception stack frame
* or1k/exception-asm.S: ditto
Diff:
---
libgloss/ChangeLog | 5 +++++
libgloss/or1k/crt0.S | 4 ++--
libgloss/or1k/exceptions-asm.S | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog
index 1ca803f..adda155 100644
--- a/libgloss/ChangeLog
+++ b/libgloss/ChangeLog
@@ -1,5 +1,10 @@
2015-05-26 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
+ * or1k/crt0.S: Fix exception stack frame
+ * or1k/exception-asm.S: ditto
+
+2015-05-26 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
+
* or1k/interruts-asm.S: Change registers to callee-saved.
2015-05-18 Nick Clifton <nickc@redhat.com>
diff --git a/libgloss/or1k/crt0.S b/libgloss/or1k/crt0.S
index f1753d0..ecaf917 100644
--- a/libgloss/or1k/crt0.S
+++ b/libgloss/or1k/crt0.S
@@ -61,10 +61,10 @@
// Reserved stack size for exceptions (can usually be smaller than normal stack)
#define EXCEPTION_STACK_SIZE 8192
-// Size of redzone + size of space required to store state
+// Size of space required to store state
// This value must match that in the support library or1k_exception_handler
// function
-#define EXCEPTION_STACK_FRAME (128+128)
+#define EXCEPTION_STACK_FRAME 136
.extern _or1k_stack_top /* points to the next address after the stack */
.extern _or1k_stack_bottom /* points to the last address in the stack */
diff --git a/libgloss/or1k/exceptions-asm.S b/libgloss/or1k/exceptions-asm.S
index 7248683..762a509 100644
--- a/libgloss/or1k/exceptions-asm.S
+++ b/libgloss/or1k/exceptions-asm.S
@@ -24,7 +24,7 @@
*/
/* -------------------------------------------------------------------------- */
// Warning - this must be the same as specified in crt0.S
-#define EXCEPTION_STACK_SIZE 128+128
+#define EXCEPTION_STACK_SIZE 136
.extern _or1k_exception_handler_table
More information about the Newlib-cvs
mailing list