ARM is one of the newest and most quickly emerging architectures. The pace of its development and expansion promises bigger funding, so no wonder that we're considering to adapt our tools to it.

And one of the sub-tasks was to compile ARM kernel on our x86 machines.

So I started compiling. Compile ARM binutils, compile glibc, compile gcc, recompile glibc, recompile gcc, yeah. It's all that easy, but at each comma you should insert several-hours patching and googling.

And when I encountered yet another problem, and, exhausted, was googling for a solution, I found this:

It could be failing because you don't have the ARM version of the headers.

Just use buildroot. You are just duplicating their (really hard) work.

mpapet said at linuxquestions.org

Confirmed. Buildroot is an amazing and easy-to-use cross-compiling tool. It compiled the ARM toolchain in just a couple of hours. And it also supports other architectures, and a lot of other cross-development stuff I didn't dig into too much.

Don't reinvent the wheel. Use wheels invented by others, and reinvent a bicycle on its basis!