Gentoo Archives: gentoo-dev

From: Ryan Hill <dirtyepic@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Default USE changes for fortran and mudflap?
Date: Sun, 12 Jan 2014 11:38:56
Message-Id: 20140112054812.0e76b439@caribou.gateway.pace.com
In Reply to: Re: [gentoo-dev] Re: Default USE changes for fortran and mudflap? by "Michał Górny"
1 On Sun, 12 Jan 2014 11:08:18 +0100
2 Michał Górny <mgorny@g.o> wrote:
3
4 > Dnia 2014-01-12, o godz. 03:50:53
5 > Ryan Hill <dirtyepic@g.o> napisał(a):
6
7 > > Bootstrapping makes distcc impossible, and you can't bootstrap these days
8 > > without building C and C++. Even if you're not bootstrapping, the back and
9 > > middle ends are shared. You have to build them to build the front-ends.
10 > > Maybe you could cut out a couple of the target libraries, so you're really
11 > > not gaining much.
12
13 > Yes but if C & C++ was installed after it is built, distcc/ccache could
14 > be then used to build the Fortran & GCJ & so on. Of course, there's
15 > another matter of matching gcc versions between hosts but that's just
16 > another problem that needs addressing elsewhere.
17
18 Unfortunately not, at least for ccache. When a new C compiler is installed, it
19 invalidates the cache that was generated by the previous compiler while building
20 it because ccache hashes the compiler's mtime. Furthermore in stage2/3 you
21 can't use either ccache or distcc. ccache because the mtime has changed again,
22 the command line changes between stages (stage1 is built with minimal flags
23 for speed, stage 2 with normal flags, and stage 3 with -gtoggle to make sure
24 the addition of debug info doesn't change code generation). The build system
25 also bypasses ccache during stage2/3 by directly calling the binary in the
26 build tree (after all, using cached data between stages would kind of defeat
27 the purpose of bootstrapping). I'm less familiar with distcc but if the remote
28 host doesn't have a copy of the just-built compiler I don't think there's much
29 it can do.
30
31 > Considering that it saves you like 5M? I'd rather keep it enabled. 5M
32 > won't save the day, while waiting extra 2 hours for gcc rebuild because
33 > some package needs Fortran is irritating. And I say two hours because,
34 > say, I had to enable USE=gcj earlier and now I have to rebuild that
35 > huge thing.
36
37 Okay, good example. No[1] one[2] likes[3] building gcj.
38
39 [1] http://gcc.gnu.org/ml/gcc/2008-06/msg00425.html
40 [2] http://gcc.gnu.org/ml/gcc/2010-10/msg00506.html
41 [3] http://gcc.gnu.org/ml/gcc/2013-11/msg00153.html
42
43
44 --
45 Ryan Hill psn: dirtyepic_sk
46 gcc-porting/toolchain/wxwidgets @ gentoo.org
47
48 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463

Attachments

File name MIME type
signature.asc application/pgp-signature