@kindle3zeng: I use a cross (right now, with an i686 GNU/Linux host) toolchain built using the crosstool-ng tool.
The actual config/shell history of the current build I'm using is detailed in the kindle-x-tc.tar.gz archive attached
here.
Unless you build against glibc 2.5 (which I don't), you may have to use some trickery to avoid pulling more recent GLIBC_* symbols on some projects.