IRC channel logs

2022-05-26.log

back to list of logs

<oriansj>I might just create a rm for mescc-tools-extra just so that we can delete it out of principal
<oriansj>would that be too petty?
<stikonas>that's probably fine
<stikonas>but does not not need a new syscall?
<stikonas>though hopefully that file can just be deleted from mes
<stikonas>it's not needed for mescc anyway
<oriansj>yes it needs the unlink syscall but fortunately we will not need to support that syscall in builder-hex0
<oriansj>as the delete will happen with the next kernel
<oriansj>well it is ultimately up to janneke what is included and not included in his mes tarballs
<oriansj>I'll hack together a rm and add the syscall for M2libc
<oriansj>assuming that I don't have to figure out the weird work around for riscv-32 again it should be done by tonight
<stikonas>unlinkat seems to be supported on all arches on linux
<oriansj>so yes, riscv-32 oncce again is missing syscalls
<stikonas>well, I think most of those non-"at" file manipulation syscalls were made obsolete and replaced with "-at" versions, it's just that older arches have to keep them for compatibility
<oriansj>and we have to use the older syscalls if we wish to be compatible with more POSIX kernels
<oriansj>>.<
<oriansj>and libcs would have to provide a shim/work-around to support legacy programs as well
<oriansj>and m2libc already has unlink
<oriansj>so then I don't even have to do any M2libc work
<stikonas>well, syscalls themselves are usually not visible to programs, libc's (even modern ones) still expose unlink function, it's just under the hood they are implemented using appropriate syscall
<stikonas>we only need unlink() function in M2libc
<oriansj>and we already have that
<oriansj>you even implemented it yourself for riscv-32 and riscv-64
<oriansj>and so rm.c is done and built by M2-Mesoplanet
<stikonas>nice
<oriansj>and the program is now up
<oriansj>it keeps going after failures just like regular rm (even though it is probably a really bad idea)
<oriansj>the build process is: M2-Mesoplanet -f rm.c -o bin/rm
<oriansj>test with: touch foo; ./bin/rm foo; ./bin/rm foo; (first success and second failure with error message)
<oriansj>and if you need it later adding rmdir appears to be rather simple
<stikonas>probably no need for rmdir right now
<stikonas>but mescc-tools-extra is not becoming "mini-coreutils"
<stikonas>s/not/now/
<stikonas>we now have variants of mkdir, rm, cat, sha256sum, cp and chmod
<oriansj>maybe just enough to bootstrap reall core-utils
<oriansj>^reall^real^
<stikonas>yes, real core-utils are not that hard to build
<oriansj>and hex2 is like a better verison of od
<oriansj>surprising no mknod.c yet
<stikonas>well mknod is primarily for /dev/null but having it is not essential
<fossy>and i don't really think we need mknod even before linux kernel
<oriansj>well we need GCC for Linux, so do we need /dev/null to make GCC?
<fossy>no, we don't "need" /dev/null for anything, really
<fossy>i don't think we ran into anything that cares whether /dev/null is a node or a file
<oriansj>but would it make things more clean if we did?
<fossy>possibly.. i'd have to test
<janneke>oriansj: thanks!
***ChanServ sets mode: -o janneke