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
...

Reply via email to