[GOLD] Increase --split-stack-adjust-size
authorAlan Modra <amodra@gmail.com>
Wed, 7 Oct 2020 23:57:43 +0000 (10:27 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 8 Oct 2020 00:58:05 +0000 (11:28 +1030)
For functions with small (< 256 bytes) stack frames, the current x86
do_calls_non_split ignores --split-stack-adjust-size and, in
combination with __morestack_non_split, supplies a non-split-stack
function with at least 0x100000 (1M) available stack.  On powerpc64, a
default of 0x4000 is not large enough to reliably work with the golang
testsuite.  This increase the default size to the defacto x86 value.

* options.h (split_stack_adjust_size): Default to 0x100000.

gold/ChangeLog
gold/options.h

index 5a1b03b00be4bb94ff09fb812a05d7012e01c791..fd9fc63a1933a826aa4b3fc27f8d67d81d3adb0b 100644 (file)
@@ -1,3 +1,7 @@
+2020-10-08  Alan Modra  <amodra@gmail.com>
+
+       * options.h (split_stack_adjust_size): Default to 0x100000.
+
 2020-09-26  Alan Modra  <amodra@gmail.com>
 
        * powerpc.cc (Target_powerpc): Rename power10_stubs_ to
index bc211151dee851d80222c9061c7535e9644ccdb3..51d3614e6b672d23e3db31ca3f6aecd3bf9badd8 100644 (file)
@@ -1260,7 +1260,7 @@ class General_options
                 "output sections"),
              N_("(PowerPC only) Each output section has its own stubs"));
 
-  DEFINE_uint(split_stack_adjust_size, options::TWO_DASHES, '\0', 0x4000,
+  DEFINE_uint(split_stack_adjust_size, options::TWO_DASHES, '\0', 0x100000,
              N_("Stack size when -fsplit-stack function calls non-split"),
              N_("SIZE"));