I love this article not only because it’s well-written and interesting, also because it’s kinda bonkers and shows me so many things where I basically understand what they’re saying but I have zero clue about the details, especially the ELF loader part.
Yeah, while I find it very impressive…. I wouldn’t have done it like that. Making raw syscalls on NT means you’re losing, and adding PE MIPS support couldn’t be that bad (and probably more sustainable).
Right, I was a bit disappointed because going down this path amounts to proving nerd-cred without creating anything that can be used in practice for anything.
As a partial aside, I’m starting to think that the ease of emulation of MIPS has meant the NT/MIPS community now is larger than it was when it was an actual product.
As a partial aside, I’m starting to think that the ease of emulation of MIPS has meant the NT/MIPS community now is larger than it was when it was an actual product.
LLVM already supports MIPS and PE, I seem to remember someone wanting to upstream MIPS/PE support because they were working on an OS that used NT’s binary format (no idea why). The changes weren’t that large, basically just adding the PE-specific relocation types in the back end.
I love this article not only because it’s well-written and interesting, also because it’s kinda bonkers and shows me so many things where I basically understand what they’re saying but I have zero clue about the details, especially the ELF loader part.
Yeah, while I find it very impressive…. I wouldn’t have done it like that. Making raw syscalls on NT means you’re losing, and adding PE MIPS support couldn’t be that bad (and probably more sustainable).
Right, I was a bit disappointed because going down this path amounts to proving nerd-cred without creating anything that can be used in practice for anything.
As a partial aside, I’m starting to think that the ease of emulation of MIPS has meant the NT/MIPS community now is larger than it was when it was an actual product.
If only the emulation was less janky D:
LLVM already supports MIPS and PE, I seem to remember someone wanting to upstream MIPS/PE support because they were working on an OS that used NT’s binary format (no idea why). The changes weren’t that large, basically just adding the PE-specific relocation types in the back end.