https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67812
--- Comment #3 from Rich Felker <bugdal at aerifal dot cx> --- Further research into the PCH issue shows that it will be seriously broken when GCC is built as PIE; this looks hard to fix, but worthwhile to fix if it can be. There's almost certainly no way it can work on FDPIC hosts, even when run with MMU where the default load address gets used, since function descriptors may be dynamically allocated and their addresses could vary according to ASLR. In the mean time, would it be acceptable to just make PCH support depend on #ifndef __PIC__? Even if the build system turns off (or attempts to turn off) PIE like it's doing now, having #ifndef __PIC__ around the PCH code would be a good fail-safe against random code execution if GCC somehow gets built as PIE anyway. And users who really want/need PIE could just drop the Makefile.in lines above and have everything work.