https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82045
--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- (In reply to r...@cebitec.uni-bielefeld.de from comment #3) > > --- Comment #1 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot > > gnu.org> --- > > Could you attach the .i file? Using a cross compiler, I was able to build > > the > > Sure, done. Thanks. This also works with the cross compiler, even though it does seem to be going through the same code path as the one shown in the backtrace. > > parts of libgcc that don't depend on system headers, and _multc3.o built OK > > for > > me. But that probably isn't indicative of what happens on real Solaris. > > Natively, I can easily reproduce the ICE with > > $ cc1 -fpreprocessed libgcc2.i -quiet -mcpu=v9 -o libgcc2.s > > Please note that I'm using a 32-bit compiler; maybe the problem doesn't > occur on a 64-bit host? That's certainly a possibility, although I don't *think* we changed anything in terms of variable sizes. This is a bit of a long shot, but maybe still worth trying. Could you see what happens if you change: #if GCC_VERSION >= 4000 #define ALWAYS_INLINE inline __attribute__ ((always_inline)) #else #define ALWAYS_INLINE inline #endif so that the plain "inline" version is always chosen?