Some programs linked with libstdc++v3 crash in "__gnu_cxx::__exchange_and_add" with 80386 CPU, because "lock xadd %eax,(%edx)" is being executed. This fragment of code comes from atomicity.h file for i486 arch. Despite in (gcc-4.1.2.tar.bz2)/gcc-4.1.2/libstdc++-v3/config/cpu/i386 is included correct atomicity.h for 80386, after executing "ebuild /usr/portage/sys-devel/gcc/gcc-4.1.2.ebuild unpack" the file is overwritten in work directory with the one from .../cpu/i486 by the following fragment of code in /usr/portage/eclass/toolchain.eclass: # Misdesign in libstdc++ (Redhat) if [[ ${GCCMAJOR} -ge 3 ]] && [[ -e ${S}/libstdc++-v3/config/cpu/i486/atomicity.h ]] ; then cp -pPR "${S}"/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h fi Reproducible: Always Steps to Reproduce: 1.ctorrent Actual Results: Illegal instruction Expected Results: Program should display "help" screen.
Please post your `emerge --info' too.
Portage 2.1.4.4 (uclibc/x86, gcc-4.1.2, uclibc-0.9.28.3-r3, 2.6.25-gentoo-r7 i686) ================================================================= System uname: 2.6.25-gentoo-r7 i686 Intel(R) Celeron(R) CPU 2.40GHz Timestamp of tree: Mon, 18 Aug 2008 22:30:01 +0000 app-shells/bash: 3.2_p33 dev-lang/python: 2.4.4-r6, 2.5.2-r6 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.61-r2 sys-devel/automake: 1.4_p6, 1.10.1 sys-devel/binutils: 2.18-r3 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="i386-gentoo-linux-uclibc" CFLAGS="-Os -march=i386 -pipe -ggdb" CHOST="i386-gentoo-linux-uclibc" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-Os -march=i386 -pipe -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer nodoc noinfo noman sandbox sfperms splitdebug strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" PKGDIR="/" 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" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="cli cracklib crypt dri midi minimal mudflap ncurses openmp pcre perl python readline reflection session spl ssl tcpd uclibc x86 xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="uclibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY ============================================================================== I am building in chroot (80386 is to slow), thats why that system uname.
this was added back with gcc-3.3-r1 afaict: http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/sys-devel/gcc/gcc-3.3-r1.ebuild?rev=1.1 and i think it harks back to a speed issue: http://gcc.gnu.org/ml/libstdc++/2003-05/msg00023.html http://gcc.gnu.org/PR10556 at any rate, i'm fairly certain it was really only needed with original gcc-3.3 releases and so can be dropped now http://sources.gentoo.org/eclass/toolchain.eclass?r1=1.378&r2=1.379