public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: "Lynn A. Boger" <laboger@linux.vnet.ibm.com>
To: David Edelsohn <dje.gcc@gmail.com>
Cc: Matthias Klose <doko@ubuntu.com>,
	gcc-patches <gcc-patches@gcc.gnu.org>,
	       Ian Taylor <iant@golang.org>,
	Alan Modra <amodra@gmail.com>
Subject: Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack
Date: Tue, 15 Sep 2015 18:31:00 -0000	[thread overview]
Message-ID: <55F86277.8010100@linux.vnet.ibm.com> (raw)
In-Reply-To: <CAGWvnym=hEBrUUtp=ZmGNex_N92rA-ME93pXVtG638UYATNFrw@mail.gmail.com>

I will make the changes Ian suggested to gospec.c and was
planning to fix the sed string in gcc/configure.ac as David suggested.

I need some feedback on whether to enable the gold linker at
all for split stack on platforms other than Power in gcc/configure.ac.
I don't know if there are gold linker versions that should be verified for
non-Power platforms.  My first patch only enabled it on Power and that
  is what I think should be done.  Those who would like to use gold
with split stack for other platforms can enable it under the appropriate
conditions.

On 09/15/2015 01:18 PM, David Edelsohn wrote:
> On Thu, Aug 27, 2015 at 5:00 PM, Lynn A. Boger
> <laboger@linux.vnet.ibm.com> wrote:
>> Here is an updated patch, with a summary of the differences from my previous
>> patch:
>>
>> - In my previous patch gcc configure was verifying the gold linker even if
>> it was the
>> default linker, but that is not necessary since in that case -fuse-ld=gold
>> does not
>> need to be set.  Gold version checking is now only done if the alternate
>> linker is gold
>> and the default linker is not.
>> - The STACK_SPLIT_STACK spec define found in gcc/gcc.c now adds
>> -fuse-ld=gold
>> if the gcc configure determines the alternate gold linker has split stack
>> support.
>> - A case statement is now used in gcc configure to verify the gold version,
>> to make it
>> easier for other platforms to add their checks if necessary.  I don't know
>> if other
>> platforms require this checking; Matthias' patch did not check the version.
>> For powerpc64
>> big and little endian we have to check the gold linker version because the
>> split
>> stack support was added recently and older gold linkers won't work.
>> - The version checking of the gold linker was removed from the libgo
>> configure
>>   since gcc configure has already decided if it is correct.
>> - TARGET_CAN_SPLIT_STACK_64BIT is now defined in sysv4.h if the glibc
>> version
>> is correct for split stack for powerpc64 big and little endian. This define
>> is used in
>> go/gospec.c in the same way that TARGET_CAN_SPLIT_STACK is used now but,
>>   additionally verifies that it is a 64 bit compile.  This is necessary
>> because split
>> stack support is not available for ppc 32 bit big endian in gcc or the gold
>> linker.
>>
>> Bootstrapped and tested on x86_64, ppc64le, ppc64 (ran m32, m64 tests)
>>
>>
>> 2015-08-27    Lynn Boger <laboger@linux.vnet.ibm.com>
>>
>> gcc/
>>           PR target/66870
>>           config/rs6000/sysv4.h:  Define TARGET_CAN_SPLIT_STACK_64BIT
>>           based on LIBC version.
>>           config.in:  Set up HAVE_GOLD_ALTERNATE.
>>           configure.ac:  Define HAVE_GOLD_ALTERNATE if the version of the
>> gold
>>           linker supports split stack.
>>           configure: Regenerate.
>>           gcc.c:  Add -fuse-ld=gold to STACK_SPLIT_SPEC if
>> HAVE_GOLD_ALTERNATE
>>           is defined.
>>           go/gospec.c:  (lang_specific_driver):  Use
>> TARGET_CAN_SPLIT_STACK_64BIT
>>           to control setting of fsplit-stack and u,pthread_create options for
>> 64 bit
>>           compiles.
> I don't have authority to approve for most of the patch.
>
> I noticed that the test for Gold version number is different than a
> similar test in another part of configure.  And the sed pattern seems
> to be too restrictive -- it fails to extract a version number for my
> tests with Gold in a few different Linux distros.  This should be
> addressed instead of silently misidentifying split stack support in
> some distros.
>
> - David
>
>

  reply	other threads:[~2015-09-15 18:25 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-18 21:14 Lynn A. Boger
2015-08-19 19:37 ` Matthias Klose
2015-08-19 19:42   ` David Edelsohn
2015-08-19 22:07   ` Lynn A. Boger
2015-08-20  0:01   ` Lynn A. Boger
2015-08-27 21:37     ` Lynn A. Boger
2015-09-15 16:50       ` Ian Lance Taylor
2015-09-15 18:21       ` David Edelsohn
2015-09-15 18:31         ` Lynn A. Boger [this message]
2015-09-15 20:04           ` Ian Lance Taylor
2015-09-17 19:15             ` Lynn A. Boger
2015-09-18 12:59               ` David Edelsohn
2015-09-30 12:46                 ` Lynn A. Boger
     [not found]               ` <CAOyqgcVA_zhivM0+qRFk9bDT42Sot-HX95M1NtZjLVphZy_0vg@mail.gmail.com>
2015-10-03 18:31                 ` Matthias Klose
     [not found]                   ` <56153C00.2000209@linux.vnet.ibm.com>
2015-10-07 17:04                     ` Ian Lance Taylor
2015-10-07 17:25                       ` David Edelsohn
2015-10-07 17:31                     ` Matthias Klose
     [not found]                       ` <5615746C.3030509@linux.vnet.ibm.com>
2015-10-07 21:58                         ` David Edelsohn
2015-10-08 18:56                       ` Lynn A. Boger
2015-10-08 20:46                         ` Matthias Klose
2015-10-09 20:17                           ` Lynn A. Boger
2015-10-10 14:00                             ` David Edelsohn
2015-10-10 21:03                               ` Matthias Klose
2015-10-10 21:25                             ` Andreas Schwab
2015-10-11 13:07                               ` Alan Modra
2015-10-11 14:43                                 ` Andreas Schwab
2015-10-11 18:29                                   ` Ian Lance Taylor
2015-10-11 23:19                                     ` Alan Modra
2015-10-12 15:15                                 ` Lynn A. Boger
2015-10-12 22:53                                   ` Alan Modra
2015-10-13 11:27                                     ` Matthias Klose
2015-10-15 18:40                                 ` David Edelsohn
2015-10-15 19:57                                   ` Lynn A. Boger
2015-10-17  0:37                                 ` Ian Lance Taylor
2015-08-25 23:05 ` Ian Lance Taylor
2015-08-26 14:01   ` Lynn A. Boger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55F86277.8010100@linux.vnet.ibm.com \
    --to=laboger@linux.vnet.ibm.com \
    --cc=amodra@gmail.com \
    --cc=dje.gcc@gmail.com \
    --cc=doko@ubuntu.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=iant@golang.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).