]> git.ipfire.org Git - thirdparty/gcc.git/commit
toplevel: Build stage1/stage2/stageprofile libstdc++ with --disable-libstdcxx-pch...
authorJakub Jelinek <jakub@redhat.com>
Wed, 4 Feb 2026 10:49:01 +0000 (11:49 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 4 Feb 2026 10:49:01 +0000 (11:49 +0100)
commitda50e9a7936a8a8226b4c3b7d8624074d014beef
tree641bc77efb25ed1ba2a67c36ae395eb20c0a9b5b
parent71c2e6c2bfcaf33227727181dffda8a3b05e4e9b
toplevel: Build stage1/stage2/stageprofile libstdc++ with --disable-libstdcxx-pch when bootstrapping

The following patch saves ~ 2.4GiB of disk space in x86_64-linux
bootstrapped object directory:
find obj80 -name \*.gch -a -type f | xargs du -shc | grep total
3.7G    total
find obj82 -name \*.gch -a -type f | xargs du -shc | grep total
1.3G    total
and ~ 800MiB for i686-linux:
find obj81 -name \*.gch -a -type f | xargs du -shc | grep total
1.2G    total
find obj83 -name \*.gch -a -type f | xargs du -shc | grep total
409M    total
by disabling PCH in stage1/stage2/stageprofile builds, so only
building it in stage3/stagefeedback etc.
I think in stage1/stage2 it is a pure waste of bootstrap time and disk
space, for profiledbootstrap I'd say PCH isn't used commonly enough
in the wild that it is worth training GCC on that (but if you disagree,
I can surely take out that single line in there).

2026-02-04  Jakub Jelinek  <jakub@redhat.com>

* Makefile.tpl (STAGE1_CONFIGURE_FLAGS, STAGE2_CONFIGURE_FLAGS,
STAGEprofile_CONFIGURE_FLAGS): Append --disable-libstdcxx-pch if
target-libstdc++-v3-bootstrap.
* Makefile.in: Regenerate.
Makefile.in
Makefile.tpl