This is the mail archive of the newlib-cvs@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] Fix exception stack frame for or1k


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]