From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 70786 invoked by alias); 15 Feb 2016 10:21:25 -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 70775 invoked by uid 89); 15 Feb 2016 10:21:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.3 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=splitstack, morestack_ref, morestack.S, sk:s390_em X-HELO: e06smtp06.uk.ibm.com Received: from e06smtp06.uk.ibm.com (HELO e06smtp06.uk.ibm.com) (195.75.94.102) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Mon, 15 Feb 2016 10:21:24 +0000 Received: from localhost by e06smtp06.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 15 Feb 2016 10:21:21 -0000 Received: from d06dlp03.portsmouth.uk.ibm.com (9.149.20.15) by e06smtp06.uk.ibm.com (192.168.101.136) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 15 Feb 2016 10:21:19 -0000 X-IBM-Helo: d06dlp03.portsmouth.uk.ibm.com X-IBM-MailFrom: krebbel@linux.vnet.ibm.com X-IBM-RcptTo: gcc-patches@gcc.gnu.org Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 2E2F91B08069 for ; Mon, 15 Feb 2016 10:21:34 +0000 (GMT) Received: from d06av05.portsmouth.uk.ibm.com (d06av05.portsmouth.uk.ibm.com [9.149.37.229]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u1FALICB50593876 for ; Mon, 15 Feb 2016 10:21:18 GMT Received: from d06av05.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av05.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u1FALIPQ018249 for ; Mon, 15 Feb 2016 03:21:18 -0700 Received: from [9.152.212.123] (dyn-9-152-212-123.boeblingen.de.ibm.com [9.152.212.123]) by d06av05.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u1FALH0Y018206; Mon, 15 Feb 2016 03:21:17 -0700 Subject: Re: [PATCH] s390: Add -fsplit-stack support To: =?UTF-8?Q?Marcin_Ko=c5=9bcielnicki?= , uweigand@de.ibm.com References: <56BB37BF.4020404@0x04.net> <1455465688-7715-1-git-send-email-koriakin@0x04.net> Cc: gcc-patches@gcc.gnu.org From: Andreas Krebbel Message-ID: <56C1A69D.7050107@linux.vnet.ibm.com> Date: Mon, 15 Feb 2016 10:21:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1455465688-7715-1-git-send-email-koriakin@0x04.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16021510-0025-0000-0000-000005DDD80A X-IsSubscribed: yes X-SW-Source: 2016-02/txt/msg00966.txt.bz2 On 02/14/2016 05:01 PM, Marcin Kościelnicki wrote: > libgcc/ChangeLog: > > * config.host: Use t-stack and t-stack-s390 for s390*-*-linux. > * config/s390/morestack.S: New file. > * config/s390/t-stack-s390: New file. > * generic-morestack.c (__splitstack_find): Add s390-specific code. > > gcc/ChangeLog: > > * common/config/s390/s390-common.c (s390_supports_split_stack): > New function. > (TARGET_SUPPORTS_SPLIT_STACK): New macro. > * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue. > * config/s390/s390.c (struct machine_function): New field > split_stack_varargs_pointer. > (s390_register_info): Mark r12 as clobbered if it'll be used as temp > in s390_emit_prologue. > (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack > vararg pointer. > (morestack_ref): New global. > (SPLIT_STACK_AVAILABLE): New macro. > (s390_expand_split_stack_prologue): New function. > (s390_live_on_entry): New function. > (s390_va_start): Use split-stack vararg pointer if appropriate. > (s390_asm_file_end): Emit the split-stack note sections. > (TARGET_EXTRA_LIVE_ON_ENTRY): New macro. > * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec. > (UNSPECV_SPLIT_STACK_CALL): New unspec. > (UNSPECV_SPLIT_STACK_DATA): New unspec. > (split_stack_prologue): New expand. > (split_stack_space_check): New expand. > (split_stack_data): New insn. > (split_stack_call): New expand. > (split_stack_call_*): New insn. > (split_stack_cond_call): New expand. > (split_stack_cond_call_*): New insn. Applied. Thanks! -Andreas-