Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Jun 2013 19:59:39 +0400
From:      Eygene Ryabinkin <rea@freebsd.org>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, Gerald Pfeifer <gerald@FreeBSD.org>, ports-committers@freebsd.org
Subject:   Re: svn commit: r321051 - head/lang/gcc
Message-ID:  <IQNrQ9deZuQvzClrST99hIbYlpU@yvEej05H3W0/4vvRe%2BUkEiihdkU>
In-Reply-To: <51BDC89A.5020106@FreeBSD.org>
References:  <201306161413.r5GEDPhV048681@svn.freebsd.org> <51BDC89A.5020106@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--bFsKbPszpzYNtEU6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Sun, Jun 16, 2013 at 09:15:54AM -0500, Bryan Drewery wrote:
> I don't dispute the change. I'm curious what benefits bootstrapping has?

As described in
  http://gcc.gnu.org/install/build.html#TOC0
GCC builds stage1 compiler and libraries using existing system $CC (called
stage0 in GCC terminology).

stage2 is built using stage1 (from the same sources, as I recall), so
you have new compiler whose binary code is made with all-new tricks,
improvements, bug-fixes (and all new bugs in the new GCC), so
performance of the compiler itself could be higher.

stage3 is built with stage2 and results stage2 is then compared to
stage3, so one can verify that such compilers are the same and
potential bugs in new binary code of stage2 aren't really exist (or
are not covered by the comparison).

> Does it improve run-time performance?

Potentially -- yes.

> I am guessing it means it builds a smaller version of the release
> and then builds the release using itself as opposed to the system
> compiler?

I hadn't lately looked at the process, but seems like the same
compiler is still built all three times.

--disable-bootstrap builds only stage1, so build time with bootstrap
should effectively be almost tripled modulo performance improvements
in stage1 (algorithmic improvements or even increase of build time
that is traded by the more efficient new code), and stage2 (both
run-time performance increase and increase/decrease as in stage1).
--=20
Eygene Ryabinkin                                        ,,,^..^,,,
[ Life's unfair - but root password helps!           | codelabs.ru ]
[ 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB | freebsd.org ]

--bFsKbPszpzYNtEU6
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iF4EABEIAAYFAlG94OsACgkQFq+eroFS7PtbBwEAhsjNGUxY0iG57hPEuyEcg//W
LIIPuC88xh/qByB9AlgA/1f9TKNYIZVi5TNX+mHet7BOR1BP65+pKsrzxEGoKmNE
=gYbg
-----END PGP SIGNATURE-----

--bFsKbPszpzYNtEU6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?IQNrQ9deZuQvzClrST99hIbYlpU>