<stikonas>live-bootstrap and linux-from-scratch is only small specific part of software engineering. You can learn some things but that might not be enough for most software engineering jbos <muurkha>well, there's an awful lot you have to learn to debug "why doesn't this software compile?" or "why does this software I just got to compile crash on startup?" <muurkha>which might be more important in practice than the names of the 7 layers of the OSI model or the asymptotic complexity of heapsort <oriansj>muurkha: the AArch64 and riscv64 port of stage0-posix were each done in about a month. Mind you this included creating the M1/hex2 details, writing ELF-headers and doing *ALL* of the coding including hex0 work. So I wouldn't consider myself that special of a programmer as everyone else here seems to be just as good if not better by a large margin at various bits. ***jackhill is now known as jackhill[m]
***jackhill[m] is now known as jackhill
<littlebobeep>"While the runtime of Mono is written in C, the C# compiler of Mono is written in C# itself, and needs a recent version of Mono to bootstrap. " <oriansj>littlebobeep: well you could look at how it is built: gnu/packages/mono.scm <oriansj>So there might not be a Libre way to bootstrap C# yet <oriansj>and finding if someone else worked on that problem is complicated by Microsoft using the C# and bootstrap keyword for one of their products <pabs3>ISTR Mono is merged into the official Microsoft .NET stuff these days <oriansj>So there is probably a path using pnet to build a version of mono and a chain to the latest C# compiler <oriansj>it would probably be a weekend (to week long) project figuring out the steps and getting a C# compiler into Guix and then we would have to update our wiki accordingly with the praise for the person who did the work. <oriansj>littlebobeep: promises are not legally binding and MicroSoft is a business who will do what makes them more money <oriansj>littlebobeep: well JavaScript requires much more work to detangle than making a package for a single program, finding the newest version of mono it can successfully build (and then self-host) and then walking the chain to latest <oriansj>verse JavaScript being: it downloads arbitrary binary blobs from god knows where and figure out what source code corresponds to those blobs and figure out .... <oriansj>and I updated the wiki to reflect this additional data <oriansj>so still buckets of bootstrapping work to do; shitload of low hanging fruit for anyone to pick up <muurkha>promises are legally binding; sometimes they are called "contracts" or "covenants" in legalese <muurkha>most of common law is actually about promises <oriansj>muurkha: perhaps I should have been more legally precise. I have not seen a Microsoft statement which in the court of law would prevent them from enforcing their patent rights against a party doing Free Software Development ***DonRichie2 is now known as DonRichie
***roptat is now known as Guest8410
<unmatched-paren>so i'm reading through the asm versions of the stage0 programs, and I'm currently looking at hex0, but i'm not entirely sure how it accesses the command-line arguments? <unmatched-paren>I understand that linux initializes the stack to contain argv, followed by a null, then env variables <unmatched-paren>i guess it's to skip argv[0]? but wouldn't that be a 64-bit pointer (which would be skippable with 8(sp))? <unmatched-paren>long argc (64 bits, 8 bytes), char *argv[] (each pointer is 64 bits, 8 bytes), [however the env variables are represented] <oriansj>unmatched-paren: the x86 and AMD64 versions actually do popping of the stack as you would expect <stikonas>fossy: after your last PR parts.rst is a bit out of date compared to run.sh files