Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 64646 - g++ 3.4.1 crashed when compiling crypto++-5.2 "integer.cpp:1681: erreur interne du compilateur: dans reload_cse_simplify_operands, à postreload.c:378"
Summary: g++ 3.4.1 crashed when compiling crypto++-5.2 "integer.cpp:1681: erreur inter...
Status: RESOLVED DUPLICATE of bug 63922
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-19 08:13 UTC by kaouete
Modified: 2005-07-17 13:06 UTC (History)
2 users (show)

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


Attachments
Patch to ebuild (crypto++-5.2.ebuild.patch,832 bytes, patch)
2004-09-20 22:23 UTC, Mark Loeser (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description kaouete 2004-09-19 08:13:16 UTC
When i emerge crypto++ 5.2 i get a lot of error after having compiled a lot of files, i dont know it is g++ or crypto++ but the errors told me that it was the compiler. i have attached the Preprocessed source that emerge gave me.

Reproducible: Always
Steps to Reproduce:
1. just do emerge crypto++

Actual Results:  
about 40 files were compiled but i got a warning and then an error from the compiler


g++ -march=pentium4 -O2 -pipe -fomit-frame-pointer -c ida.cpp
g++ -march=pentium4 -O2 -pipe -fomit-frame-pointer -c idea.cpp
Dans le fichier inclus 
Comment 1 kaouete 2004-09-19 08:13:16 UTC
When i emerge crypto++ 5.2 i get a lot of error after having compiled a lot of files, i dont know it is g++ or crypto++ but the errors told me that it was the compiler. i have attached the Preprocessed source that emerge gave me.

Reproducible: Always
Steps to Reproduce:
1. just do emerge crypto++

Actual Results:  
about 40 files were compiled but i got a warning and then an error from the compiler


g++ -march=pentium4 -O2 -pipe -fomit-frame-pointer -c ida.cpp
g++ -march=pentium4 -O2 -pipe -fomit-frame-pointer -c idea.cpp
Dans le fichier inclus à partir de
/usr/lib/gcc/i386-pc-linux-gnu/3.4.1/include/g++-v3/backward/strstream:51,
          à partir de polynomi.cpp:10,
          à partir de ida.cpp:10:
/usr/lib/gcc/i386-pc-linux-gnu/3.4.1/include/g++-v3/backward/backward_warning.h:32:2:
attention : #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 -pipe -fomit-frame-pointer -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: erreur: insn ne satisfait pas à ses contraintes:
(insn 794 793 651 0 (set (reg/v:V2SI 21 xmm0 [orig:193 <anonymous> ] [193])
        (mem:V2SI (plus:SI (reg/f:SI 7 sp)
                (const_int 4 [0x4])) [0 S8 A8])) 499 {movv2si_internal} (nil)
    (nil))
integer.cpp:1681: erreur interne du compilateur: dans
reload_cse_simplify_operands, à postreload.c:378
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
g++ -march=pentium4 -O2 -pipe -fomit-frame-pointer -c iterhash.cpp
g++ -march=pentium4 -O2 -pipe -fomit-frame-pointer -c luc.cpp
Preprocessed source stored into /var/tmp/portage/crypto++-5.2/temp/cc77U1AH.out
file, please attach this to your bugreport.
make: *** [integer.o] Erreur 1
make: *** Attente des tâches non terminées....

!!! ERROR: dev-libs/crypto++-5.2 failed.
!!! Function src_compile, Line 22, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


my emerge info :

Portage 2.0.51_rc1 (default-x86-2004.2, gcc-3.4.1, glibc-2.3.4.20040808-r0,
2.6.8-gentoo-r4 i686)
=================================================================
System uname: 2.6.8-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System version 1.5.3
distcc 2.17 i386-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/linux-headers-2.4.22
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CHOST="i386-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 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://mir.zyrianes.net/gentoo/ ftp://mir.zyrianes.net/gentoo/
http://www.gigaload.org/gentoo.org/ http://195.56.77.10/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X acpi aim alsa audiofile avi berkdb bitmap-fonts bonobo bzlib cdr crypt
cups curl divx4linux dvd dvdread encode fam fbcon foomaticdb ftp gcj gdbm gif
gnome gnutls gpm gtk gtk2 gtkhtml imap imlib ipv6 jabber java jpeg libg++ libwww
mad matroska mikmod mime motif mozilla mpeg msn ncurses nls nvidia oggvorbis
openal opengl oscar oss pam pdflib perl png python quicktime readline scanner
sdl slang spell ssl svg svga tcpd theora truetype unicode usb v4l v4l2 wmf
wxwindows x86 xine xml2 xmms xpm xprint xv xvid yahoo zlib linguas_fr"
Comment 2 kaouete 2004-09-19 08:17:17 UTC
i cant attach the Preprocessed source because the file is empty :|

the first time i compiled crypto++ the file was not.
Comment 3 Mark Loeser (RETIRED) gentoo-dev 2004-09-20 22:23:45 UTC
Created attachment 40051 [details, diff]
Patch to ebuild

Looks like another gcc 3.4 sse2 issue.	I added a check to see if you are using
gcc 3.4 and if so, it replaces march=pentium4 with mtune=pentium4, which allows
it to compile.
Comment 4 Disenchanted (RETIRED) gentoo-dev 2004-09-20 23:01:26 UTC
rather append -mno-sse2
copy what we did in xorg 6.8

we cant apply -mno-sse2 for all archs but using the test assures it only gets applied if the arch supports -mno-sse2

(we need to make sure pentium-m is taken care off too, and this way you get the rest of -march= w/o the (currently) problematic sse2

ill apply this then tomorrow if sekretarz or robmoss dont get to it before me

thanks for tracking it down to sse2
Comment 5 Mark Loeser (RETIRED) gentoo-dev 2004-09-20 23:11:14 UTC
Yea, didn't think of doing it that way.  That's a much better way :)
Comment 6 kaouete 2004-09-21 04:25:53 UTC
So, i tried with -mno-sse2, it worked, it compiled, but the tests failed after :)

i have seen the bug report about that other problem, looks like it's -fomit-frame-pointer.

Why dont you remove it too in the ebuild like you do with -O3 and now -mno-sse2 ?

Thx for your help
Comment 7 Daniel Black (RETIRED) gentoo-dev 2004-12-06 21:38:42 UTC

*** This bug has been marked as a duplicate of 63922 ***