https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108732
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Matt Hellige from comment #3) > As long as I'm updating builds, I'll switch to that invocation, thanks. > > I still do think it's a little odd that in this case (and *only* in this > case?) output needs to be written to a mappable file. The way PCH works is mapping files in and out for speed reasons. So it is not really that odd. Even though it is not expliclty mentioned in the manual: https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Precompiled-Headers.html#Precompiled-Headers The whole idea of PCH is that the file is mapped in with almost no changes done afterwards so an exact dump of the memory from compiler can be loaded back in without doing anything special; rather the OS handles the loading into memory from the file.