cc -O2 -march=i686 -pipe -Wall -W -Wshadow -I./ -c -o fp_mul_comba.o fp_mul_comba.c fp_mul_comba.c: In function 'fp_mul_comba': fp_mul_comba.c:258: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' make: *** [fp_mul_comba.o] Error 1 !!! ERROR: dev-libs/tomsfastmath-0.05 failed. Gentoo Base System version 1.12.5 Portage 2.1.1 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.16.16 x86_64) ================================================================= System uname: 2.6.16.16 x86_64 AMD Athlon(tm) 64 Processor 3200+ Last Sync: Wed, 18 Oct 2006 17:00:01 +0000 ccache version 2.3 [disabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://212.219.56.134/sites/www.ibiblio.org/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo" LINGUAS="" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 berkdb bitmap-fonts cli cracklib crypt cups dlloader dri elibc_glibc fortran gdbm gpm input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux libg++ ncurses nls nptl nptlonly pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts udev unicode userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xorg zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
fixed
Hi, This patch still doesn't fix the problem.I got this error : "cc -O2 -pipe -march=pentium-m -mtune=pentium-m -fomit-frame-pointer -Wall -W -Wshadow -I./ -c -o fp_isprime.o fp_isprime.c cc -O2 -pipe -march=pentium-m -mtune=pentium-m -fomit-frame-pointer -Wall -W -Wshadow -I./ -c -o fp_prime_random_ex.o fp_prime_random_ex.c cc -O2 -pipe -march=pentium-m -mtune=pentium-m -fomit-frame-pointer -Wall -W -Wshadow -I./ -c -o fp_mul_comba.o fp_mul_comba.c cc -O2 -pipe -march=pentium-m -mtune=pentium-m -fomit-frame-pointer -Wall -W -Wshadow -I./ -c -o fp_sqr_comba.o fp_sqr_comba.c fp_sqr_comba_generic.c: In function `fp_sqr_comba': fp_sqr_comba_generic.c:69: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make: *** [fp_sqr_comba.o] Error 1 make: *** Waiting for unfinished jobs...." I'm using hardened gcc so I switched to vanilla gcc and it was the same.I sent a mail to Tom St Dennis about the issue.He said x86 lacks registers and REQUIRES -fomit-frame-pointer to build.Using -fomit-frame-pointer with a vanilla compiler solved the problem without the patch. For hardened I don't know of any nice way to solve the problem but filtering pie flag allows the package to compile. What I offer is inheriting flag-o-matic and adding: isflag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer" gcc-specs-ssp && filter-flags -pie to src_compile(). Thoughts?
Below is my emerge --info for clarity: Gentoo Base System version 1.12.5 Portage 2.1.1-r1 (selinux/2005.1/x86/hardened, gcc-vanilla, glibc-2.3.6-r4, 2.6.17-hardened-r1 i686) ================================================================= System uname: 2.6.17-hardened-r1 i686 Intel(R) Pentium(R) M processor 1.73GHz Last Sync: Sun, 05 Nov 2006 01:47:01 +0000 ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=pentium-m -mtune=pentium-m" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -pipe -march=pentium-m -mtune=pentium-m -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--verbose" FEATURES="autoconfig candy ccache collision-protect distlocks loadpolicy metadata-transfer parallel-fetch sandbox selinux sesandbox sfperms strict" GENTOO_MIRRORS="http://ftp.ntua.gr/pub/linux/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/" LINGUAS="tr" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acpi aiglx alsa arts bash-completion berkdb bzip2 cracklib crypt dlloader dri elibc_glibc hal hardened i810 input_devices_keyboard input_devices_mouse java kde kernel_linux linguas_tr logrotate ncurses nptl nptlonly opengl pam pcmcia pic python readline selinux sse sse2 ssl tcpd udev userland_GNU video_cards_i810 video_cards_i830 video_cards_i915 x86 xinetd zlib" Unset: CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS