Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 215560

Summary: dev-libs/crypto++ compilation error
Product: Gentoo Linux Reporter: djinnZ <nicola.rauseo>
Component: [OLD] UnspecifiedAssignee: Crypto team [DISABLED] <crypto+disabled>
Status: RESOLVED DUPLICATE    
Severity: normal CC: hardened
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description djinnZ 2008-03-31 11:34:22 UTC
The build of crypto++ fail at compilation of vmac.cpp

i686-pc-linux-gnu-g++ -O2 -march=athlon-xp -fno-strict-aliasing -pipe -c vmac.cpp
vmac.cpp: In member function `void CryptoPP::VMAC_Base::VHASH_Update_SSE2(const CryptoPP::word64*, size_t, int)':
vmac.cpp:367: error: can't find a register in class `GENERAL_REGS' while reloading `asm'

I have also try to disable ccache and compile using two another machines (another athlon and a k8) with identical results.

My emerge --info

Portage 2.1.4.4 (hardened/x86/2.6, gcc-3.4.6, glibc-2.6.1-r0, 2.6.16-rsbac-r1 i686)
=================================================================
System uname: 2.6.16-rsbac-r1 i686 AMD Sempron(tm) Processor 3300+
Timestamp of tree: Sun, 30 Mar 2008 17:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.4
dev-lang/python:     2.4.4-r9
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /home/mythtv/ /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/fax /usr/share/X11/xkb /usr/share/config /var/qmail/alias /var/qmail/control /var/service /var/spool/fax/etc /var/vpopmail/domains /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/java-config/vms/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/pkg/distfiles"
FEATURES="ccache distlocks keeptemp keepwork metadata-transfer sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS="it en"
PKGDIR="/usr/portage/pkg/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage/gentoo"
PORTDIR_OVERLAY="/usr/portage/local /usr/portage/gechi"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X X509 Xaw3d a52 aac ace acl acpi addbookmarks administrator ads aften akode alias alisp alsa amd amr amrnb amrr amrwb animgif aotuv apache2 aqua_theme archive asm aspnet aspnet2 aspnetedit async asyncns atm audit automount autoreplace bash-completion bcp bdf berkdb big-tables bigpatch binary-drivers bind-mysql binfilter bittorrent bjam bl blender-game bluetooth boost branding bundled-libs bzip2 c++ cairo caps capslib captury carbone_theme cardbus ccache cdaudio cdda cddb cdio cdparanoia cdr cdrom cgi charconv chardet checkpath chm chroot ciao cjk clamav clamd cli cmdctrl cmdsubmenu colordiff compress connectionstatus contactnotes contrarius cpio cpudetection cpulimit cracklib cran crciprec crypt css ctype cups curl curlwrappers cursors custom-cflags cviewer cvs cvsgraph cxx daap daemon dar32 dbase dbm dbus dbx dc1394 ddepgentry dell depth32 designer-plugin device-mapper dga dhcp dialup directfb directv discard-path disk-partition divx djvu dlz dmi dmx dnd doc dolby-record-switch dolbyinrec domainkeys dri dts dv dvb dvbplayer dvd dvdarchive dvdchapjump dvdnav dvdr dvdread dvi dvlfriendlyfnames dvlrecscriptaddon dvlvidprefer eap-tls ecc eds emerald emf emovix enca encode enscript epydoc erandom ermt escreen etwin examples excel exif exim exiscan-acl expat extensions extra-algorithms extraengine fam fame fastcgi fat fax faxonly fbcon fbcondecor fbdev fbsplash festival ffmpeg file filter finger firefox flac flash flatfile fltk font-server fontconfig foomaticdb fortran fpx freetds ftp gammu gcj gd gdbm gdl gdm gecko geoip ggi gif gimp gimpprint glib glibc-compat20 glibc-omitfp glitz glsa gmail gmedia gmp gnokii gnutls gocr gpac gpg gphoto2 gpm gps gs gsm gtk gtkhtml gzip h323 hal hardened hardlinkcutter hash hbci hddtemp hdri hfs highlight history hpn html http httpd hybrid hybrid-auth ibam ical iceweasel iconv icq icu id3 id3tag idea idn ieee1394 ifsession ilbc imagemagick imap immqt-bc inifile injection inkjar innodb inquisitio iodbc ipod iproute2 iptv ipv6 irc irda irmc it java java-external javacomm javascript jbig jce jfs jikes john joystick jpeg jpeg2k kde kdepim kerberos keyscrub kig-scripting kipi kqemu lame lcms ldap ldap-sasl libburn libcaca libdsk libgcrypt libnotify libwww linuxkeys live livebuffer lm_sensors logitech-mouse logrotate lua lzo lzw m17n-lib mad madwifi maildir mailwrapper matroska max-idx-128 mbox mbrola mdb mhash midi mikmod mime ming mjpeg mmx mmxext mng mode-paranoid modplug mono mounts-check mozdevelop mozdom mp2 mp3 mp3rtp mp4 mp4live mpeg mpeg2 mpi mplayer mschap msdav msn mssql multiuser musepack musicbrainz mysql na_icons nat ncurses nemesi neon netpbm network network-cron nfs nis nls nntp nocd nodrm nokia6600 nptl nptlonly nsplugin nspr ntfs ntlm ocrad odbc odk office ofx ogg old-crypt oldworld openal opendoc openexr opengl openssl opensslcrypt optimisememory overlays overload pam parport parse-clocks pascal passwordsave paste64 patented pbxt pcmcia pcntl pcre pcsc-lite pda pdf perl pg-intdatetime php pic player plib plotutils png posix postgres povray ppds print ps python qa qmail qt3support qt4 quicktime quotas radius rar rc5 rdesktop readline real realmedia recode reiser4 reiserfs remote rewrite rle rpc rpm rt2400pci rt2500pci rt2500usb rt61pci rt73usb rtc rtsp ruby samba sample sapdb sasl scanner sdk sdl sdl-image sensord session setup-plugin sftp sharedext sharedmem shorten shout sid simplexml skins slang smartcard sms snmp sockets socks5 softquota sound sox speedo speex spell spl sql srt sse sse2 ssl stream submenu subtitles subversion suidcheck svg sysfs syslog tcl tcpd tcpwrapper teletext tesseract test-programs texteffect tga themes theora threads tidy tiff tivo tk transcode truetype twolame ucs2 ucs4 unicode unzip ups urandom usb user-homedirs userfiles userlocales utempter v4l v4l2 vamp vcd vcdx vda vdr video vidix vlm vnc vorbis vorbis-psy wav wavpack webdav webinstall wifi win32codecs winbind winpopup withsamplescripts wma wmf wmp workbench wxwindows x264 x86 xanim xattr xbase xcb xcf xcomposite xext xface xfs xft xine xinerama xinetd xml xmldoclet xmlreader xmlrpc xmlwriter xorg xpm xrender xscreensaver xsl xslt xspf xtended xv xvid yv12 zero-penalty-hit zip zlib zvbi" ALSA_CARDS="ens1370 ens1371 hda-intel intel8x0 intel8x0m hdsp hdspm opl3sa2 pcsp pcxhr via82xx via82xx-modem" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev joystick keyboard mouse synaptics vmmouse void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it en" LIRC_DEVICES="alsa_usb audio_alsa pctv pixelview_bt878 userspace serial" USERLAND="GNU" VIDEO_CARDS="radeon mga v4l fglrx"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Reproducible: Always

