<gog>
nah i'm a terrible programmer and i write bugs all the time
<zid>
You've been gogged
<heat>
gog gogged gog
<heat>
zid, oh yeah, how is it to live under the reign of King Charles?
<zid>
It's going to be indescribably awful
nyah has quit [Quit: leaving]
<zid>
because the news will be nothing but liz's death for weeks to months, and the tories are going to do as much evil shit as they can under their evil new leader
<zid>
with 0 accountability
<heat>
was boris johnson keeping the queen alive all this time? not saying anything, just asking questions
<zid>
truss ate her soul
<heat>
liz ate liz
<zid>
It's like jet li's "the one"
<wxwisiasdf>
i am a programmer i make no mistakes
[itchyjunk] has quit [Ping timeout: 248 seconds]
<wxwisiasdf>
**crashing program sounds in the background**
<gog>
i'm sorry you have to live on clown island zid
<zid>
at least you're a cool guy, because you didn't look at the explosion
<heat>
temporary restart
<gog>
nobody deserves that fate no teven the british
saltd has quit [Read error: Connection reset by peer]
saltd has joined #osdev
ThinkT510 has quit [Quit: WeeChat 3.6]
ThinkT510 has joined #osdev
saltd has quit [Remote host closed the connection]
saltd has joined #osdev
bauen1 has quit [Ping timeout: 248 seconds]
opal has quit [Remote host closed the connection]
opal has joined #osdev
myon98 has quit [Quit: Bouncer maintainance...]
rorx has quit [Ping timeout: 255 seconds]
bauen1 has joined #osdev
bauen1 has quit [Ping timeout: 252 seconds]
bauen1 has joined #osdev
saltd has quit [Remote host closed the connection]
opal has quit [Remote host closed the connection]
opal has joined #osdev
scoobydoo has quit [Ping timeout: 244 seconds]
saltd has joined #osdev
scoobydoo has joined #osdev
GeDaMo has joined #osdev
myon98 has joined #osdev
saltd has quit [Remote host closed the connection]
potash has joined #osdev
Ali_A has joined #osdev
saltd has joined #osdev
rorx has joined #osdev
saltd has quit [Ping timeout: 244 seconds]
carbonfiber has joined #osdev
Ali_A has quit [Quit: Client closed]
bauen1 has quit [Ping timeout: 252 seconds]
[itchyjunk] has joined #osdev
saltd has joined #osdev
stux has quit [Ping timeout: 248 seconds]
gog has joined #osdev
biblio has joined #osdev
netbsduser has joined #osdev
saltd has quit [Read error: Connection reset by peer]
PapaFrog has quit [Read error: Connection reset by peer]
LostFrog has joined #osdev
saltd has joined #osdev
elastic_dog has quit [Ping timeout: 244 seconds]
epony has quit [Remote host closed the connection]
elastic_dog has joined #osdev
elastic_dog has quit [Client Quit]
saltd has quit [Remote host closed the connection]
elastic_dog has joined #osdev
scoobydoo has quit [Ping timeout: 260 seconds]
saltd has joined #osdev
scoobydoo has joined #osdev
\Test_User has quit [Quit: .]
Andrew has quit [Quit: Disappearing for a while, email me if you need to talk: andrew AT andrewyu DOT org.]
\Test_User has joined #osdev
freakazoid333 has quit [Ping timeout: 244 seconds]
carbonfiber has quit [Quit: Connection closed for inactivity]
foudfou has quit [Quit: Bye]
foudfou has joined #osdev
vdamewood has joined #osdev
Brnocrist has quit [Ping timeout: 260 seconds]
Brnocrist has joined #osdev
netbsduser has quit [Quit: Leaving]
[itchyjunk] has quit [Remote host closed the connection]
biblio has quit [Quit: Leaving]
nyah has joined #osdev
mavhq has quit [Ping timeout: 248 seconds]
heat has joined #osdev
<heat>
i found out i have ligma
wootehfoot has joined #osdev
<heat>
geist, the new riscv ISAs don't include CSRs and instruction fences
xenos1984 has quit [Read error: Connection reset by peer]
<heat>
the newest binutils (upgraded to 2.39) now enforces that
<heat>
you need to pass zifencei and zicsr in your -march string
<heat>
like -march=rv64imac_zicsr_zifencei apparently
<heat>
sorry, dont include CSRs and ifences in the base instruction set I mean
xenos1984 has joined #osdev
smoke has joined #osdev
tsraoien has joined #osdev
frkzoid has joined #osdev
saltd has quit [Remote host closed the connection]
smoke_ has joined #osdev
smoke has quit [Ping timeout: 260 seconds]
smoke_ has quit [Ping timeout: 252 seconds]
smoke_ has joined #osdev
saltd has joined #osdev
smoke_ has quit [Read error: Connection reset by peer]
wootehfoot has quit [Read error: Connection reset by peer]
xenos1984 has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
saltd has quit [Remote host closed the connection]
xenos1984 has quit [Ping timeout: 248 seconds]
frkzoid has quit [Ping timeout: 244 seconds]
[itchyjunk] has joined #osdev
saltd has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
xenos1984 has joined #osdev
tsraoien has quit [Ping timeout: 248 seconds]
bauen1 has joined #osdev
FreeFull has joined #osdev
frkazoid333 has joined #osdev
tsraoien has joined #osdev
<geist>
heat: yah, i bumped into that with switch to gcc 12 a while bavk
<geist>
annoying, i have some code in the LK build to detect if it needs that switch or not
<geist>
while i dont mind the verbosity of the -march switch for riscv in this case, it's kinda annoying because it takesn on the responsibility of a lot of features (floating point notably) and it must be specified once
<geist>
ie, you can't do a `-march+=....` or whatnot
<geist>
so for the LK build it has to synthesize one out of 4 or 5 different march strings based on a bunch of variables
<mjg_>
looking for a sucker with a decently cored linux box who can run go 'garbage' benchmark + perf record it
<geist>
oh yeah? what decently coreness are yo interested in?
<mjg_>
40+
<mjg_>
well i'm fine even with threads
<geist>
ah my main desktop is 32
<geist>
i have a 256 thread ARM box though
<mjg_>
the arm one sounds fine
<geist>
sure
<geist>
might not get you what you want, but it'd be interesting anyway
<mjg_>
to add some context, the 'garbage' bench is using crap legacy profiling on freebsd which turbo serialized on a lock
<mjg_>
making it the dominant bottleneck
<geist>
ah i see
<mjg_>
i want to know what happens on linux
<mjg_>
it's the getitimer/setitimer stuff
<mjg_>
i have hever seen it used apart from this case fwiw :->
<mjg_>
scratch it then, i'll probaby just spin something up later on ec2
<geist>
yah i have an action item to update to 22.04, but it's an arm box that i'd rather not reinstall, so i want to do it the uber safe way and save a disk image first, etc
<geist>
i'm doing the uber build in their readme on that repo now and it seems to be doing something
<geist>
so maybe it's bootstrapping the whole thing
<geist>
totally silent though, i haaaaaate tools that are silent
<mjg_>
my laptop updated 20 -> 22 no problem :>
<mjg_>
i built with GOOS=freebsd GOARCH=amd64 ./bootstrap.bash , did not take long
<geist>
yes, again i have very little reason to believe it wont update, but i want to do it safe
<geist>
because i honestly dont know how to reinstall this box. it's a bigass arm server box
<geist>
and may or may not clean install. i was given it with 16.04 on it, and have upgraded it ever since
<mjg_>
no ipmi?
<geist>
not that i'm aware of. or it does and i dont have the password to it, etc
<mjg_>
so it never crashed?
<geist>
what do you mean?
elastic_dog has quit [Ping timeout: 244 seconds]
<mjg_>
never any issues requiring anything but ssh?
<geist>
no there's a serial port
<geist>
but it is exceptionally stable
<geist>
not sure i've ever seen it crash
<mjg_>
nice
<geist>
again, it's just a UEFI ARM box, so nothing magic, but i'd rather not reconstruct how to manually install it (though it's probably just fine off a usb stick)
<geist>
but when i do upgrades i save a disk image first so i can roll back
<mjg_>
ye makes sense
<mjg_>
my toys all have pxe boot and have ipmi, but i inherited it this way
<geist>
too bad they're not gonna make these any more. it's a Marvell Thunder X2
<geist>
but i think they got out of the biz, no more x3s
<geist>
or at least available to consumers
elastic_dog has joined #osdev
<geist>
ugh. i built a toolchain on ubuntu 22.04 and it wont run on 20.04 because it requires GLIBC_2.32
<geist>
i though these sort of version nonsense weren't that common anymore
<geist>
i haven't personally seen this sort of thing in a while, but maybe glibc rolls it's version more often nowadays
<mjg_>
scrap it man
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<geist>
done!
<geist>
yah if it weren't go i'd give it more of a shot but honeslty i know very little about how to drive go
<geist>
and it has it's own way of doing things
dude12312414 has joined #osdev
<geist>
but it is entertaining to see 256 threads run
dude12312414 has quit [Client Quit]
<mjg_>
thanks for looking into it
SpikeHeron has joined #osdev
tomaw has quit [Quit: Quitting]
frkazoid333 has quit [Ping timeout: 244 seconds]
tsraoien has quit [Quit: WeeChat 3.6]
wxwisiasdf has joined #osdev
tomaw has joined #osdev
tsraoien has joined #osdev
<wxwisiasdf>
Uh
<wxwisiasdf>
PS/2 is firing interrupts **too fast**
<wxwisiasdf>
I can confirm it's PS/2 because not sending an EOI ceases the IRQs from firing
<wxwisiasdf>
It fires IRQs so fast it softlocks the system? :^)
<clever>
ive done that before on the rpi, cant remember which peripheral was to blame
<clever>
setting the irq masking registers to a more sane state fixed it, linux assumed things where already masked off
<remexre>
i'm implementing a posix subset, and wondering -- is there any point to dup2() if process spawning doesn't use fork()/exec() ?
<geist>
i think it's the only way you can close a fd and open a new one in exactly that spot, right?
<geist>
or is there another open() variant that lets you specify the target fd?
<remexre>
I mean, I don't know that there's a use for that -- I've only used it myself in code between fork() and exec()
<geist>
oh sure, but you can imagine there is code that maybe wants
<zid>
there isn't *really* a use for it, as long as the kernel guarentees sequential fds, and I think it does
<geist>
say you want to redirect some thing to another spot
<zid>
so you can always just track it yourself
<geist>
well as i said if you wated to 'swap' what a fd points to with another one
<geist>
outside of the exec context
<zid>
but you may as well implement dup2 only
<zid>
then implement dup with dup2
<geist>
well, that that was the original question
<geist>
my point is there might be some use cases where some code expects to be able to do that, outside of the exec context
<geist>
since there's otherwise no way to say 'open a new file but only if the fd is N'
<remexre>
geist: okay, yeah, I can imagine that, though I don't know that I would want programs to be doing that, heh
<remexre>
zid: would you envision exposing a "get lowest free fd" call to userspace then, and composing those rather than implementing dup() in the kernel? (ignoring some questions of atomicity)
<geist>
yah that'd be a toctau problem, but if you'd like
<geist>
frankly the bin packing of fds s one of the lamest parts of the posix spec
<geist>
it implies you have to make your code work a certain way and it's a huge source of security bugs and general errors
<zid>
yea don't do it userspace side that defeats all the points
<mjg_>
there is a legit use in that you may want toe xpose debug or other data at a known fd
<zid>
there's also a dup3 but I have no idea what it does
<mjg_>
then someone can /proc/you/fd/thatone
<remexre>
zid: cloexec flag
<remexre>
mjg_: like, it's the "other end" of a socketpair() that someone else would cat? that seems kinda ugly... tho pretty much anything but maybe readlink() in /proc/.../fd/ feels ugly to me...
frkzoid has joined #osdev
wxwisiasdf has joined #osdev
<mjg_>
not socketpair
<mjg_>
this is for debug where you want the prog to dump what it is
<mjg_>
then you can inspect it at a known fd number
<mjg_>
not saying it is a great idea, but it is a legitimate use
<remexre>
sorry, I don't understand what "it" refers to in "dump what it is"
<mjg_>
i had seen it with something ruby, which write down what modules are loaded and wahtnot
<mjg_>
then when trying to figure wtf is going on you can cat that fd
<remexre>
oh, like it's a real file on disk that it just holds open there? or it sizes a pipe to have a large enough buffer?
<remexre>
I thought you mean that logs would be continuously streamed there
<mjg_>
more like an unlinked file or an shm one
<remexre>
hm
<remexre>
yeah, I'm gonna do dup2, but I don't know how much i like that usecase...
<mjg_>
personally i don't think i would have done that, but i don't remember all the constraints
<mjg_>
ruby is a nasty piece of shit
<mjg_>
or at least was last time i looked
CYKS has quit [Ping timeout: 268 seconds]
<geist>
mjg_: ah yeah, that's a legit use, indeed
kof123 has quit [Ping timeout: 268 seconds]
matt__ has joined #osdev
heat has joined #osdev
frkzoid has quit [Ping timeout: 248 seconds]
heat_ has quit [Read error: Connection reset by peer]
matt__ has quit [Ping timeout: 244 seconds]
heat_ has joined #osdev
matt__ has joined #osdev
matt__ is now known as freakazoid333
heat has quit [Read error: Connection reset by peer]
jjuran has quit [Ping timeout: 252 seconds]
jjuran has joined #osdev
jjuran has quit [Remote host closed the connection]
jjuran has joined #osdev
epony has joined #osdev
heat_ has quit [Read error: Connection reset by peer]