From patchwork Fri Aug 13 09:56:44 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jack Howarth X-Patchwork-Id: 61677 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]) by ozlabs.org (Postfix) with SMTP id 09E31B70F1 for ; Fri, 13 Aug 2010 19:56:54 +1000 (EST) Received: (qmail 15846 invoked by alias); 13 Aug 2010 09:56:52 -0000 Received: (qmail 15829 invoked by uid 22791); 13 Aug 2010 09:56:51 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from bromo.med.uc.edu (HELO bromo.med.uc.edu) (129.137.3.146) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Fri, 13 Aug 2010 09:56:46 +0000 Received: from bromo.med.uc.edu (localhost.localdomain [127.0.0.1]) by bromo.med.uc.edu (Postfix) with ESMTP id 04FEEB004B; Fri, 13 Aug 2010 05:56:45 -0400 (EDT) Received: (from howarth@localhost) by bromo.med.uc.edu (8.14.3/8.14.3/Submit) id o7D9uifs031038; Fri, 13 Aug 2010 05:56:44 -0400 Date: Fri, 13 Aug 2010 05:56:44 -0400 From: Jack Howarth To: gcc-patches@gcc.gnu.org Cc: mikestump@comcast.net, iains@gcc.gnu.org Subject: [PATCH] enable omit-frame-pointer on darwin with dwarf2 Message-ID: <20100813095644.GA31036@bromo.med.uc.edu> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) 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 The attached patch enables -fomit-frame-pointer for those darwin releases which support dwarf2. Bootstrapped and regression tested on x86_64-apple-darwin10. Okay for gcc trunk? Jack 2010-08-12 Jack Howarth * gcc/configure.ac: Enable -fomit-frame-pointer on darwin which support dwarf2. * config/i386/i386.c (override_options): Same. Index: gcc/configure.ac =================================================================== --- gcc/configure.ac (revision 163214) +++ gcc/configure.ac (working copy) @@ -1584,7 +1584,7 @@ [ --enable-frame-pointer enable -fno-omit-frame-pointer by default for 32bit x86], [], [ case $target_os in -linux*) +linux* | darwin[[8912]]*) # Enable -fomit-frame-pointer by default for Linux. enable_frame_pointer=no ;; Index: gcc/config/i386/i386.c =================================================================== --- gcc/config/i386/i386.c (revision 163214) +++ gcc/config/i386/i386.c (working copy) @@ -3276,9 +3276,8 @@ { if (flag_zee == 2) flag_zee = 1; - /* Mach-O doesn't support omitting the frame pointer for now. */ if (flag_omit_frame_pointer == 2) - flag_omit_frame_pointer = (TARGET_MACHO ? 0 : 1); + flag_omit_frame_pointer = 1; if (flag_asynchronous_unwind_tables == 2) flag_asynchronous_unwind_tables = 1; if (flag_pcc_struct_return == 2) @@ -3288,10 +3287,8 @@ { if (flag_zee == 2) flag_zee = 0; - /* Mach-O doesn't support omitting the frame pointer for now. */ if (flag_omit_frame_pointer == 2) - flag_omit_frame_pointer = - (TARGET_MACHO ? 0 : !(USE_IX86_FRAME_POINTER || optimize_size)); + flag_omit_frame_pointer = !(USE_IX86_FRAME_POINTER || optimize_size); if (flag_asynchronous_unwind_tables == 2) flag_asynchronous_unwind_tables = !USE_IX86_FRAME_POINTER; if (flag_pcc_struct_return == 2)