s390.c (override_options): Added check for -mstack-size 64k limitation.
authorAndreas Krebbel <krebbel1@de.ibm.com>
Wed, 19 Oct 2005 11:00:03 +0000 (11:00 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Wed, 19 Oct 2005 11:00:03 +0000 (11:00 +0000)
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
gcc/config/s390/s390.c
gcc/doc/invoke.texi

index c032c98..2b626a3 100644 (file)
@@ -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
index 5284db1..7c0d984 100644 (file)
@@ -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"); 
index 4d8e67a..8bbbb04 100644 (file)
@@ -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