SGautam has quit [Quit: Connection closed for inactivity]
<heat>
geist, what the fuck does vax linux do?
<geist>
good question, i fiddled around and it was the simplest triple to compile for
<heat>
heck, is VAX ELF even documented?
<geist>
you'd think something like vax-netbsd would, but iirc it was much more complicated
<geist>
sure it is, netbsd uses it and has for like 20 years
<heat>
huh
<geist>
asid efrom it being old there's nothing particularly special about VAX that would make it hard to use with modern toolchains *except* the non IEE854 float i guess
<netbsduser>
netbsd/vax has been on ELF for a few years now
<geist>
pdp11 i doubt ever got a elf format though, it being 16 bit and all
<geist>
the BSD 2.11 i have here in my pdp11 is using a.out
<geist>
though there's some sort of overlay extension to it that lets you compile up to like a 300KB binary
<netbsduser>
elf without dynamic linking is a bit of a waste of effort, and it's tricky without a paged MMU, so i don't think there would ever be cause for it to exist
xenos1984 has quit [Read error: Connection reset by peer]
<geist>
right, something like a.out would be sufficient, since for the most part it's just a simple header that says text is this big, data is that big, bss is that big
<geist>
though clearly there's some sort of etension stuff going on for the 300KB pdp11 binary thing, if nothing else because there's an option for separate I and D address space
<geist>
that immediately gets you an up to 128KB binary
<heat>
i want a vax-pe toolchain
<heat>
PE is the cursedestest executable format ever
<heat>
if vax qemu was a thing i'd totally port linux to it, for the shits and giggles
<heat>
i don't want to bother with simh tho
bombuzal has quit [Quit: b0rk]
DanielNechtan has joined #osdev
<geist>
yeah simh is not as easy to work with
<geist>
one of the neat features it does have is you can configure it to keep a circular buffer of the last N instructions it ran
<geist>
pretty handy
<heat>
oh that's useful for tracing
<geist>
yeah that's pretty nice
<geist>
and when you break into it with ^E it stops execution unlike qemu
<heat>
i guess doing that with qemu is not as easy because of JIT?
<heat>
the circular buffer, that is
<geist>
yah
xenos1984 has joined #osdev
DanielNechtan has quit [Quit: b0rk]
<heat>
actually.. huh, how does it know where the IP is, when running a JIT block?
<geist>
it's encoded into the jit block presumably
DanielNechtan has joined #osdev
masoudd_ is now known as masoudd
<geist>
so it's implicit, in that the jit block was generated for that particular IP
<heat>
but do they JIT for single instructions?
<geist>
no they usually jit for a block of instructions
<geist>
generally say a run of instructions until a branch
<heat>
i was thinking that something like "test %rax, %rax; jnz 1f" -> "bnez x1, 1f" could provide some ambiguity on the IP's side
<geist>
or even choose to jit across a branch not taken or something
<geist>
you ca see qemu do it if you do `-d in_asm,out_asm` or something like that
<geist>
there's another one in the middle that dumps the pseudo instructions
<geist>
this is also what --single-step does to qemu, it causes it to jit a single instruction at a time, instead of a run
<heat>
oh yeah i guess even enabling single stepping in EFLAGS needs to change how JITting works
<Ermine>
how do they test vax stuff
<geist>
well, simh emulates it just fine
<geist>
and there's some vax hardware still around
<geist>
i have some myself
DanielNechtan has quit [Quit: b0rk]
DanielNechtan has joined #osdev
yo0O0o has joined #osdev
yoO0Oo has joined #osdev
yo0O0o has quit [Remote host closed the connection]