morestack.S (__morestack_non_split): Increase amount of space allocated for non-split...
authorIan Lance Taylor <iant@google.com>
Tue, 21 Aug 2012 20:51:42 +0000 (20:51 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 21 Aug 2012 20:51:42 +0000 (20:51 +0000)
* config/i386/morestack.S (__morestack_non_split): Increase amount
of space allocated for non-split code stack.

From-SVN: r190574

libgcc/ChangeLog
libgcc/config/i386/morestack.S

index 66d52d8f96a779225e72f5099a60d7e78b5c8d6d..eaa4f2904a13a50adab82e735791a63f9b3b648d 100644 (file)
@@ -1,3 +1,8 @@
+2012-08-21  Ian Lance Taylor  <iant@google.com>
+
+       * config/i386/morestack.S (__morestack_non_split): Increase amount
+       of space allocated for non-split code stack.
+
 2012-08-19  Joseph Myers  <joseph@codesourcery.com>
 
        * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
index 228d6901abd0692f9bd2899417ee39561bceb774..9528431f7e67d1647f6d60b25620f26a5b20843e 100644 (file)
@@ -83,6 +83,9 @@
 #endif
 
 
+# The amount of space we ask for when calling non-split-stack code.
+#define NON_SPLIT_STACK 0x100000
+
 # This entry point is for split-stack code which calls non-split-stack
 # code.  When the linker sees this case, it converts the call to
 # __morestack to call __morestack_non_split instead.  We just bump the
@@ -109,7 +112,7 @@ __morestack_non_split:
 
        movl    %esp,%eax               # Current stack,
        subl    8(%esp),%eax            # less required stack frame size,
-       subl    $0x4000,%eax            # less space for non-split code.
+       subl    $NON_SPLIT_STACK,%eax   # less space for non-split code.
        cmpl    %gs:0x30,%eax           # See if we have enough space.
        jb      2f                      # Get more space if we need it.
 
@@ -171,7 +174,8 @@ __morestack_non_split:
 
        .cfi_adjust_cfa_offset -4       # Account for popped register.
 
-       addl    $0x5000+BACKOFF,4(%esp) # Increment space we request.
+       # Increment space we request.
+       addl    $NON_SPLIT_STACK+0x1000+BACKOFF,4(%esp)
 
        # Fall through into morestack.
 
@@ -186,7 +190,7 @@ __morestack_non_split:
 
        movq    %rsp,%rax               # Current stack,
        subq    %r10,%rax               # less required stack frame size,
-       subq    $0x4000,%rax            # less space for non-split code.
+       subq    $NON_SPLIT_STACK,%rax   # less space for non-split code.
 
 #ifdef __LP64__
        cmpq    %fs:0x70,%rax           # See if we have enough space.
@@ -219,7 +223,8 @@ __morestack_non_split:
 
        .cfi_adjust_cfa_offset -8       # Adjust for popped register.
 
-       addq    $0x5000+BACKOFF,%r10    # Increment space we request.
+       # Increment space we request.
+       addq    $NON_SPLIT_STACK+0x1000+BACKOFF,%r10
 
        # Fall through into morestack.