I've taken stab at adding call0 support in gcc: https://github.com/jcmvbkbc/gcc-xtensa/ ... all0-4.8.2
The cross-compiler is now able to bootstrap, but
- stack frame support is broken (-fomit-frame-pointer "fixes" that)
- callee-saved registers are not saved, a0 is not saved in non-leaf functions
- non-local jump code is just commented out, needs more attention.
Looks like after fixing callee-saved register saving and a0 it should be able to generate working code.
I'll continue on it next weekend, pointers and patches are welcome meanwhile.