http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49670
--- Comment #4 from Jeffrey Walton <noloader at gmail dot com> 2011-07-08 08:07:43 UTC --- (In reply to comment #0) > Sorry if this was previously reported. Searching returned an error stating I > used an invalid file extension. > > I was attempting to compile the latest Crypto++ (svn checkout > https://cryptopp.svn.sourceforge.net/svnroot/cryptopp/trunk/c5 cryptopp) on a > Dell GX280 (32 bit Pentium 4). Here's the internal compiler error: > > $ export PREFIX=/usr/local; make > g++ -DNDEBUG -g -O2 -m32 -mtune=pentium4 -march=native -pipe -c 3way.cpp > g++ -DNDEBUG -g -O2 -m32 -mtune=pentium4 -march=native -pipe -c adler32.cpp > g++ -DNDEBUG -g -O2 -m32 -mtune=pentium4 -march=native -pipe -c algebra.cpp > g++ -DNDEBUG -g -O2 -m32 -mtune=pentium4 -march=native -pipe -c algparam.cpp > g++ -DNDEBUG -g -O2 -m32 -mtune=pentium4 -march=native -pipe -c arc4.cpp > g++ -DNDEBUG -g -O2 -m32 -mtune=pentium4 -march=native -pipe -c asn.cpp > asn.cpp: In member function ‘void > CryptoPP::OID::DEREncode(CryptoPP::BufferedTransformation&) const’: > asn.cpp:254:1: error: unrecognizable insn: > (insn 194 178 195 2 asn.cpp:248 (set (reg:SI 2 cx) > (mem:QI (plus:SI (reg/f:SI 1 dx [orig:61 D.44160 ] [61]) > (const_int 4 [0x4])) [16 S1 A32])) -1 (nil)) > asn.cpp:254:1: internal compiler error: in extract_insn, at recog.c:2104 > Please submit a full bug report, > with preprocessed source if appropriate. > See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions. > make: *** [asn.o] Error 1 > > [SNIP] > > $ g++ --version > g++ (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2 > Copyright (C) 2010 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. It looks like removing `-mtune=native` fixed it: $cat GNUMakefile ... ifneq ($(GCC42_OR_LATER),0) ifeq ($(UNAME),Darwin) CXXFLAGS += -arch x86_64 -arch i386 else # CXXFLAGS += -march=native endif endif ... $ make g++ -DNDEBUG -g -O2 -pipe -c 3way.cpp g++ -DNDEBUG -g -O2 -pipe -c adler32.cpp g++ -DNDEBUG -g -O2 -pipe -c algebra.cpp g++ -DNDEBUG -g -O2 -pipe -c algparam.cpp g++ -DNDEBUG -g -O2 -pipe -c arc4.cpp g++ -DNDEBUG -g -O2 -pipe -c asn.cpp g++ -DNDEBUG -g -O2 -pipe -c authenc.cpp g++ -DNDEBUG -g -O2 -pipe -c base32.cpp g++ -DNDEBUG -g -O2 -pipe -c base64.cpp ...