the empeg kernel is old enough so that new versions of gcc/binutils no longer want to build it, but it still needs some features which older versions of gcc/binutils don't have. I had a lot of trouble finding a combination that works but eventually had success with gcc 2.91.66 and binutils 2.9.5.

Um, really? We build it with gcc 2.95.2 (with a patch called const-fold-patch) and binutils 2.9.5.

Incidentally, one heads-up about cross toolchains: if you install arm-empeg-linux-gcc and friends into /usr[/local]/bin, it installs a cpp as /usr[/local]/bin/cpp (not arm-empeg-linux-cpp) which predefines __arm__ instead of whatever your architecture should predefine. Almost nothing will notice the problem, but such a cpp will miscompile X.

Peter