Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 63922 - g++'s ICE during compilation of dev-libs/crypto++-5.2
Summary: g++'s ICE during compilation of dev-libs/crypto++-5.2
Status: VERIFIED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: Highest critical (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
: 64646 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-09-13 12:54 UTC by Krzysztof Pawlik (RETIRED)
Modified: 2004-12-07 02:12 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
crypto-5.2.1.ebuild (crypto-5.2.1.ebuild.patch,378 bytes, patch)
2004-11-26 09:00 UTC, Krzysztof Pawlik (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Krzysztof Pawlik (RETIRED) gentoo-dev 2004-09-13 12:54:04 UTC
During compilation of dev-libs/crypto++-5.2 I've got this ICE:

g++ -march=pentium4m -O2 -mmmx -msse -msse2 -pipe -c integer.cpp
integer.cpp: In static member function `static void CryptoPP::P4Optimized::Multiply4(CryptoPP::word*, const CryptoPP::word*, const CryptoPP::word*)':
integer.cpp:1681: error: insn does not satisfy its constraints:
(insn 794 793 651 0 (set (reg/v:V2SI 21 xmm0 [orig:193 <anonymous> ] [193])
        (mem:V2SI (plus:SI (reg/f:SI 6 bp)
                (const_int -136 [0xffffff78])) [0 S8 A8])) 499 {movv2si_internal} (nil)
    (nil))
integer.cpp:1681: internal compiler error: in reload_cse_simplify_operands, at postreload.c:378
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
Preprocessed source stored into /var/tmp/portage/crypto++-5.2/temp/ccPlnUkd.out file, please attach this to your bugreport.
make: *** [integer.o] Error 1

The preprocessed source is available here: http://fatcat.ftj.agh.edu.pl/~nelchael/ccPlnUkd.out

Compiler:
gcc (GCC) 3.4.2  (Gentoo Linux 3.4.2-r1, ssp-3.4.1-1, pie-8.7.6.5)

emerge info:
Portage 2.0.50-r11 (default-x86-2004.0, gcc-3.4.2, glibc-2.3.4.20040808-r0, 2.6.7-nelchael1)
=================================================================
System uname: 2.6.7-nelchael1 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
Gentoo Base System version 1.5.3
distcc 2.17 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4m -O2 -mmmx -msse -msse2 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4m -O2 -mmmx -msse -msse2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://router/mirror/gentoo ftp://ftp.easynet.nl/mirror/gentoo ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/local /usr/local/portage/nelchael"
SYNC="rsync://rsync1.pl.gentoo.org/gentoo-portage"
USE="X alsa avi berkdb bitmap-fonts cdr crypt dvd gdbm gtk gtk2 imlib jpeg libg++ libwww mmx mmx2 motif mpeg ncurses network nls nogg opengl pam png postgres python quicktime readline sdl slang sse sse2 ssl tcpd truetype x86 xml2 xmms xprint xv xvid zlib"
Comment 1 Krzysztof Pawlik (RETIRED) gentoo-dev 2004-10-06 15:55:41 UTC
Bug confirmed with crypto++-5.2.1, gcc (GCC) 3.4.2  (Gentoo Linux 3.4.2-r2, ssp-3.4.1-1, pie-8.7.6.5):

g++ -march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe -c idea.cpp
In file included from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/backward/strstream:51,
                 from polynomi.cpp:10,
                 from ida.cpp:10:
/usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
g++ -march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe -c integer.cpp
integer.cpp: In static member function `static void CryptoPP::P4Optimized::Multiply4(CryptoPP::word*, const CryptoPP::word*, const CryptoPP::word*)':
integer.cpp:1704: error: insn does not satisfy its constraints:
(insn 794 793 651 0 (set (reg/v:V2SI 21 xmm0 [orig:193 <anonymous> ] [193])
        (mem:V2SI (plus:SI (reg/f:SI 6 bp)
                (const_int -136 [0xffffff78])) [0 S8 A8])) 499 {movv2si_internal} (nil)
    (nil))
integer.cpp:1704: internal compiler error: in reload_cse_simplify_operands, at postreload.c:378
Please submit a full bug report,
with preprocessed source if appropriate.

Preprocessed source: http://fatcat.ftj.agh.edu.pl/~nelchael/ccRIV76x.out

emerge info:
Portage 2.0.51_rc7 (default-x86-2004.0, gcc-3.4.2, glibc-2.3.4.20040808-r0, 2.6.8.1-ck9 i686)
=================================================================
System uname: 2.6.8.1-ck9 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
Gentoo Base System version 1.5.3
distcc 2.17 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.8.1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="ftp://router/mirror/gentoo ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo ftp://ftp.easynet.nl/mirror/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/local /usr/local/portage/nelchael"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa avi berkdb bitmap-fonts cdr crypt dvd f77 gdbm gtk gtk2 imlib jpeg libg++ libwww mmx mmx2 mozilla mpeg ncurses network nls nogg noplugin nptl opengl pam png postgres python quicktime readline sdl slang sse sse2 ssl tcpd truetype x86 xml2 xmms xprint xv xvid zlib"
Comment 2 Andreas Eriksson 2004-10-06 23:09:43 UTC
same thing happens here with both 5.2 and 5.2.1
Comment 3 Andreas Eriksson 2004-10-06 23:23:32 UTC
did some more searching and it seems like http://bugs.gentoo.org/show_bug.cgi?id=64646 has a fix for this problem. that bug is a dupe of this bug since this one was made first. (or maybe this bug is a dupe of that bug since it has a solution?)

anyway, the fix is to append -mno-sse2 when using gcc 3.4.
Comment 4 Krzysztof Pawlik (RETIRED) gentoo-dev 2004-10-07 00:54:01 UTC
That's a temporary solution. I think it should get fixed.
Comment 5 Krzysztof Pawlik (RETIRED) gentoo-dev 2004-10-13 09:14:00 UTC
Maybe the ebuild should filter out flag -msse2 and add -mno-sse2?
Comment 6 Krzysztof Pawlik (RETIRED) gentoo-dev 2004-11-26 08:42:06 UTC
With GCC 3.4.3 and crypto++ 5.2.1 still not good:

g++ -march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe -c idea.cpp
In file included from /usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/g++-v3/backward/strstream:51,
                 from polynomi.cpp:10,
                 from ida.cpp:10:
/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/g++-v3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
g++ -march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe -c integer.cpp
integer.cpp: In static member function `static void CryptoPP::P4Optimized::Multiply4(CryptoPP::word*, const CryptoPP::word*, const CryptoPP::word*)':
integer.cpp:1704: error: insn does not satisfy its constraints:
(insn 794 793 651 0 (set (reg/v:V2SI 21 xmm0 [orig:193 <anonymous> ] [193])
        (mem:V2SI (plus:SI (reg/f:SI 6 bp)
                (const_int -136 [0xffffff78])) [0 S8 A8])) 499 {movv2si_internal} (nil)
    (nil))
integer.cpp:1704: internal compiler error: in reload_cse_simplify_operands, at postreload.c:391
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
g++ -march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe -c iterhash.cpp
g++ -march=pentium4 -O2 -mmmx -msse -msse2 -mfpmath=sse -pipe -c luc.cpp
Preprocessed source stored into /var/tmp/portage/crypto++-5.2.1/temp/ccwZ41cb.out file, please attach this to your bugreport.
make: *** [integer.o] Error 1
make: *** Waiting for unfinished jobs....
Comment 7 Krzysztof Pawlik (RETIRED) gentoo-dev 2004-11-26 09:00:21 UTC
Created attachment 44782 [details, diff]
crypto-5.2.1.ebuild

This patch for crypto-5.2.1.ebuild helped.
Comment 8 Daniel Black (RETIRED) gentoo-dev 2004-12-06 21:38:42 UTC
*** Bug 64646 has been marked as a duplicate of this bug. ***
Comment 9 Daniel Black (RETIRED) gentoo-dev 2004-12-07 01:44:13 UTC
 Krzysiek thanks for the patch. Fixed now.
Comment 10 Krzysztof Pawlik (RETIRED) gentoo-dev 2004-12-07 02:12:41 UTC
Great :) Thank You. I'm closing it.