Steps to Reproduce:
Comment 1 Alon Bar-Lev (RETIRED) gentoo-dev 2008-03-31 19:34:06 UTC
gcc-3.4?!?!?!!?
Comment 2 djinnZ 2008-04-01 13:58:45 UTC
(In reply to comment #1)
> gcc-3.4?!?!?!!?

is the latest stable version for hardened gentoo. Is this the problem?

Comment 3 Alon Bar-Lev (RETIRED) gentoo-dev 2008-04-01 19:37:39 UTC
Try adding -sse2 to CXXFLAGS, there is a strange comment in the Makefile.
Comment 4 djinnZ 2008-04-02 16:22:19 UTC
(In reply to comment #3)
> Try adding -sse2 to CXXFLAGS, there is a strange comment in the Makefile.
Not useful to add -msse2 or -mno-sse2 or similar istructions but after the suggestion about the sse I have think to verify something in the code and IMHO seems to be a bug in the code of the VHASH_Update_SSE2 related to the PIE revealed by the controls of the stack protection.
In fact the compilation without PIE and SSP end without warnings, compiling with PIE and without SSP will loop the compiler until the system crash.
I think that someone of the hardened team must be assigned to this bug because is strictly related to the hardening, due to mask the package in the profile first.
Comment 5 solar (RETIRED) gentoo-dev 2008-04-02 16:43:27 UTC
Bug #215211 also exists.
Comment 6 Alon Bar-Lev (RETIRED) gentoo-dev 2008-04-02 16:47:51 UTC
Thanks!

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