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
>
>
next prev parent 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).