thinkpol has quit [Remote host closed the connection]
thinkpol has joined #osdev
itrsea has quit [Quit: leaving]
theruran has quit [Quit: Connection closed for inactivity]
mrpops2ko has quit [Ping timeout: 248 seconds]
itrsea has joined #osdev
mrpops2ko has joined #osdev
averymt_ has joined #osdev
nur has quit [Quit: Leaving]
averymt has quit [Ping timeout: 252 seconds]
gog has quit [Quit: byee]
jcea has quit [Ping timeout: 276 seconds]
vdamewood has joined #osdev
\Test_User has quit [Ping timeout: 252 seconds]
\Test_User has joined #osdev
edr has quit [Quit: Leaving]
Bonstra has quit [Ping timeout: 265 seconds]
Bonstra has joined #osdev
averymt_ is now known as averymt
dude12312414 has quit [Remote host closed the connection]
dude12312414 has joined #osdev
xvmt has quit [Read error: Connection reset by peer]
xvmt has joined #osdev
<chiselfuse>
does doing `/usr/lib/ld-linux-x86-64.so.2 --argv0 elf_file elf_file foo bar` result in the exact same image/entry that would result from doing `elf_file foo bar` given that `elf_file` has `/usr/lib/ld-linux-x86-64.so.2` set as its interpreter? or are there subtle differences?
<Mutabah>
I think it's the same? I've use a similar trick to run apps in a different environment (e.g. compiled for a different glibc)
<chiselfuse>
i have an idea
<chiselfuse>
i'll load both in gdb and break at the entry address
<chiselfuse>
but wait, when i do `elf_file foo bar` can i tell it to break at the entry address of ld.so?
<chiselfuse>
perhaps if i turn off aslr, check the address, then execute again with a breakpoint there?
<chiselfuse>
but then that would write an INT3 and get rewritten when it mmaps ld.so over it, wouldn't it?
<chiselfuse>
oh i forgot to say i'd then dump both memory images and compare them to check if they result in the same one
<chiselfuse>
man i hate gdb
<chiselfuse>
there is no distinction of what inferior, target or anything are
<chiselfuse>
haywire
hazard_hitman has quit [Quit: Konversation terminated!]
<chiselfuse>
so why is it that when i let the kernel figure out the interpreter, the main elf is mmaped immediately before the _start of the interpreter?
<chiselfuse>
btw i double checked and 0x7ffff7fe35c0 is indeed the _start of ld.so every time
<chiselfuse>
i think i'm missing so much info
<chiselfuse>
like why is ld.so always loaded in the 7fff* range even when i exec it directly
<chiselfuse>
oh i guess that's just where the kernel loads PIEs that dont' have an interpreter
itrsea has quit [Quit: leaving]
osmten has joined #osdev
ThinkT510 has quit [Read error: Connection reset by peer]
k0valski18891621 has quit [Read error: Connection reset by peer]
innegatives has quit [Quit: Connection closed for inactivity]
goliath has quit [Quit: SIGSEGV]
goliath has joined #osdev
averymt has quit [Read error: Connection reset by peer]
averymt has joined #osdev
HD36079 has quit [Quit: Leaving]
innegatives has joined #osdev
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 268 seconds]
averymt_ has joined #osdev
averymt has quit [Ping timeout: 276 seconds]
_averymt has joined #osdev
_averymt has quit [Read error: Connection reset by peer]
_averymt has joined #osdev
averymt_ has quit [Ping timeout: 260 seconds]
osmten has quit [Quit: Client closed]
averymt has joined #osdev
_averymt has quit [Ping timeout: 276 seconds]
averymt has quit [Read error: Connection reset by peer]
averymt has joined #osdev
averymt_ has joined #osdev
averymt_ has quit [Read error: Connection reset by peer]
averymt has quit [Ping timeout: 260 seconds]
averymt has joined #osdev
averymt has quit [Read error: Connection reset by peer]
averymt has joined #osdev
averymt_ has joined #osdev
averymt has quit [Ping timeout: 276 seconds]
_averymt has joined #osdev
averymt_ has quit [Ping timeout: 276 seconds]
innegatives has quit [Quit: Connection closed for inactivity]
innegatives has joined #osdev
edr has joined #osdev
averymt_ has joined #osdev
_averymt has quit [Ping timeout: 260 seconds]
_averymt has joined #osdev
averymt_ has quit [Ping timeout: 260 seconds]
EmanueleDavalli has joined #osdev
_averymt is now known as averymt
averymt_ has joined #osdev
averymt has quit [Ping timeout: 260 seconds]
_averymt has joined #osdev
averymt_ has quit [Ping timeout: 252 seconds]
dude12312414 has quit [Ping timeout: 244 seconds]
averymt has joined #osdev
averymt_ has joined #osdev
_averymt has quit [Ping timeout: 260 seconds]
nur has quit [Remote host closed the connection]
nur has joined #osdev
averymt has quit [Ping timeout: 260 seconds]
kata has joined #osdev
kata has quit [Read error: Connection reset by peer]
_averymt has joined #osdev
averymt_ has quit [Ping timeout: 260 seconds]
kata has joined #osdev
kata has quit [Client Quit]
averymt_ has joined #osdev
kata has joined #osdev
averymt has joined #osdev
_averymt has quit [Ping timeout: 276 seconds]
averymt_ has quit [Ping timeout: 276 seconds]
averymt_ has joined #osdev
averymt has quit [Ping timeout: 276 seconds]
EmanueleDavalli has quit [Quit: Client closed]
_averymt has joined #osdev
_averymt has quit [Read error: Connection reset by peer]
averymt has joined #osdev
averymt_ has quit [Ping timeout: 268 seconds]
ekko has joined #osdev
averymt_ has joined #osdev
averymt has quit [Ping timeout: 260 seconds]
averymt has joined #osdev
kata has quit [Read error: Connection reset by peer]
averymt_ has quit [Read error: Connection reset by peer]
kata has joined #osdev
kata has quit [Client Quit]
kata has joined #osdev
kata has quit [Remote host closed the connection]
kata has joined #osdev
netbsduser` has joined #osdev
azonenberg has quit [Remote host closed the connection]
dude12312414 has joined #osdev
averymt_ has joined #osdev
kata has quit [Ping timeout: 248 seconds]
averymt has quit [Ping timeout: 260 seconds]
kata has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 244 seconds]
xenos1984 has quit [Ping timeout: 268 seconds]
xenos1984 has joined #osdev
_averymt has joined #osdev
averymt_ has quit [Read error: Connection reset by peer]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 248 seconds]
innegatives has quit [Quit: Connection closed for inactivity]
kata has quit [Read error: Connection reset by peer]
kata has joined #osdev
xenos1984 has quit [Ping timeout: 276 seconds]
kata has quit [Ping timeout: 244 seconds]
kata has joined #osdev
gog has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 252 seconds]
xenos1984 has joined #osdev
_averymt has quit [Read error: Connection reset by peer]
_averymt has joined #osdev
_averymt has quit [Read error: Connection reset by peer]
_averymt has joined #osdev
averymt_ has joined #osdev
_averymt has quit [Ping timeout: 260 seconds]
zach has joined #osdev
vdamewood has quit [Quit: Life beckons]
innegatives has joined #osdev
_averymt has joined #osdev
averymt has joined #osdev
zach is now known as tuttza
averymt_ has quit [Ping timeout: 260 seconds]
_averymt has quit [Ping timeout: 260 seconds]
averymt_ has joined #osdev
averymt has quit [Ping timeout: 260 seconds]
<Ameisen>
my dynamic recompiler is about one order of magnitude slower than host - 4s vs 32s. There might be other differences though.
Turn_Left has joined #osdev
averymt has joined #osdev
Left_Turn has quit [Ping timeout: 268 seconds]
averymt_ has quit [Ping timeout: 260 seconds]
averymt_ has joined #osdev
averymt has quit [Ping timeout: 260 seconds]
<geist>
that seems not entirely out of the ordinary
netbsduser` has quit [Ping timeout: 248 seconds]
netbsduser` has joined #osdev
Gooberpatrol66 has quit [Quit: Konversation terminated!]
averymt_ has quit [Quit: Quit]
kata has quit [Read error: Connection reset by peer]
k0valski18891621 has joined #osdev
EmanueleDavalli has joined #osdev
kata has joined #osdev
<EmanueleDavalli>
trying a first socket userspace program on my os, wish me luck
ekko has quit [Ping timeout: 276 seconds]
<Ameisen>
geist: I'd still prefer faster, though. Typing build scripts with one hand is difficult.
<Ameisen>
I know _why_ it's slower. loads and stores.
immibis has joined #osdev
<Ameisen>
less for register accesses, and more normal ones. They all have overhead.
<Ameisen>
28s if using Os instead of O3.
ekko has joined #osdev
EmanueleDavalli has quit [Quit: Ping timeout (120 seconds)]
Left_Turn has joined #osdev
<chiselfuse>
does no one know the answer to my question :<
<zid>
depends what it was
<chiselfuse>
i'll repost it
<zid>
if it's about linux, you could try asking the linux people
<zid>
everyone except heat just writes... their own thing
<zid>
so what linux does is antethetical to their actual knowledge
EmanueleDavalli has joined #osdev
<chiselfuse>
i was checking whether doing `/usr/lib/ld-linux-x86-64.so.2 --argv0 elf_file elf_file foo bar` result in the exact same image/entry that would result from doing `elf_file foo bar` given that `elf_file` has `/usr/lib/ld-linux-x86-64.so.2` set as its interpreter? or are there subtle differences?
<chiselfuse>
it seems (and i found an lwn article also mentioning this) that when you have it done automatically, the kernel will map the main ELF for you before mapping the ld.so
<zid>
makes sense, it has to right
<chiselfuse>
why?
<zid>
why map it, read the elf header, find the interp, then UNMAP IT
<zid>
just to re-map it in ld.so
<chiselfuse>
ah
<chiselfuse>
hopefully it results in the exact same execution
<chiselfuse>
idk why it bothers me slightly
<chiselfuse>
well at least i know why now
<zid>
you need the string table to find the interp I am assuming?
<zid>
which is often.. at the end of the ELF
<zid>
so it might be a fairly significant cost to map everything twice
<zid>
when you realistically don't need to, just tell ld.so it's already there somehow.. that's the interesting part, how does ld.so know where it is? I think there's some aux vector protocol shenanigans maybe?
<\Test_User>
remapping could also cause issues if the file changed between, since you could get an executable intended for a different "new" interpreter being passed to an old one
<zid>
ooh toctou
<chiselfuse>
but is reading the file in memory atomic to begin with?
<zid>
into? supposed to be. You're supposed to delete and rename, not overwrite random chunks.
<zid>
It tends to corrupt files during power loss
<zid>
(gnome got bitten by that hard when ext4 went stable)
<\Test_User>
it can be if you specifically make it (but not usually); and swapping files usually can be, so you'd only get away with passing an fd at best, at which point why not leave the mapping and pass a pointer instead?
<zid>
everybody had to mount with heavy sync options for a bit
kata has quit [Read error: Connection reset by peer]
kata has joined #osdev
<geist>
yeah now they have the ordered mode, which is default, which should avoid that sort of thing
<zid>
reminds me of an old 'mel the programmer' type story I read once
<zid>
They kept getting database corruption and couldn't figure it out, added a bunch of error checking to even find where it was happening, but absolutely none of it triggered
<zid>
They eventually narrowed it down to.. 8pm
<zid>
Because that's when the cleaner would come and unplug their server, to vacuum the office.
<zid>
Turns out your try finally blocks don't "finally" if there's no electricity :p
<geist>
heh yeah there's a story at Be that may or may not be true but involved at a particular time of the day sun would move across the machines in a test rack and would trigger the floppy drive 'disk not present' signal
<geist>
which would cause stress tests to fail
<geist>
i can attest that there were racks of test machines, various cobbled together things without cases on them near a window, so it checks out
<zid>
THey forgot to set the switch to 'more magic'
<geist>
a similar one at Palm that i know is true is that at particular times of day some test devices on various people's desk would have trouble
<geist>
turns out we had a shell on one of the serial ports (during WebOS testing, using linux) that were connected to an IrDA port
<geist>
the sun would generate continuous garbage on the serial port that would piss off a sh running on that port
<geist>
these were test devices so we just had active shells on the serial ports
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
EmanueleDavalli has quit [Quit: Client closed]
<heat>
zid: welp the save game became unfun
<heat>
i got the HRE vassal swarm
<zid>
oh, gj
<zid>
but yea, it's kind of annoying to do a WC
<zid>
lots of clicking and pausing and managing 400 stacks
<zid>
and that's about all you'd have left to do
<heat>
i think it's easier to go full HRE now
<heat>
with the empire DLC
<zid>
'go full HRE'?
<heat>
yeah, vassal swarm + form the nation
<zid>
idk, it has been VERY easy at times
<zid>
like, 1510 with 5 PUs easy
<heat>
yeah but i'm not that good :p
Gooberpatrol66 has joined #osdev
<heat>
and/or i don't look for chaotic games like that
<heat>
this game i was pretty interventive in crushing the reformation, and making sure most OPMs remained OPMing
<heat>
and by 1650 i got the swarm
<heat>
(granted, not the full HRE swarm, because I can't read, but close enough)
<zid>
1650? terrible
<zid>
can you even WC from there
<heat>
idk i never WC'd
<zid>
without also having taken a bunch of the new archaeology things
<zid>
maybe not
<zid>
but if you have them? probably
kata has quit [Read error: Connection reset by peer]
<zid>
I've seen a weird game where they tag switched into a bunch of different countries and cultures to take the monument things to lower culture/core/etc costs, then ultimately tag into austria and pass the reforms in days
<heat>
oh and now there's a austria-hungary tag
<heat>
which integrates hungary for free
<zid>
it already integrated for free, you got it as a PU on year 2 :P
<heat>
not integrated
<zid>
PUs no longer give free integration after 50y?
<zid>
that's a harsh change
<heat>
... i don't remember that ever happening
<heat>
they usually only allow you to integrate after 50 years
<heat>
it was like this back in 2016 and it's like this now
EmanueleDavalli has joined #osdev
<zid>
-1% chance per province, +5 per diplo rep or something
<heat>
oh yes
<zid>
that when your king dies
<zid>
the kingdoms just merge
<heat>
you can still do that
<heat>
but i was pretty unlucky
<zid>
so yes, you already get hungary for 0 points
<zid>
you're supposed to switch cultures 18 times and stack all their mission trees
<zid>
that give perm bonuses
<zid>
You can do STUPID stuff with the new mission tree system
<heat>
i manually integrated burgundy and yeah, never again
<heat>
so i was on the hopium until i got the option to switch tags
<heat>
bohemia i have ~30% chance of inheriting and it's STILL FUCKING THERE
<zid>
get more diplo rep
<zid>
and steal its provinces
<zid>
do I have to do all the work here
jcea has joined #osdev
<zid>
found it
<zid>
I'll have to discord it though it's way too long ol
<zid>
mission rewards not being removed when tag switching has got to be the most broken thing they ever added
netbsduser` has quit [Ping timeout: 276 seconds]
jcea has quit [Read error: Connection reset by peer]
jcea has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 265 seconds]
jcea has quit [Ping timeout: 268 seconds]
ekko has quit [Read error: Connection reset by peer]
jcea has joined #osdev
EmanueleDavalli has quit [Quit: Client closed]
jcea has quit [Quit: jcea]
jcea1 has joined #osdev
jcea1 is now known as jcea
Lucretia has quit [Remote host closed the connection]
parabirb has quit [Quit: WeeChat 4.5.2]
sprock has quit [Ping timeout: 260 seconds]
goliath has quit [Quit: SIGSEGV]
tuttza has quit [Remote host closed the connection]