From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 65296 invoked by alias); 8 Oct 2015 18:56:52 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 65283 invoked by uid 89); 8 Oct 2015 18:56:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: e31.co.us.ibm.com Received: from e31.co.us.ibm.com (HELO e31.co.us.ibm.com) (32.97.110.149) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Thu, 08 Oct 2015 18:56:51 +0000 Received: from localhost by e31.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 8 Oct 2015 12:56:49 -0600 Received: from d03dlp03.boulder.ibm.com (9.17.202.179) by e31.co.us.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 8 Oct 2015 12:56:42 -0600 X-IBM-Helo: d03dlp03.boulder.ibm.com X-IBM-MailFrom: laboger@linux.vnet.ibm.com X-IBM-RcptTo: gcc-patches@gcc.gnu.org Received: from b03cxnp07028.gho.boulder.ibm.com (b03cxnp07028.gho.boulder.ibm.com [9.17.130.15]) by d03dlp03.boulder.ibm.com (Postfix) with ESMTP id BE60E19D803F for ; Thu, 8 Oct 2015 12:44:48 -0600 (MDT) Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by b03cxnp07028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t98IrPf645351046 for ; Thu, 8 Oct 2015 11:53:25 -0700 Received: from d03av01.boulder.ibm.com (localhost [127.0.0.1]) by d03av01.boulder.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t98IuaBf028069 for ; Thu, 8 Oct 2015 12:56:36 -0600 Received: from oc3540537726.ibm.com (oc3540537726.ibm.com.rchland.ibm.com [9.10.86.61] (may be forged)) by d03av01.boulder.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id t98IuaqL027962; Thu, 8 Oct 2015 12:56:36 -0600 Subject: Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack To: Matthias Klose , Ian Lance Taylor References: <55D39752.5090602@linux.vnet.ibm.com> <55D4DA0B.6000106@ubuntu.com> <55D50BBA.6060909@linux.vnet.ibm.com> <55DF7A72.2040208@linux.vnet.ibm.com> <55F86277.8010100@linux.vnet.ibm.com> <55FB10E7.9090607@linux.vnet.ibm.com> <56101F0E.8000003@ubuntu.com> <56153C00.2000209@linux.vnet.ibm.com> <561556F9.8030802@ubuntu.com> Cc: David Edelsohn , gcc-patches , Alan Modra From: "Lynn A. Boger" Message-ID: <5616BC63.3060307@linux.vnet.ibm.com> Date: Thu, 08 Oct 2015 18:56:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <561556F9.8030802@ubuntu.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15100818-8236-0000-0000-00001288E580 X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg00893.txt.bz2 I think my original fix with linux.h doing the #undef on TARGET_CAN_SPLIT_STACK_64BIT is the right fix at least for powerpc-linux-gnu 32 bit only. It works for powerpc-linux-gnu without multilib and doesn't break powerpc64-linux-gnu or powerpc64le-linux-gnu. Can you tell me how you are configuring the multilib build that defaults to powerpc-linux-gnu and how it fails? Maybe there is another problem for that combination. As David noted, the use of TARGET_64BIT or TARGET_POWERPC64 won't work for this #define. On 10/07/2015 12:31 PM, Matthias Klose wrote: > On 07.10.2015 17:36, Lynn A. Boger wrote: >> Pretty sure this is the fix, but still doing some testing. > > linux.h isn't included for multilib enabled builds defaulting to > powerpc-linux-gnu, I am currently testing > > --- gcc/config/rs6000/sysv4.h (revision 228571) > +++ gcc/config/rs6000/sysv4.h (working copy) > @@ -943,8 +943,9 @@ > /* On ppc64 and ppc64le, split stack is only support for > 64 bit. */ > #undef TARGET_CAN_SPLIT_STACK_64BIT > -#if TARGET_GLIBC_MAJOR > 2 \ > - || (TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 18) > +#if TARGET_64BIT \ > + && (TARGET_GLIBC_MAJOR > 2 \ > + || (TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 18)) > #define TARGET_CAN_SPLIT_STACK_64BIT > #endif > > > >