IRC channel logs

2022-11-26.log

back to list of logs

<stikonas>hmm, I'm still unable to create any new directory in UEFI... Something goes wrong though I can't see what...
<stikonas>I think I get success error code from open function but the new directory is simply not there..
<oriansj>well we could do a stand alone test built with GCC to sanity check the idea
<stikonas>yeah, or possibly clang as it's easier to build uefi binaries with it...
<stikonas>well, making dirs is the one thing that I have not tried when I was writing those early C prototypes (i.e. kaem-optional and hex0)
<stikonas>oriansj: seems to work fine...
<stikonas>so it is indeed just opening "file" with EFI_FILE_DIRECTORY attribute
<stikonas>so I probably have done something wrong in M2libc
<stikonas>something might be miscompiled...
<stikonas>after mode = 1 << 63; it has some random stuff in it... https://paste.debian.net/1261947/
<stikonas>anyway, need to run away for some time, will look at it later
<stikonas>oriansj: found the issue
<stikonas>in M2 one can't skip any function arguments
<stikonas>i.e. int mkdir(char const* name, mode_t) will cause miscompilation
<stikonas>where as int mkdir(char const* name, mode_t _mode) would work
<stikonas>oriansj: oh, actually POSIX write might also not like writing into non-existing directories
<stikonas>we were saying it's UEFI specific
<stikonas>but stage0-posix has bin/placeholder files
<stikonas>must be for exactly the same reason...
<stikonas>anyway, mkdir implementation that I just wrote would be useful later
<stikonas>so not a wasted effort
<stikonas>and I'll add stage0-uefi/amd64/bin/placeholder file too
<stikonas>oriansj: https://github.com/oriansj/M2libc/pull/23
<oriansj>stikonas: good plan
<stikonas>ok, anyway, I've pushed my stage0-uefi changes
<stikonas>so now we build final version of M1 and hex2
<stikonas>hex2 is actually identical to the previous version but I guess that's expected
<oriansj>merged
<stikonas>thanks
<oriansj>plus making directories will really handy when you get untar working on UEFI
<stikonas>well, I've also pushed kaem build now, though obviously kaem is not yet functional
<stikonas>but at least it builds
<stikonas>just doesn't do much beyond --help and --version
<stikonas>but at least in the next kaem script I can use all / paths and keep \ for line breaks
<stikonas>there is probably still quite a bit of M2libc work left until we are done...
<stikonas>first need to make kaem work with spawning rather than forking
<stikonas>then M2-Mesoplanet will probably build but I expect that I'll have to fix lots of #include statements
<stikonas>oh and I still need to fix truncations when creating files
<oriansj>still very impressive to gotten this far
<stikonas>and only kaem and M2-Mesoplanet will need any #ifdefs
<stikonas>everything else should just work
<stikonas>I wonder how much stuff are we missing in M2libc to build mes-m2
<stikonas>also need to start thinking about environmental variables