public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [GOLD] Increase --split-stack-adjust-size
@ 2020-10-08  6:53 Alan Modra
  2020-10-08 12:01 ` [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh H.J. Lu
  2020-10-08 19:27 ` [GOLD] Increase --split-stack-adjust-size Ian Lance Taylor
  0 siblings, 2 replies; 5+ messages in thread
From: Alan Modra @ 2020-10-08  6:53 UTC (permalink / raw)
  To: binutils

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.

diff --git a/gold/options.h b/gold/options.h
index bc211151de..51d3614e6b 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -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"));
 

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh
  2020-10-08  6:53 [GOLD] Increase --split-stack-adjust-size Alan Modra
@ 2020-10-08 12:01 ` H.J. Lu
  2020-10-08 12:29   ` Alan Modra
  2020-10-08 19:27 ` [GOLD] Increase --split-stack-adjust-size Ian Lance Taylor
  1 sibling, 1 reply; 5+ messages in thread
From: H.J. Lu @ 2020-10-08 12:01 UTC (permalink / raw)
  To: Alan Modra; +Cc: Binutils

[-- Attachment #1: Type: text/plain, Size: 1326 bytes --]

On Wed, Oct 7, 2020 at 11:54 PM Alan Modra via Binutils
<binutils@sourceware.org> wrote:
>
> 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.
>
> diff --git a/gold/options.h b/gold/options.h
> index bc211151de..51d3614e6b 100644
> --- a/gold/options.h
> +++ b/gold/options.h
> @@ -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"));
>
>
> --
> Alan Modra
> Australia Development Lab, IBM

I am checking in this patch to update testsuite/split_i386.sh,
testsuite/split_x32.sh and testsuite/split_x86_64.sh.

-- 
H.J.

[-- Attachment #2: 0001-gold-Update-testsuite-split_-i386-x32-x86_64-.sh.patch --]
[-- Type: text/x-patch, Size: 2936 bytes --]

From 5fb786936fc6db218e80005ed24ea9950c8219c8 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Thu, 8 Oct 2020 04:54:26 -0700
Subject: [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh

Update testsuite/split_i386.sh, testsuite/split_x32.sh and
testsuite/split_x86_64.sh for

commit f9ff65d4dffbaf342dce7a8760059c27683cd962
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Oct 8 10:27:43 2020 +1030

    [GOLD] Increase --split-stack-adjust-size

	* testsuite/split_i386.sh: Updated for --split-stack-adjust-size
	default change.
	* testsuite/split_x32.sh: Likewise.
	* testsuite/split_x86_64.sh: Likewise.
---
 gold/ChangeLog                 | 6 ++++++
 gold/testsuite/split_i386.sh   | 2 +-
 gold/testsuite/split_x32.sh    | 2 +-
 gold/testsuite/split_x86_64.sh | 2 +-
 4 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index fd9fc63a193..7146535a2fe 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,9 @@
+2020-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* testsuite/split_i386.sh: Updated for --split-stack-adjust-size
+	default change.
+	* testsuite/split_x86_64.sh: Likewise.
+
 2020-10-08  Alan Modra  <amodra@gmail.com>
 
 	* options.h (split_stack_adjust_size): Default to 0x100000.
diff --git a/gold/testsuite/split_i386.sh b/gold/testsuite/split_i386.sh
index 67e2b1bb801..611c892b23f 100755
--- a/gold/testsuite/split_i386.sh
+++ b/gold/testsuite/split_i386.sh
@@ -45,7 +45,7 @@ match 'lea.*-0x200\(%esp\),' split_i386_1.stdout
 match 'stc' split_i386_2.stdout
 match 'call.*__morestack_non_split>?$' split_i386_2.stdout
 nomatch 'call.*__morestack>?$' split_i386_2.stdout
-match 'lea.*-0x4200\(%esp\),' split_i386_2.stdout
+match 'lea.*-0x100200\(%esp\),' split_i386_2.stdout
 
 match 'failed to match' split_i386_3.stdout
 
diff --git a/gold/testsuite/split_x32.sh b/gold/testsuite/split_x32.sh
index 89e6035ccca..515e73ac451 100755
--- a/gold/testsuite/split_x32.sh
+++ b/gold/testsuite/split_x32.sh
@@ -46,7 +46,7 @@ match 'lea.*-0x200\(%rsp\),' split_x32_1.stdout
 match 'stc' split_x32_2.stdout
 match 'call.*__morestack_non_split>?$' split_x32_2.stdout
 nomatch 'call.*__morestack>?$' split_x32_2.stdout
-match 'lea.*-0x4200\(%rsp\),' split_x32_2.stdout
+match 'lea.*-0x100200\(%rsp\),' split_x32_2.stdout
 
 match 'failed to match' split_x32_3.stdout
 
diff --git a/gold/testsuite/split_x86_64.sh b/gold/testsuite/split_x86_64.sh
index afde87d84dd..58b5e4b8aa2 100755
--- a/gold/testsuite/split_x86_64.sh
+++ b/gold/testsuite/split_x86_64.sh
@@ -45,7 +45,7 @@ match 'lea.*-0x200\(%rsp\),' split_x86_64_1.stdout
 match 'stc' split_x86_64_2.stdout
 match 'call.*__morestack_non_split>?$' split_x86_64_2.stdout
 nomatch 'call.*__morestack>?$' split_x86_64_2.stdout
-match 'lea.*-0x4200\(%rsp\),' split_x86_64_2.stdout
+match 'lea.*-0x100200\(%rsp\),' split_x86_64_2.stdout
 
 match 'failed to match' split_x86_64_3.stdout
 
-- 
2.26.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh
  2020-10-08 12:01 ` [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh H.J. Lu
@ 2020-10-08 12:29   ` Alan Modra
  2020-10-08 12:48     ` H.J. Lu
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Modra @ 2020-10-08 12:29 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Binutils

On Thu, Oct 08, 2020 at 05:01:15AM -0700, H.J. Lu wrote:
> I am checking in this patch to update testsuite/split_i386.sh,
> testsuite/split_x32.sh and testsuite/split_x86_64.sh.

Thanks, I put this on the 2.35 branch along with the change in default.

Incidentally, what system gcc and binutils version do you use to get a
successful gold testsuite result on x86_64? 

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh
  2020-10-08 12:29   ` Alan Modra
@ 2020-10-08 12:48     ` H.J. Lu
  0 siblings, 0 replies; 5+ messages in thread
From: H.J. Lu @ 2020-10-08 12:48 UTC (permalink / raw)
  To: Alan Modra; +Cc: Binutils

On Thu, Oct 8, 2020 at 5:29 AM Alan Modra <amodra@gmail.com> wrote:
>
> On Thu, Oct 08, 2020 at 05:01:15AM -0700, H.J. Lu wrote:
> > I am checking in this patch to update testsuite/split_i386.sh,
> > testsuite/split_x32.sh and testsuite/split_x86_64.sh.
>
> Thanks, I put this on the 2.35 branch along with the change in default.
>
> Incidentally, what system gcc and binutils version do you use to get a
> successful gold testsuite result on x86_64?

Gold doesn't support GNU properties.  I have a branch

https://gitlab.com/x86-binutils/binutils-gdb/-/tree/users/hjl/gold/pr26703

with

0001-gold-Discard-.note.gnu.property-section.patch
0002-gold-Support-GNU_PROPERTY_X86_FEATURE_2_-USED-NEEDED.patch
0003-gold-Discard-.note.gnu.property-for-PR-gold-23503.patch
0004-gold-Skip-some-incremental-tests.patch
0005-gold-Properly-align-the-NT_GNU_PROPERTY_TYPE_0-note.patch
0001-gold-Skip-some-incremental-tests-for-fcf-protection.patch
0001-gold-Workaround-PR-gold-25968.patch
0002-Gold-Allow-repeated-call-to-set_doing_static_link.patch
0003-gold-Initial-TLS-relocation-scan-support.patch
0004-gold-Enable-TLS-relocation-scan.patch
0005-gold-Handle-TLS-relocation-scan-in-garbage-collectio.patch
0006-gold-Enable-TLS-relocation-scan-for-x86-64.patch
0007-gold-Add-testcases-for-PR-gold-25476.patch
0001-gold-Support-GNU_PROPERTY_X86_ISA_1_V-234.patch

Maybe I should push my gold fixes.

-- 
H.J.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GOLD] Increase --split-stack-adjust-size
  2020-10-08  6:53 [GOLD] Increase --split-stack-adjust-size Alan Modra
  2020-10-08 12:01 ` [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh H.J. Lu
@ 2020-10-08 19:27 ` Ian Lance Taylor
  1 sibling, 0 replies; 5+ messages in thread
From: Ian Lance Taylor @ 2020-10-08 19:27 UTC (permalink / raw)
  To: Alan Modra; +Cc: Binutils

On Wed, Oct 7, 2020 at 11:53 PM Alan Modra <amodra@gmail.com> wrote:
>
> 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.
>
> diff --git a/gold/options.h b/gold/options.h
> index bc211151de..51d3614e6b 100644
> --- a/gold/options.h
> +++ b/gold/options.h
> @@ -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"));

This is OK.  Thanks for following up on it.

Ian

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-10-08 19:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-08  6:53 [GOLD] Increase --split-stack-adjust-size Alan Modra
2020-10-08 12:01 ` [PATCH] gold: Update testsuite/split_[i386|x32|x86_64].sh H.J. Lu
2020-10-08 12:29   ` Alan Modra
2020-10-08 12:48     ` H.J. Lu
2020-10-08 19:27 ` [GOLD] Increase --split-stack-adjust-size Ian Lance Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).