Changing it to any other x86 seems to compile fine. Tested on 3 systems. gcc -DHAVE_CONFIG_H -I`dirname ../../../config.h` -I../../../src -march=k6-2 -fomit-frame-pointer -O3 -pipe -Wall -I/usr/X11R6/include -c tables.c {standard input}: Assembler messages: {standard input}:515: Error: value of ffffffffffffff7e too large for field of 1 bytes at 0000000000000425
is k6-2 what you specified yourself, or what genflags says? as per the warning in make.conf for K6*, i had it put there because the markings of said chips ARE deceptive (there is some mislabeling). do: 'emerge genflags' 'info2flags' and report the info2flags output here
Sorry taking a while to reply, I'm relaying information here. Removing -march and setting -mcpu=k6-2 ran fine through compiling. Anyways here's the users output: CHOST="i586-unknown-gnu-linux" CFLAGS="-march=k6 -O3 -pipe" CXXFLAGS="-march=k6 -O3 -pipe"
based on that your machine is NOT a k6-2, but actually a plain k6 (I put in a LOT of work to detect all chips correctly). recompile binutils, gcc, binutils with nothing further than CFLAGS="-march=k6". then everything should work fine. oh and 'fomit-frame-pointer' is part of '-O1' and thus O2/O3.