<OriansJ>yt: if you look at cc_x86.S you'll see in that single case we just emit "\n#continue statement\n" (aka do nothing but put a comment that a continue was there in case we actually need to do continues correctly in the future) <OriansJ>snnw, deesix: the stage0 Linux Bootstrap folder is just the mescc-tools-seed git repo at a known working commit (I'm behind on updating it as I want hex2 faster and to do a mescc-tools release first) <OriansJ>as for what work people are focused on: markjenkinsznc is leading the stage0 development enhancements. janneke is leading the MesCC work. deesix is doing M2-Planet and leading the aarch64 work. fossy is laying the ground work for when mes-m2 is done (the gcc-seed work) rain1 is doing brilliant lisp work as always. xentrac has an interesting lisp compiler written in lisp. efraim, lfam, vagrantc, rekado and civodul are major guix <OriansJ>developers but we love them and their support. akkartik has a rather impressive assembler work. bauen1 is doing a minimal posix kernel. dongcarl is doing bitcoin work if I remember correctly. gio is solving the bison and other hard bootstrapping problems for us. <OriansJ>If I forgot or got wrong what anyone else is doing. please feel free to remind me how much of a moron I am for forgetting (I swear it isn't intensional) <OriansJ>Plus there are a bunch of people I have no idea what they are working on or if they just like to watch the work being done. <OriansJ>as for what I do. Mostly just make big messes for other people to shake their heads at and go "here it would be much better if you just did this: $SIMPLE_THING" <OriansJ>Short version: we have a big pile of people working on anything they find fun, with virtually no coordination or cooperation between projects; except when people feel like it. <OriansJ>My overly ambitious ass is late on all my projects and it is holding everyone else up. <xentrac>Sounds like free software since the 1970s <xentrac>I also wrote a sort of Forth compiler written in itself, a metacircular interpreter for Bicicleta (as well as its ordinary interpreter, in OCaml), and a parser generator producing JS written in itself <xentrac>but I haven't done anything useful in a long time <OriansJ>xentrac: well you did provide tests for mes-m2 <OriansJ>I just wish I could have gotten your lisp compiler to run on mes-m2 <OriansJ>it'll probably just work, once I get all the mistakes out of mes-m2's macro support. <xentrac>yes but i wrote them long before mes-m2 :) <xentrac>I mean it doesn't use define-syntax or anything similar <xentrac>it's just ordinary functional Scheme <xentrac>that's because I didn't want to implement syntax-rules or syntax-case because I knew it would be hard <xentrac>like, several times more code than the rest of ur-scheme <xentrac>so because it doesn't provide them, it can't use them, or it wouldn't be able to compile itself <xentrac>it does implement some of the special forms it provides as macros, internally to the compiler, but it doesn't provide the code it compiles with any way to define new ones <fossy>also kaem in a kind-of-very-slowly way <OriansJ>fossy: thank you for reminding me of the major bash compatibility enhancements you are adding to kaem (part of mescc-tools) <fossy>and thank you for reminding me that i need to fix it <OriansJ>fossy: we are all human here after all ^_^ <OriansJ>xentrac: I don't think any dogs or rogue AIs are here but I always could be wrong. <rain1>that was kind of you to say OriansJ <OriansJ>rain1: the work speaks for itself ^_^ <snnw>OriansJ: thanks for the overview of what's going on! As for me, I found bootstrappable through guix, which I started using recently. <snnw>The very early bootstrapping tools in mescc-tools-seed looked interesting and I noticed that they were missing for arm/aarch64. I have a background in compilers for aarch64 and thought it'd be "fun" to translate the amd64 versions for aarch64. <snnw>hex0, hex1, hex2, and M0 are all done and bootstrapping from a hex0-seed, I've got a GNU as version of cc targeting aarch64 now, which just needs converting to M1 <snnw>that should complete the bootstrap for aarch64 native to mes-m2, but I guess the step to mes-cc is still not quite complete? I might tackle that next, but I haven't really wrapped my head around what's missing there just yet <OriansJ>snnw: nice and one iteresting thing to note; when you complete the cc_aarch64.S you will literally be the first person to ever write a C compiler in aarch64 assembly <snnw>"written" is a strong word. mangled out of an existing one for amd64. but I'll take that :D <snnw>hey rain1 are you the lisp guru I need to talk to about what's missing in mes-m2? <OriansJ>snnw: well mes-m2 is more of my mess <OriansJ>essentially it is just getting lots of little things right with the C code <snnw>I guess I'm mainly looking for something to run/test that doesn't work yet and build up some understanding from there <OriansJ>for example the macro expansion in mes_macro.c is wrong but because it bundles together macro evaluation, it is hard to figure out the root cause. <OriansJ>there are also disabled tests in mes-m2; which do not work <OriansJ>when working with mes-m2: export MES_CORE=0 will strip out everything but the C primitives; which when combined with cgdb makes for easier debugging <snnw>rain1: I work on LLVM in my day job. AArch64 performance work <OriansJ>also if anything isn't comletely obvious. Let me know as I consider it a bug <snnw>some of it upstream when I actually find something meaningful to do, but too much of my time is spent staring at gcc vs LLVM profiles and scratching my head about why gcc is faster :D <snnw>OriansJ: thanks! I found the disabled tests. looks like a good starting point <rain1>that sounds like it could get pretty tricky since gcc is likely to be full of weird hacks, i remember a good article about why grep is so fast by "cheating" <OriansJ>I'd think cache alignment/hitrate, pipeline bubbles and a willingness to do super optimizations is a good chunk of it. <snnw>yeah. codegen can be vastly different, with lots of differences that don't actually impact perf significantly. needle, haystack. I needed a break and build a C compiler in assembly instead ;) <snnw>and thanks for the welcome, you seem like a fun bunch <OriansJ>snnw: we also have C versions of cc_aarch64 if you would find it helpful <snnw>that's M2-Planet, right? if you look through the cross compilation bits <OriansJ>which reminds me; I need to review those pull requests <snnw>ah sweet I didn't see that. could be quite useful to compare to if I need to chase down any bugs <snnw>OriansJ: I'll hopefully have some pull requests soon-ish <OriansJ>snnw: if it isn't too much trouble; please ping me here when you need me to pull as I don't check github that often. <snnw>OriansJ: will do, thanks! <markjenkinsznc>ah, so this wasn't a suggestion it is being reactivated as a work in progress, but is an interesting source of test cases? <OriansJ>markjenkinsznc: approximately correct ***ChanServ sets mode: +o rekado