http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56804
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-03 12:12:40 UTC --- I still don't believe it - the patch only changed the position of two bits in the LTO stream. It makes it incompatible to any previous LTO bytecode though. Thus, can you check if Index: gcc/lto-streamer.h =================================================================== --- gcc/lto-streamer.h (revision 197397) +++ gcc/lto-streamer.h (working copy) @@ -141,7 +141,7 @@ along with GCC; see the file COPYING3. #define LTO_SECTION_NAME_PREFIX ".gnu.lto_" #define LTO_major_version 2 -#define LTO_minor_version 2 +#define LTO_minor_version 3 typedef unsigned char lto_decl_flags_t; fixes the issue? (you need to re-build GCC, of course)