jcmvbkbc wrote: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.
Ok, spent some time on it, current status:
- stack frame support is fixed;
- callee-saved registers and a0 are saved and restored properly;
- generated code looks sane.
This should be enough to build self-hosted code. I'll look at commented out library code, but I think it's 1) not critical 2) it's *really* easy to fix anyway.
Code is in the same git tree. Testing feedback, pointers and patches are welcome.