Ping for this patch to add a prepare_pch_save target hook: http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00273.html
It fixes many PCH failures for MIPS16 (which are a regression from earlier releases). The patch gets rid of some locally-cached state before writing out the PCH file. We have to do that because some of the state is not under GGC control, and is too expensive to put under GGC control purely for the sake of PCH. For avoidance of doubt, the patch doesn't change the user's MIPS16 vs. non-MIPS16 setting for any code; that's decided by attributes on a function-by-function basis, or by mips_base_mips16 in the global case. Hopefully the pch branch will make all this redundant for 4.8, but for the time being: OK for trunk? Richard