From patchwork Thu Mar 28 08:25:47 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Botcazou X-Patchwork-Id: 231927 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 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "localhost", Issuer "www.qmailtoaster.com" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 9F6202C007C for ; Thu, 28 Mar 2013 19:31:13 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; q=dns; s= default; b=Iln7Hges6/zs7c1vp/Ou6Rs+hkIRhHsLRdaQ6XhTcDCv0qSK4OeY2 cbCkU3vEbaqIdeT34wfNiugwcvdd65ZxKX2WQumXfGOgqA+gpBo1fd9qf7cKxxxU Nr3843wNmjbn03JOHdQY7n5vg6Hp5yLNc6V4Qd8UYpADI7IqpzSdK0= 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:from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=default; bh=mzWx6F7UeRC7uObe9boz31iRlzI=; b=K/lKhLcEjaNytp8Im1ZoCMazdyWt Y5pVX2lLhORomu13T8Jd3EZZxynVLnQ3mydA3MvV4EDw1odlm7MQl2k35iNT/uei s5B+9ohA25ByOkuSUV6NS+IwFtUygznTSFmV81bUDZqnre9q/QKTTMTuJTwrsvXX j0H4O2KqAxRD/GU= Received: (qmail 23195 invoked by alias); 28 Mar 2013 08:30:59 -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 23161 invoked by uid 89); 28 Mar 2013 08:30:52 -0000 X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL, BAYES_00, KHOP_THREADED autolearn=ham version=3.3.1 Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (194.98.77.210) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Thu, 28 Mar 2013 08:30:49 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id D13982900AB; Thu, 28 Mar 2013 09:30:46 +0100 (CET) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wxs8iUNCq-Dm; Thu, 28 Mar 2013 09:30:46 +0100 (CET) Received: from polaris.localnet (bon31-6-88-161-99-133.fbx.proxad.net [88.161.99.133]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 652F9290093; Thu, 28 Mar 2013 09:30:46 +0100 (CET) From: Eric Botcazou To: gcc-patches@gcc.gnu.org Cc: Richard Henderson Subject: Re: Do not disable -fomit-frame-pointer on !ACCUMULATE_OUTGOING_ARGS targets Date: Thu, 28 Mar 2013 09:25:47 +0100 Message-ID: <2005232.ExeqZnW5gx@polaris> User-Agent: KMail/4.7.2 (Linux/3.1.10-1.19-desktop; KDE/4.7.2; x86_64; ; ) In-Reply-To: <51530B8A.8010401@redhat.com> References: <1376739.Jx8uRcIPDP@polaris> <2212211.9j9Tq3FWAK@polaris> <51530B8A.8010401@redhat.com> MIME-Version: 1.0 X-Virus-Found: No > Isn't pass_dwarf2_frame enabled whenever we're generating any unwind info? OK, I've installed this on mainline, 4.8 branch and 4.7 branch. 2013-03-28 Eric Botcazou * toplev.c (process_options): Do not disable -fomit-frame-pointer on a general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS is not enabled. Index: toplev.c =================================================================== --- toplev.c (revision 196816) +++ toplev.c (working copy) @@ -1527,18 +1527,6 @@ process_options (void) if (!flag_stack_protect) warn_stack_protect = 0; - /* ??? Unwind info is not correct around the CFG unless either a frame - pointer is present or A_O_A is set. Fixing this requires rewriting - unwind info generation to be aware of the CFG and propagating states - around edges. */ - if (flag_unwind_tables && !ACCUMULATE_OUTGOING_ARGS - && flag_omit_frame_pointer) - { - warning (0, "unwind tables currently require a frame pointer " - "for correctness"); - flag_omit_frame_pointer = 0; - } - /* Address Sanitizer needs porting to each target architecture. */ if (flag_asan && (targetm.asan_shadow_offset == NULL