IRC channel logs

2024-11-12.log

back to list of logs

<aggi>i pulled a revert patch and rebased this onto several intermediate checkpoints on the mob branch of tcc (which is a pain)
<aggi>some time in the beginning of year 2024 reverting the mentioned patch does not suffice anylonger, and something else is breaking kernel compilation/linking further
<aggi>that's where I stop once and for all, and consider tcc mob branch broken with regards to linux-2.4 kernel compilation
<aggi>long term this has significant consequences, that is tcc may not be relied upon for bootstrapping any architecture (in particular riscv64)
<aggi>i consider this kernel compilation test case highly relevant to evaluate tcc stability
<aggi>as a consequence, in the long term future tcc may not be relied upon anylonger, it's just too much to diff/bisect, and this problem must have been addressed explicitely with some CI testing by the developers who had broken it
<aggi>managed to rebase the tcc revert-diff up until october-2024, at that point almost all hunks fail at once
<aggi>i'll have to communicate this on tcc mailing list, given it's one month, there's a chance remaining to stabilize mob with the linux kernel compilation test case
<aggi>revisions 8e860702e44ca1279098e0fc2142ad579774b1d2...c21576f8a32715ab439690d18184b0e02022bbbd (2022-05-28 first broken ... 2024-10-10 last possible revert-diff rebase)
<aggi>ideally, if anyone knows grischka, he might have an idea what wrong with the change introduced may 2022, to repair the commit instead of a back-out
<aggi>for kernel-bootstrapping - however much that was affected
<aggi>stikonas: there's something else i can't comprehend with tcc
<aggi>because Bellard himself had introduced linux-2.4 kernel compilation as a most relevant test-case for tcc, 20 years ago, with tccboot, that's a missing piece for kernel-bootstrapping
<aggi>another developer who was active on mob branch, seyko2, contribted further patches to support a more recent linux-2.4 kernel version
<aggi>again, to re-assert linux kernel compilation with tcc
<aggi>next one susematz, again, contributed to tcc, to support linux kernel (his linux-4.6 test case)
<aggi>up until may 2022, and all of the sudden noone had noticed linux-2.4 cannot be compiled with tcc, a bug unresolved for more than 2 years?
<matrix_bridge><cosinusoidally> Something that could potentially be adapted to compile the Linux kernel is sparse https://sparse.docs.kernel.org/en/latest/ . It's a compiler frontend originally written Linus Torvalds that is intended to be able to parse and analyse the Linux kernel. It is mainly intended as a frontend, but it does have some toy backends. Probably a non-trivial amount of work to flesh out the backends though.
<aggi>cosinusoidally, interesting, thanks.
<aggi>this doesn't answer the question however. linux kernel could be compiled with tcc, for almost 20 years, that was one principle idea of it
<aggi>then, all of the sudden, mob branch breaks it, and doesn't notice for more than two years.
<matrix_bridge><cosinusoidally> I think it's because there's no coordinated test process for tcc. If it's not being actively tested things will break.
<matrix_bridge><cosinusoidally> I've no insight into how grischka tests it, but I'd guess he doesn't regularly build a Linux kernel with it..
<matrix_bridge><cosinusoidally> tbh I'm not even sure if grischka considers himself as the maintainer.
<matrix_bridge><cosinusoidally> I think nominally he is, but only sporadically. Might just be an availability issue. I did raise a bootstrapping issue a few months back on the mailing list and he fixed it pretty quickly (at the time it wasn't possible to build mob with a stock 2017 tcc-0.9.27 build).
<matrix_bridge><cosinusoidally> He didn't actually mention on the mailing list that he had fixed it, but I saw he pushed a fix and I checked it worked.
<aggi>i'm just a little worried, since linux-2.x seems a decent option for bare-metal booting, long-term stable
<aggi>besides the (somewhat severe) regression in tcc that's blocking it, too Intel began phasing out CSM boot which is needed
<aggi>assuming if i'm not in error with my judgement about the importance of tccboot/tcc/linux-2.4 as the only practically relevant option for decent hardware support while kernel-bootstrapping, mentioned problems potentially block both compiling and booting such a kernel
<aggi>hence i was bug hunting the tcc regression for several month