Note that -fPIE defines __PIC__ and __PIE__, so passing this on to pure cpp(1)/gcc -E executions is relevant. Found the hard way due to ccache breaking on i686 with precompiled headers which used the non-PIC definitions in cpuid.h since header precompilation doesn't read cc1_options.