summaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2012-08-21 20:51:42 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2012-08-21 20:51:42 +0000
commit4b1b378895294425e2352f8e1730a74942fb067c (patch)
treea9abac2f89d0303bc8fd193c6dba6e14e7874c39 /libgcc
parent8a3ffc5d39c44c2e7923f5ad39c1b6392c429cb0 (diff)
downloadgcc-4b1b378895294425e2352f8e1730a74942fb067c.tar.gz
morestack.S (__morestack_non_split): Increase amount of space allocated for non-split code stack.
* config/i386/morestack.S (__morestack_non_split): Increase amount of space allocated for non-split code stack. From-SVN: r190574
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config/i386/morestack.S13
2 files changed, 14 insertions, 4 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 66d52d8f96a..eaa4f2904a1 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -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
diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S
index 228d6901abd..9528431f7e6 100644
--- a/libgcc/config/i386/morestack.S
+++ b/libgcc/config/i386/morestack.S
@@ -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.