IRC channel logs

2025-11-26.log

back to list of logs

<gm6k>hi
<stikonas>gm6k: hi
<gm6k>I'm looking for pointers on the current status of Scala bootstrappability.
<gm6k>I'm possibly interested in doing some work on it, and https://bootstrappable.org/projects/jvm-languages.html suggests there is some preliminary work somewhere.
<stikonas>hmm, at least I'm not very up to date on where scala bootstrap currently is, maybe somebody else woud know
<stikonas>that page is also a bit out of date I guess...
<sh4>where's the maintained GCC 4.7.4 fork mentioned on the site?
<Googulator>It's 4.6.4 actually - there's a PR ongoing to have that corrected and the fork linked
<Googulator> https://github.com/ekaitz-zarraga/gcc
<sh4>why 4.6 ? 4.7.4 is the last C based one
<sh4>btw ekaitz_ you might be interested into the 4.7.4 patches done by mcf, the author of cproc https://github.com/michaelforney/gcc/commits/cproc-fixes/
<sh4>basically makes gcc source compatible with iso C99
<ekaitz_>sh4: I am! i have a few of those myself
<ekaitz_>ucontext_t is a real classic
<sh4>yah, fixed it several times myself
<ekaitz_>sh4: about why 4.6.4 it was because it had a modular distribution
<ekaitz_>and because somebody suggested that to me
<sh4>you mean the split between -core and other tarballs ?
<ekaitz_>i think that's what that somebody meant
<sh4>i dont really see an advantage to that split
<sh4>you want e.g. c++ support anyway
<ekaitz_>maybe for guix it is
<ekaitz_>the somebody is janneke maybe he has more info
<sh4>btw it might even be used for bootstrapping java in place of jikes
<sh4>i used to compile classpath with it
<ekaitz_>i didn't really pay a lot of attention to that part, I was quite overwhelmed by the work at the time
<ekaitz_>ACTION is now overwhelmed by work as a service
<sh4>what you mean by that?
<sh4>"work as a service"
<ekaitz_>i'm a freelance and basically all i do is too difficult until it isnt
<ekaitz_>and I'm always in things that are superhard for me, idk why
<ekaitz_>maybe because I run away from easy things, but I'm always in the verge of giving up
<ekaitz_>at the time I forked gcc I wasn't that used to it
<ekaitz_>sh4: i meant "overwhelmed (by work) as a service"
<sh4>well, a maintained gcc 4.7.4 fork is certainly an important cornerstone for the entire bootstrap chain
<sh4>optimally with a build system that sucks less, but that will be a lot effort...
<sh4>one could even try to backport some functionality (like C++ features) from newer versions that didnt use C++ features heavily
<ekaitz_>for me, it was very very hard at the time and most of the time i didn't know what I was doing
<ekaitz_>i'm still surprised it works
<sh4>i see
<ekaitz_>"works"
<sh4>so maybe it'd be better to start anew from the michaelforney fork ?
<sh4>as the author of a C compiler, he certainly knew what he was doing ;)
<ekaitz_>sh4: do you *really* believe that?
<ekaitz_>the worst part of gcc is not the code really
<sh4>yeah i know the guy well, worked with him on some projects
<ekaitz_>but the build system and where to put things
<sh4>right
<sh4>it's a major pain
<ekaitz_>most of the backend is defined in the .md files
<stikonas>4.6 or 4.7.4 doesn't make much difference...
<ekaitz_>you can probably take mine and rebase it on top of his
<stikonas>it wouldn't unlock any new gcc versions that you can build with 4.7 but not 4.6
<stikonas>and no new kernel versions
<ekaitz_>carefully, of course
<sh4>4.7 adds armhf and sh4 support
<sh4>armhf is a must have for any halfways recent 32 bit arm systems
<stikonas>well, for those arches you could still build 4.7
<stikonas>ekaitz only added riscv patches for 4.6
<stikonas>so your bootstrap path will diverge slighltly
<sh4>i took the info from the chart here https://github.com/GregorR/musl-cross which i once made
<stikonas>not that we have any bootstrap path for sh4 or arm
<sh4>ah, i thought this was a community effort, not guix-only
<stikonas>riscv gcc backport was mostly one person effort (ekaitz)
<stikonas>there isn't anything else in that fork
<stikonas>so hard to call community :)
<sh4>that patch could probably easily ported to 4.7
<ekaitz_>surely, yes
<ekaitz_>there are a few weird ones you sould skip
<stikonas>yeah, it's not that big
<ekaitz_>but the md and such you could add easily to 4.7
<stikonas>but it does need a bit of work, doesn't apply cleanly
<ekaitz_>sh4: if i had to do it, i would start copying the md files and then play with the buildsystem until it works
<ekaitz_>i wouldn't try to copy all the patches I made
<sh4>right
<sh4>your musl patches seem to be the old ones from musl-cross, not the new ones from musl-cross-make
<sh4>btw 4.2.4 might also be an interesting target, it was the last version that didn't need gmp, mpc, mpfr
<ekaitz_>those are some review we made later, not when I ported gcc but when we did the riscv bootstrap