when i try to emerge mtools, I get errors like: `-m486' is deprecated. Use `-march=i486' or `-mcpu=i486' instead. codepage.c: In function `to_dos': codepage.c:209: internal error: Floating point exception Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.gentoo.org/> for instructions. make: *** [codepage.o] ?????? 1 !!! ERROR: sys-fs/mtools-3.9.8-r1 failed. !!! Function src_compile, Line 17, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1. CFLAGS="-O3 -march=pentium4 -fprefetch-loop-arrays -funroll-loops -pipe" 2. CHOST="i486-pc-linux-gnu" 3. USE="X -gtk -gnome -oss -apm -gpm -xmms alsa" 4. emerge mtools Actual Results: Calculating dependencies ...done! >>> emerge (1 of 1) sys-fs/mtools-3.9.8-r1 to / >>> md5 src_uri ;-) mtools-3.9.8.tar.gz >>> Unpacking source... >>> Unpacking mtools-3.9.8.tar.gz to /var/tmp/portage/mtools-3.9.8-r1/work >>> Source unpacked. creating cache ./config.cache checking for gcc... gcc checking whether the C compiler (gcc -O3 -march=pentium4 -fprefetch-loop-arrays -funroll-loops -pipe ) works... yes checking whether the C compiler (gcc -O3 -march=pentium4 -fprefetch-loop-arrays -funroll-loops -pipe ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking whether gcc needs -traditional... no checking for a BSD compatible install... /bin/install -c checking whether ln -s works... yes checking for install-info... /usr/bin/install-info checking for AIX... no checking for POSIXized ISC... no checking for minix/config.h... no checking host system type... i486-pc-linux-gnu checking target system type... i486-pc-linux-gnu checking build system type... i486-pc-linux-gnu checking for working const... yes checking for inline... inline checking for getpwnam in -lsun... no checking for cam_open_device in -lcam... no checking for ANSI C header files... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for getopt.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for unistd.h... yes checking for linux/unistd.h... yes checking for libc.h... no checking for fcntl.h... yes checking for limits.h... yes checking for sys/file.h... yes checking for sys/ioctl.h... yes checking for sys/time.h... yes checking for strings.h... yes checking for string.h... yes checking for sys/param.h... yes checking for memory.h... yes checking for malloc.h... yes checking for signal.h... yes checking for sys/signal.h... yes checking for utime.h... yes checking for sgtty.h... yes checking for sys/floppy.h... no checking for mntent.h... yes checking for sys/sysmacros.h... yes checking for netinet/in.h... yes checking for termio.h... yes checking for termios.h... yes checking whether llseek declared in unistd.h... no checking whether lseek64 declared in unistd.h... yes checking whether lseek64 declared in unistd.h... (cached) yes checking for htons... yes checking for working const... (cached) yes checking for inline... (cached) inline checking for size_t... yes checking whether time.h and sys/time.h may both be included... yes checking whether struct tm is in sys/time.h or time.h... time.h checking return type of signal handlers... void checking for strerror... yes checking for random... yes checking for srandom... yes checking for strchr... yes checking for strrchr... yes checking for lockf... yes checking for flock... yes checking for strcasecmp... yes checking for strncasecmp... yes checking for atexit... yes checking for on_exit... yes checking for getpass... yes checking for memmove... yes checking for strdup... yes checking for strcspn... yes checking for strspn... yes checking for strtoul... yes checking for strtol... yes checking for memcpy... yes checking for strpbrk... yes checking for memset... yes checking for seteuid... yes checking for setresuid... yes checking for tcsetattr... yes checking for tcflush... yes checking for basename... yes checking for fchdir... yes checking for media_oldaliases... no checking for llseek... yes checking for lseek64... yes checking for snprintf... yes checking for stat64... yes checking whether setpgrp takes no argument... yes checking for 64-bit off_t... no checking whether gcc supports loff_t type... yes checking whether gcc supports offset_t type... no checking whether gcc supports long long type... yes checking for utimes... yes checking for tzset... yes checking for gettimeofday... yes checking declaration of sys_errlist... yes checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include checking for dnet_ntoa in -ldnet... no checking for dnet_ntoa in -ldnet_stub... no checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for main in -lsocket... no checking for main in -lnsl... yes checking for main in -lbsd... yes checking for sys/socket.h... yes checking for arpa/inet.h... yes checking for netdb.h... yes updating cache ./config.cache creating ./config.status creating Makefile creating config.h gcc -DHAVE_CONFIG_H -DSYSCONFDIR=\"/etc/mtools\" -DCPU_i486 -DVENDOR_pc -DOS_linux_gnu -O3 -march=pentium4 -fprefetch-loop-arrays -funroll-loops -pipe -m486 -Wall -I. -I. -c buffer.c `-m486' is deprecated. Use `-march=i486' or `-mcpu=i486' instead. gcc -DHAVE_CONFIG_H -DSYSCONFDIR=\"/etc/mtools\" -DCPU_i486 -DVENDOR_pc -DOS_linux_gnu -O3 -march=pentium4 -fprefetch-loop-arrays -funroll-loops -pipe -m486 -Wall -I. -I. -c codepage.c `-m486' is deprecated. Use `-march=i486' or `-mcpu=i486' instead. codepage.c: In function `to_dos': codepage.c:209: internal error: Floating point exception Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.gentoo.org/> for instructions. make: *** [codepage.o] ?????? 1 !!! ERROR: sys-fs/mtools-3.9.8-r1 failed. !!! Function src_compile, Line 17, Exitcode 2 !!! (no error message) Expected Results: emerged of course :) Portage 2.0.50 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.6.1-gentoo) ================================================================= System uname: 2.6.1-gentoo i686 Intel(R) Celeron(R) CPU 1.70GHz Gentoo Base System version 1.4.3.10 Autoconf: sys-devel/autoconf-2.58 Automake: sys-devel/automake-1.7.7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -fprefetch-loop-arrays -funroll-loops -pipe" CHOST="i486-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -fprefetch-loop-arrays -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa arts avi berkdb crypt cups encode foomaticdb gdbm gif gtk2 imlib java jpeg kde libg++ libwww linguas_ru mad mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib perl png python qt quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xv zlib"
Why CHOST="i486-pc-linux-gnu"? Have you tried with i686-pc-linux-gnu? I suspect the problem is because it's building with -march=pentium4 and -m486 at the same time.
yeah, using =march=pentium4 with a CHOST of i486 is pretty dumb ... that may not be the cause of this bug, but you should research that first
*** Bug 40948 has been marked as a duplicate of this bug. ***