Thanks for the replies. Sorry for the late response though: I've gone through maybe fifty compilations for something to post about.
My goal is to have a GCC compiler that outputs ARM code with iWMMXT instructions (the "--mcpu=iwmmxt" flag?), much like Atty compiles MPlayer with iWMMXT instructions. As much as I understand, the compiler outputs iWMMXT code the same way it outputs Thumb code: it expresses some C++ code as a different kind of instructions as an optimization. This precludes the need for GCC 3.4.0 or later.
I've been working on making crosstool (0.38) work, and I've tried the following configurations to no avail: GCC 3.4.0/3.4.1/3.4.2/3.4.3/3.4.4 with GLIBC 2.1.3/2.2.2 with binutils 2.15. Those configurations seem most appropriate, and while I've tried a GCC 4.0.0/GLIBC 2.2.2 configuration, it doesn't support iWMMXT without a patch, one that I can't figure out how to incorporate into the crosstool system. I've tried this in both Cygwin and a fresh Debian-Sarge installation with similar results.
As far as I know, anything GCC earlier than 3.4.0 won't optimize with iWMMXT instructions and any GLIBC later than 2.2.2/Kernel later than 2.4.6/18/20 won't work on the Zaurus. I also don't know how to make crosstool use Sharp's kernel headers (or in this case, C3000 kernel sources + Tetsu's patches) when compiling GCC.
Thanks for the help again.