[POC] Add pnut-exe as alternative to Mes#554
[POC] Add pnut-exe as alternative to Mes#554laurenthuberdeau wants to merge 5 commits intofosslinux:masterfrom
Conversation
| @@ -0,0 +1,3 @@ | |||
| f https://github.com/udem-dlteam/pnut/archive/refs/heads/laurent/small-fixes-for-TCC.tar.gz 6e662dbf450c8ec2b3be0bfd5db6e198c566f430e63c29edd7225dbdf09de17b pnut-1.0.tar.gz | |||
| f https://github.com/udem-dlteam/pnut/archive/refs/heads/laurent/small-fixes-for-TCC.tar.gz 66df0ebd8e2507cbab63c253b1911c5cbb9ba90635f88e9017a4adc83c90ecb0 pnut-1.0.tar | |||
There was a problem hiding this comment.
This URL is wrong. It seems the .tar.gz files produced by github cannot be decompressed with the ungz (at least I wasn't able to), so what I did was download the .tar.gz file and then unpack it manually.
There was a problem hiding this comment.
In general, you shouldn't rely on GitHub producing tarballs on the fly - GitHub's archive generation isn't guaranteed to be deterministic. It's better to make your own tarball, and upload it as a release artifact.
The updated M2-Planet has some code generation improvements, so the hash of these executables is different. Only for x86, but I suppose other architecture will also need updated checksums.
6aa4743 to
15a64fe
Compare
|
Question: Theoretically, could this skip tcc 0.9.26, and go straight to tcc 0.9.27 (or even more, tcc mob)? |
A part of the NLnet funding we got is for compiling 0.9.27 with pnut, so definitely :) |
Context
Pnut-exe was recently made compatible with M2-Planet, with this PR working-around certain incompatibilities with M2-Planet, and oriansj/M2-Planet#161, oriansj/M2-Planet#162, oriansj/M2-Planet#163 extending M2-Planet. Since pnut-exe can bootstrap TCC, it means there is now a path from hex0 to TCC passing via pnut-exe.
This PR is a proof of concept to show how this can be done for x86 while keeping the tcc-0.9.26 checksum the same.
The main benefit of using pnut-exe is reduced bootstrap times, the time to reach tcc-0.9.26 goes from over 10 minutes to around 1 minute (with the steps involving pnut taking only a few seconds).