From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14353 invoked by alias); 15 May 2014 14:49:23 -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 14338 invoked by uid 89); 15 May 2014 14:49:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: qmta03.emeryville.ca.mail.comcast.net Received: from qmta03.emeryville.ca.mail.comcast.net (HELO qmta03.emeryville.ca.mail.comcast.net) (76.96.30.32) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 15 May 2014 14:49:21 +0000 Received: from omta03.emeryville.ca.mail.comcast.net ([76.96.30.27]) by qmta03.emeryville.ca.mail.comcast.net with comcast id 2Dpw1o0070b6N64A3EpLyf; Thu, 15 May 2014 14:49:20 +0000 Received: from [IPv6:2601:9:5f80:ba4::1] ([IPv6:2601:9:5f80:ba4::1]) by omta03.emeryville.ca.mail.comcast.net with comcast id 2EpJ1o00b2nwLhK8PEpKXa; Thu, 15 May 2014 14:49:19 +0000 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) Subject: Re: RFA: Fix calculation of size of builtin setjmp buffer From: Mike Stump In-Reply-To: <2347976.UgdYmbUUr8@polaris> Date: Thu, 15 May 2014 14:49:00 -0000 Cc: Nicholas Clifton , gcc-patches@gcc.gnu.org Content-Transfer-Encoding: quoted-printable Message-Id: <92837E08-F838-42A8-A614-522CFB1CC868@comcast.net> References: <87wqdzjccp.fsf@redhat.com> <3114307.feqyCiYPCg@polaris> <53737067.2030608@redhat.com> <2347976.UgdYmbUUr8@polaris> To: Eric Botcazou X-IsSubscribed: yes X-SW-Source: 2014-05/txt/msg01200.txt.bz2 On May 15, 2014, at 12:55 AM, Eric Botcazou wrote: > No, that's too complicated and risky, just do the following: >=20 > /* builtin_setjmp takes a pointer to 5 words or pointers. */ > if (POINTER_SIZE > BITS_PER_WORD) > tmp =3D size_int (4); > else > tmp =3D size_int (5 * BITS_PER_WORD / POINTER_SIZE - 1); >=20 > which is simple and safe. But, fails whenever the size of the mode of the save area is bigger than a = certain amount=85 On my port, the size taken up by the save area is large= enough to cause this to fail. :-( The correct bug fix would have my port= not fail.