IRC channel logs

2024-01-01.log

back to list of logs

<stikonas>in particular, our stage0-posix kaem scripts rely a lot on ./relative/path (rather than using relative/path)
<muurkha>oriansj: the 6502 had four 8-bit registers, each with special powers, plus a 16-bit program counter. it had a hardware stack. it did not have a barrel shifter. its instructions were variable length; its only conditionals were conditional jumps. what does ARM assembly have in common with 6502? the spelling of the EOR instruction?
<oriansj>stikonas: M2libc changes have been merged
<stikonas>thank you
<stikonas>now I need to debug why malloc's fail...
<stikonas>(or find some other workaround)
<oriansj>muurkha: the answer is Sophie Wilson; the main designer of ARM and 6502 systems and programs for Acorn computer
<stikonas>sigh, I think I broke something in stage0-uefi with the above change...
<stikonas>(even if it helps posix-runner.efi...)
<stikonas>argh, it turns out UEFI is fine with \a\\\b directory paths but not \\\a\b
<stikonas>so you can't have more than one \ at the beginning of the path
<stikonas>oriansj: sorry, one more try: https://github.com/oriansj/M2libc/pull/51
<stikonas>this time I think it will work better
<stikonas>(at the very least stage0-uefi runs to completion)
<stikonas>probably something like realpath() would be better but it's a bit more complicated that we need right now for bootstrapping...
<stikonas>even meslibc doesn't have realpath() yet, though we might need it for the upcoming tcc 0.9.28
<stikonas>oh, I think I might know what the bug with memory allocation was...
<stikonas>I probably reserved new 1 GiB brk area per process...
<Googulator>Oops.
<stikonas>indeed. I'll try to fix it and hopefully it will help with my issues...
<stikonas>(at least I think I've sorted out M2libc posix path -> uefi path issues)
<Googulator>Does M2-Planet support implicit concatenation of adjacent strings "like " "this?"
<stikonas>Googulator: I think so
<stikonas>actually we use it a lot for asm blocks
<stikonas>interstingly mescc doesn't support that
<Googulator>Does it work properly also across line breaks?
<stikonas>yes
<stikonas>e.g. see https://github.com/oriansj/M2libc/blob/main/amd64/linux/unistd.c#L29
<stikonas>well, if you find some bug, it shouldn't be too hard to fix...
<stikonas>sigh, I'm still getting malloc issues...
<stikonas>hmm, gdb seems to indicate that memory was allocated...
<stikonas>maybe I'm again using some construct that confuses M2-Planet
<stikonas>oriansj: do you remember if stuff like struct process* new = calloc(1, sizeof(struct process)); is allowed in M2-Planet?
<stikonas>I think I'm again hitting some issue with assignment on init
<stikonas>it definitely seems to work better when I split it into two lines...
<stikonas>well, running posix-runner.efi AMD64/bin/kaem --verbose --file AMD64/mescc-tools-mini-kaem.kam is now able to run up to M0 (M0 gets stuck)