From patchwork Sat Jan 2 03:46:37 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandra Loosemore X-Patchwork-Id: 562067 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 67F78140BA2 for ; Sat, 2 Jan 2016 14:47:29 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=vSPg1P1V; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=iofNvoWdPySFD0FvcoWCawB8eWuk432Hc163+I/sg8Nm1Ew8HJ TCdQYIMlVX1d+wGE+MGkux2J3XpRVSMVp8OAmsHoORid+T6+z8bX4a2Wj7kg5uDL 2FHbAlky1Xe5MNRPF0kmfmHQ0Ongqa7S3fAFcrmWUJR3cU7uCFZGhPr48= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; s= default; bh=mH1qGtLuv745hsUBEPKL6/CUIQM=; b=vSPg1P1V6fsI6wyfoF+W L49xBJyTbxytrKI5PNzPMp0qPFq80k7F99V++ZB8q1rXRztuvVXo2bCWUva5yKkJ 4oAxP+51o02OYHseGnWTrOiR7gdwj8KqXfU+wee4GY35Fbv3jeO7e/CmNiKO2h69 VpjISlKrcJGWgnuxeiYM4ns= Received: (qmail 123106 invoked by alias); 2 Jan 2016 03:47:22 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 123094 invoked by uid 89); 2 Jan 2016 03:47:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, KAM_ASCII_DIVIDERS, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=no version=3.3.2 spammy=sk:fstack, sk:fstack-, @cindex, cindex X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 02 Jan 2016 03:47:20 +0000 Received: from svr-orw-fem-04.mgc.mentorg.com ([147.34.97.41]) by relay1.mentorg.com with esmtp id 1aFD9w-0006GT-Mo from Sandra_Loosemore@mentor.com for gcc-patches@gcc.gnu.org; Fri, 01 Jan 2016 19:47:16 -0800 Received: from [IPv6:::1] (147.34.91.1) by svr-orw-fem-04.mgc.mentorg.com (147.34.97.41) with Microsoft SMTP Server id 14.3.224.2; Fri, 1 Jan 2016 19:47:16 -0800 To: GCC Patches From: Sandra Loosemore Subject: [doc, committed] document no_stack_limit attribute Message-ID: <5687481D.8080003@codesourcery.com> Date: Fri, 1 Jan 2016 20:46:37 -0700 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 I've checked in this patch to address one of the long-standing documentation bugs reported in PR 1078. -Sandra Index: extend.texi =================================================================== --- extend.texi (revision 232030) +++ extend.texi (working copy) @@ -2877,6 +2877,12 @@ prologue which decides whether to split @code{no_split_stack} attribute do not have that prologue, and thus may run with only a small amount of stack space available. +@item no_stack_limit +@cindex @code{no_stack_limit} function attribute +This attribute locally overrides the @option{-fstack-limit-register} +and @option{-fstack-limit-symbol} command-line options; it has the effect +of disabling stack limit checking in the function it applies to. + @item noclone @cindex @code{noclone} function attribute This function attribute prevents a function from being considered for Index: invoke.texi =================================================================== --- invoke.texi (revision 232030) +++ invoke.texi (working copy) @@ -24631,6 +24631,9 @@ and grows downwards, you can use the fla @option{-Wl,--defsym,__stack_limit=0x7ffe0000} to enforce a stack limit of 128KB@. Note that this may only work with the GNU linker. +You can locally override stack limit checking by using the +@code{no_stack_limit} function attribute (@pxref{Function Attributes}). + @item -fsplit-stack @opindex fsplit-stack Generate code to automatically split the stack before it overflows.