From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28288 invoked by alias); 8 Aug 2010 14:56:58 -0000 Received: (qmail 28280 invoked by uid 22791); 8 Aug 2010 14:56:57 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from mail-qw0-f47.google.com (HELO mail-qw0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 08 Aug 2010 14:56:51 +0000 Received: by qwg8 with SMTP id 8so6802953qwg.20 for ; Sun, 08 Aug 2010 07:56:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.37.3 with SMTP id v3mr6206968qcd.169.1281279409782; Sun, 08 Aug 2010 07:56:49 -0700 (PDT) Received: by 10.229.182.18 with HTTP; Sun, 8 Aug 2010 07:56:49 -0700 (PDT) Date: Sun, 08 Aug 2010 15:08:00 -0000 Message-ID: Subject: Turn on -fomit-frame-pointer by default for 32bit Linux/x86 From: Uros Bizjak To: GCC Development Cc: Richard Guenther , Jakub Jelinek , Mark Mitchell , Richard Henderson , jh@suse.cz, "H.J. Lu" , Andi Kleen , Andrew Haley , David Daney , Xinliang David Li , Chris Lattner Content-Type: text/plain; charset=ISO-8859-1 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2010-08/txt/msg00147.txt.bz2 Hello! After recent discussions, I would like to propose a transition to -fomit-frame-pointer for x86_32. The transition should be smooth as much as possible, should have option to revert to old behaviour and still providing path for the improvement. And we have learned something from cld issues, too (cough, cough...). I support the idea to change x86_32 defaults w.r.t. frame pointer (and unwind tables) to the same defaults as x86_64 has. The patch should also introduce --enable-frame-pointer configure option (off by default) that would revert back to old x86_32 behaviour. So, if there are codes that depend on FP, their users (or distributions) should either (re-)configure the compiler with --enable-frame-pointer or they should use older compiler - 4.5.x will still be supported for many years. OTOH, it looks that users don't care that much whether backtraces on x86_64 are totally accurate, so IMO the sky won't fall down if x86_32 misses some backtraces in the same way. And as I have learned from the discussion, the problem is fixable with some effort on the user's side, thus fixing both targets in one shot. Of course, this change and the option to revert to the previous behaviour should be announced and documented in GCC release notes for 4.6.0. IMO, we have to bite the bullet from time to time in order to improve the generated code. We should not claim that gcc is "no-code-left-behind compiler" - from my experience, introducing new compiler always means that some parts of the code have to be fixed (as in case of the change to -fno-strict-aliasing). Uros.