fosslinux/live-bootstrap

Alternative tcc bootstrap path

Opened this issue · 1 comments

I've been working on an alternative bootstrap path for tcc (https://github.com/cosinusoidally/tcc_bootstrap_alt). I am able to go from a cut down version of stage0-posix-x86 (I only need cc_x86) all the way up to tcc-0.9.27. I hacked a version of live-bootstrap to use my alternative path (cosinusoidally/live-bootstrap@master...cosinusoidally:live-bootstrap:tcc_bootstrap_alt). With my tweaks to live-bootstrap on my vm I was able to reduce the time to get to tcc-0.9.27 from around 30mins to around 3:45mins. It's also possible to use this to get to tcc-0.9.27 in < 512MB of RAM. The speed improvements are largely due to not building or using mescc (though I do still use meslibc).

I noticed that #334 has landed recently, so I'll probably refactor my live-bootstrap branch once that has stabilised and then raise a PR.

I was wondering what it would take to integrate this as an optional bootstrap path for live-bootstrap? There are quite a few limitations to my approach (the major one being that it's i386 only) but it does have the advantage of being considerably faster.

This may be a fairly good solution for #306 for 1.0, actually. Let me know if you hit any blockers with this.