Skip to content

Conversation

@laurenthuberdeau
Copy link

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).

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.
@@ -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
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants