IRC channel logs

2022-06-22.log

back to list of logs

***stikonas_ is now known as stikonas
<stikonas>hmm, there is no mkstemp in meslibc...
<stikonas>though we do have one in M2libc
<stikonas>ok, mkstemp is actually not required in coreutils as it has it's own implementation in lib/
<Hagfish>nice. (i assume the lib/ implementation is usable in practice)
<stikonas>it should be, I guess that's automatically picked by configure script if you use that
<muurkha>it might not have been tested in 10 years
<muurkha>so it's conceivable it's bitrotted
<oriansj>muurkha: well if the functionality is in M2libc, odds are it is probably hard to bitrot unless they tried to be too clever by half
<muurkha>oriansj: possibly the coreutils mkstemp() was written in 01998 and is not used on any modern operating systems because all of them have mkstemp() in their standard library now, with the consequence that evolving use of mkstemp() in coreutils may not be adequately tested against coreutils's own implementation in lib/
<muurkha>so coreutils's own application in lib/ might have bitrotted. maybe not
<muurkha>I'm not aware of any problems with it, just saying that that's the kind of place where I wouldn't be surprised to hit bugs
<oriansj>muurkha: completely fair
<oriansj>in M2libc it is a 2 function implementation: https://paste.debian.net/1244807/ because many C functions are not supported
<oriansj>So replacing it wouldn't be too hard either
<oriansj>granted thread locking/unlocking might be required should one wish to support multiple threads calling mktemp and to ensure there are no race conditions.
<muurkha>does anything linked with M2libc use multiple threads?
***ChanServ sets mode: +o janneke_
***janneke_ is now known as janneke
***lukedashjr is now known as luke-jr
<oriansj>muurkha: nope, M2libc is single thread only and we don't even have the standard thread libraries either.
<muurkha>well, I guess we don't have to worry about thread locking and unlocking then :)
<oriansj>assuming no one wants to try to build GCC with M2libc
<oriansj>which is definitely not recommended unless one wants to do it for sheer hack value.
<oriansj>kinda like adding strerror to M2libc, it can be done but the obvious mechanisms might be there. (such as switch/case statements) and one would have to do something ugly to work around that (like if/else if/ else chains)