From f695eccf71367a91aa87a4ff5a61d365da305d94 Mon Sep 17 00:00:00 2001
From: Andreas Krebbel <krebbel1@de.ibm.com>
Date: Wed, 19 Oct 2005 11:00:03 +0000
Subject: [PATCH] s390.c (override_options): Added check for -mstack-size 64k
 limitation.

2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (override_options): Added check for -mstack-size
	64k limitation.
	* doc/invoke.texi: Mention that limit in the documenation.

From-SVN: r105609
---
 gcc/ChangeLog          | 6 ++++++
 gcc/config/s390/s390.c | 2 ++
 gcc/doc/invoke.texi    | 5 +++--
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c032c98142aa..2b626a34272f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.c (override_options): Added check for -mstack-size
+	64k limitation.
+	* doc/invoke.texi: Mention that limit in the documenation.
+
 2005-10-18  Paolo Bonzini  <bonzini@gnu.org>
 
 	PR #19672
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 5284db160df0..7c0d9847a5f5 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -1385,6 +1385,8 @@ override_options (void)
 	error ("-mstack-size implies use of -mstack-guard");
       else if (s390_stack_guard >= s390_stack_size)
 	error ("stack size must be greater than the stack guard value");
+      else if (s390_stack_size > 1 << 16)
+	error ("stack size must not be greater than 64k");
     }
   else if (s390_stack_guard)
     error ("-mstack-guard implies use of -mstack-size"); 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 4d8e67aaa53b..8bbbb04dfb3a 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -11659,9 +11659,10 @@ back end emits additional instructions in the function prologue which trigger a
 if the stack size is @var{stack-guard} bytes above the @var{stack-size}
 (remember that the stack on s390 grows downward).  These options are intended to
 be used to help debugging stack overflow problems.  The additionally emitted code
-cause only little overhead and hence can also be used in production like systems
+causes only little overhead and hence can also be used in production like systems
 without greater performance degradation.  The given values have to be exact
-powers of 2 and @var{stack-size} has to be greater than @var{stack-guard}.
+powers of 2 and @var{stack-size} has to be greater than @var{stack-guard} without
+exceeding 64k.
 In order to be efficient the extra code makes the assumption that the stack starts
 at an address aligned to the value given by @var{stack-size}.
 @end table
-- 
GitLab