From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 120784 invoked by alias); 25 May 2017 09:23:18 -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 120726 invoked by uid 89); 25 May 2017 09:23:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.2 spammy=GMP, 6517 X-HELO: mx1.suse.de Received: from mx2.suse.de (HELO mx1.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 25 May 2017 09:23:11 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 5F7B5ABF2; Thu, 25 May 2017 09:23:12 +0000 (UTC) To: GCC Patches Cc: Jakub Jelinek , Richard Biener From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Subject: [RFC] [PATCH] Introduce configure flag --with-stage1-cflags. Message-ID: <41109217-1bf5-b112-e783-8040196fd410@suse.cz> Date: Thu, 25 May 2017 09:26:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------FB7DD3C965D37120995FD72E" X-IsSubscribed: yes X-SW-Source: 2017-05/txt/msg01933.txt.bz2 This is a multi-part message in MIME format. --------------FB7DD3C965D37120995FD72E Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-length: 415 Hello. After a discussion with Richi, using adding "-O2" to STAGE1 cflags with a recent enough compiler can significantly speed up bootstrap. Thus I'm suggesting to introduce --with-stage1-cflags where one can provide such options. Apart from that, maybe it would be handy to automatically enable "-O2" when one has a recent compiler? Do we have an example where we detect host compiler and it's version? Martin --------------FB7DD3C965D37120995FD72E Content-Type: text/x-patch; name="0001-Introduce-configure-flag-with-stage1-cflags.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-Introduce-configure-flag-with-stage1-cflags.patch" Content-length: 4009 >From 5c44f79237125ad2bc29fcd1fb06a249c05b277d Mon Sep 17 00:00:00 2001 From: marxin Date: Thu, 25 May 2017 11:17:29 +0200 Subject: [PATCH] Introduce configure flag --with-stage1-cflags. ChangeLog: 2017-05-25 Martin Liska * configure.ac: Introduce configure flag --with-stage1-cflags. * configure: Regenerate. --- configure | 40 +++++++++++++++++++++++++++------------- configure.ac | 31 +++++++++++++++++++------------ 2 files changed, 46 insertions(+), 25 deletions(-) diff --git a/configure b/configure index 2c2fe644cfa..442f78d9565 100755 --- a/configure +++ b/configure @@ -559,7 +559,6 @@ compare_exclusions host_shared stage2_werror_flag stage1_checking -stage1_cflags MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE @@ -652,6 +651,7 @@ isllibs poststage1_ldflags poststage1_libs stage1_ldflags +stage1_cflags stage1_libs extra_isl_gmp_configure_flags extra_mpc_mpfr_configure_flags @@ -771,6 +771,7 @@ with_gmp with_gmp_include with_gmp_lib with_stage1_libs +with_stage1_cflags with_stage1_ldflags with_boot_libs with_boot_ldflags @@ -1542,6 +1543,8 @@ Optional Packages: --with-gmp-include=PATH specify directory for installed GMP include files --with-gmp-lib=PATH specify directory for the installed GMP library --with-stage1-libs=LIBS libraries for stage1 + --with-stage1-cflags=FLAGS + compiler flags for stage1 --with-stage1-ldflags=FLAGS linker flags for stage1 --with-boot-libs=LIBS libraries for stage2 and later @@ -5804,6 +5807,29 @@ fi +# Compiler flags to use for stage1 or when not bootstrapping. + +# Check whether --with-stage1-cflags was given. +if test "${with_stage1_cflags+set}" = set; then : + withval=$with_stage1_cflags; if test "$withval" = "no" -o "$withval" = "yes"; then + stage1_cflags= + else + stage1_cflags=$withval + fi +else + stage1_cflags="-g" + case $build in + vax-*-*) + case ${GCC} in + yes) stage1_cflags="-g -Wa,-J" ;; + *) stage1_cflags="-g -J" ;; + esac ;; + esac +fi + + + + # Linker flags to use for stage1 or when not bootstrapping. # Check whether --with-stage1-ldflags was given. @@ -14544,18 +14570,6 @@ MAINT=$MAINTAINER_MODE_TRUE # GCC bootstrap support # --------------------- -# Stage specific cflags for build. -stage1_cflags="-g" -case $build in - vax-*-*) - case ${GCC} in - yes) stage1_cflags="-g -Wa,-J" ;; - *) stage1_cflags="-g -J" ;; - esac ;; -esac - - - # Enable --enable-checking in stage1 of the compiler. # Check whether --enable-stage1-checking was given. if test "${enable_stage1_checking+set}" = set; then : diff --git a/configure.ac b/configure.ac index 865dd543fa3..7b7902240c3 100644 --- a/configure.ac +++ b/configure.ac @@ -1637,6 +1637,25 @@ AC_ARG_WITH(stage1-libs, [stage1_libs=]) AC_SUBST(stage1_libs) +# Compiler flags to use for stage1 or when not bootstrapping. +AC_ARG_WITH(stage1-cflags, +[AS_HELP_STRING([--with-stage1-cflags=FLAGS], [compiler flags for stage1])], +[if test "$withval" = "no" -o "$withval" = "yes"; then + stage1_cflags= + else + stage1_cflags=$withval + fi], +[stage1_cflags="-g" + case $build in + vax-*-*) + case ${GCC} in + yes) stage1_cflags="-g -Wa,-J" ;; + *) stage1_cflags="-g -J" ;; + esac ;; + esac]) + +AC_SUBST(stage1_cflags) + # Linker flags to use for stage1 or when not bootstrapping. AC_ARG_WITH(stage1-ldflags, [AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])], @@ -3421,18 +3440,6 @@ AC_SUBST(MAINT)dnl # GCC bootstrap support # --------------------- -# Stage specific cflags for build. -stage1_cflags="-g" -case $build in - vax-*-*) - case ${GCC} in - yes) stage1_cflags="-g -Wa,-J" ;; - *) stage1_cflags="-g -J" ;; - esac ;; -esac - -AC_SUBST(stage1_cflags) - # Enable --enable-checking in stage1 of the compiler. AC_ARG_ENABLE(stage1-checking, [AS_HELP_STRING([[--enable-stage1-checking[=all]]], -- 2.12.2 --------------FB7DD3C965D37120995FD72E--