Hi tccm, your mail seems not showing up on tinycc-devel mailing list, and was directly sent to my inbox. Anyway, a few notes for you.
- First step was sanitizing a set of ebuilds to remove all c++ dependencies - Then a few patches to various configure.ac/makefile.am, to support static linking - tcc can't handle various special options that gcc knew, hence a few patches to tcc helped to let it ignore unknown options instead of errors returned Those userspace parts pass intial runtime testing inside a chroot, which already confirms tcc did emit clean static binaries for x86. Next, userspace programs and kernel are separate concerns to begin with, furthermore compile-time (API) and run-time (ABI) issues had to be distinguished; and that's how i approach it - compile/link/boot linux-2.4 with tcc, that's done since recently some regressions in tcc were coped with - the userspace parts of musl-libc compile-time still picks up #includes from a linux-5.9, as an intermediate quirk. nonetheless those ~500 builds already compiled/linked with tcc, compile-time and as you mentioned it's mainly musl-libc to re-iterate over against linux-2.4 headers - next i'll throw some ext2fs.image at linux-2.4 and see to which and how much stuff in /bin:/usr/bin:/sbin etc that musl-libc picked up linux-5.9 API headers for passes initial testing run-time against a linux-2.x ABI, to see how much remained ABI compatible between linux-2.x and linux-5.x (i'll know in a few days) - next i'll refine linux-2.4 and build-system to utilize it's headers I've already noticed, threading might become problematic (i've seen some error in git binary for example), as one precaution i've set USE=-threads wherever this applied, and patched git. Furthermore linux-2.4 isn't known for year2038 64bit time_t support, and i got two options ready, to test with musl-1.1.x and musl-1.2.x; the former isn't aware of 64bit time_t, the latter handles it. So far, what i got suffices for extensive regression testing of tcc itself only, which is what got into my way since i intend to keep tcc synced to latest HEAD. And as said i486-tcc-linux-musl.iso isn't ready for publication. However, i am optimistic, for example, another project had shown, fiwix.org, a somewhat complete POSIX userspace can be spawn atop a linux-2.x ABI. Although fiwix.org chose newlib libc for this (not supported by tcc yet, musl-libc is); i'll have to see how far i'll get with musl-libc, and i am planning for keeping musl-libc however since it's easier to cope with the build-system of it. And i recall having seen musl-1.1 mention linux-2.4 inside some README; hence in worst case i may have to roll-back musl-1.2 back to musl-1.1; I don't know yet, since just as said, what i got is complete for regression testing tcc, but it's not ready for publication of a complete distribution. Otherwise, i do intend to keep the set of supported software minimal too, but complete including development utilities and a few other things a *nix system needs. And it's good to know, gdb, mutt mailer, ffmpeg/mplayer, all of this can be compiled/statically-linked with tcc. gcc isn't needed anywhere, and binutils are used for some 16bit real-mode bootcode only (binutils itself can be bootstrapped with tcc), so it's a 100% pure tcc-toolchain system with x86_32. Publication will be announced on tcc mailing list. Regards aggi On 2024-11-16 12:13, gz8cx4@<xxxxx> wrote: > Correcting myself. > > On Sat, Nov 16, 2024 at 11:29:45AM +0100, gz8cx4@<xxxxx> wrote: > > I feel especially interested because I made a similar effort > > in a smaller scale > > The above may look like I pretend having "been there done that". > Not my point at all. > > The purpose of the mentioned project was totally different from yours > and the amount of software minimal as a goal, kind of opposite to your aim. > > In the end I did not use musl, but I would appreciate to learn what was > your key to be able to unite 2.4.x and musl. > > Regards, > /tccm --
signature.asc
Description: Digital signature
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel