IRC channel logs
2024-01-22.log
back to list of logs
<stikonas>probably something goes wrong far earlier... <stikonas>it's hard to see how this can happen though <stikonas>other than that sign extension of mode, code seems identical <mwette>Are you just adding `mode;' (i.e., noop) in a function? <stikonas>but the only effect was that global variables and function addresses would have slightly different absolute addresses in the memory <stikonas>anyway, mescc->tcc-mes step in our bootstrap chain is one of the hardest to debug... <stikonas>well, M2-Planet to mes probably too but generally that now works reasonably well <mwette>thanks; I'm guessing for tcc that wouldn't change the stack, right? <fossy>hey stikonas, do you remember why we create our repo packages with --mode=go=rX,u+rw,a-s? <stikonas>mwette: it shouldn't but this needs more investigation, probabably way more than i have time today <stikonas>and does not depend on some strange umask that one can set <fossy>Googulator: by the way, I nearly have --repo and non --repo mode bit-for-bit reproducible under bwrap/chroot modes :D <artemist>Is there any documentation about what the hex2 special characters are supposed to mean? I'm looking at aarch64 again which has a massive number of immediate encodings <matrix_bridge><Andrius Štikonas> So offsets or absolute addresses of various lengths <matrix_bridge><Andrius Štikonas> For fixed word size riscv it is used for different instruction formats <matrix_bridge><Andrius Štikonas> Even though it maps to fixed word size model better <muurkha>makes sense; arm64 and risc-v were designed about the same time with mostly the same objectives <muurkha>in accordance with the conventional wisdom of that time <stikonas>yeah, but stage0-posix-aarch64 predates stage0-posix-riscv64 and this word based flow... <oriansj>and no one has yet to go back and rework it <oriansj>into the better fitting word pattern <artemist>I've been working on that code, it's just that the format characters are referenced in a few places so documentation would be easier than finding all the code <stikonas>janneke: I've sent you a small fixup for the position independent patch <stikonas>one define (needed to build tcc but not for mes) was missing <stikonas>but out 5.10 build might be missing some modules <stikonas>we only built it as a stepping stone to newer perl <janneke>stikonas: i'll squash it with your previous patch <stikonas>I've only built mes when I sent the first patch <stikonas>(which is not working well yet but unlikely to need new defines) <GoogulatorMobile>stikonas: I'm trying to reduce the amount of sources used before we get SSL support - there are some obvious ones (gmp & co, which are only needed for Guile, built much later), but it doesn't quite get us to sub-256MiB <janneke>(iwbn to have a test in mes that needs it, but it's not the only instruction that isn't under test) <stikonas>janneke: I like risc-v defines now. It's basically a complete set of what we'll ever need and full lines are constructed out of small parts <GoogulatorMobile>& the official tarballs are a lot bigger than the ones obtainable from savannah <stikonas>on the other hand on x86/amd64 we can't easily combine e.g. mov + rax from two parts... <GoogulatorMobile>(difference seems to be lots of pregen documentation in the official tarballs) <stikonas>well, the problem is that those snapshot tarballs are not guaranteed to be reproducible <stikonas>but yes, official ones do include more files <stikonas>well, official ones often predate bz2 and xz <janneke>stikonas: yes, the risc-v defines are nice <stikonas>the only annoying thing is the reverse order... <stikonas>which comes from trying to make M0 (and I guess M1 to some extent) simpler <stikonas>well, opcode is at the end... other than that order doesn't matter <stikonas>GoogulatorMobile: how about trying to build some other ssl library? <stikonas>CURL_SSL="openssl -gnutls -mbedtls -rustls") <stikonas>but you might end up chasing dead end... <stikonas>doesn't have rustls here in this list though but that one is not good for bootstrapping anyway <stikonas>GoogulatorMobile: at leastrecent versions of wolfssl <stikonas>oh, maybe it's automake that needs newer perl <stikonas>Makefile.am doesn't specify the version... <stikonas>so you would have to do it by trial and error... <fossy>GoogulatorMobile: wolfssl actually looks very promising <fossy>oh! it still has autoconf too <fossy>i only see one pregen file using perl <fossy>and that is trivally removable <stikonas>but don't we need to ship nss for certs anyway? <fossy>couple of alternatives to nss; <fossy>1. insecure HTTPS connections before we can get to NSS <fossy>(don't validate certificates) <fossy>2. pick and choose certificates required instead of taking them from Mozilla's store <stikonas>you probably can't do 1. without ssl library... <stikonas>as you still need to follow ssl protocol.. <fossy>oh, for sure - 1 just gets around needing to install certificates <fossy>so one option would be wolfssl + no certificates at some earlier stage in the bootstrap, and then later on moving to our same current setup <Googulator>I would hope to ship something other than full-blown NSS for certificates <Googulator>we basically just need one file from the NSS tarball