4 ms·
This reminds me of the time I wanted to run binaries compiled for SSE3 on a system that lacked SSE3. I started writing a tool to emulate this [0], and one thin
by rkeene2 5y ago
This reminds me of the time I wanted to run binaries compiled for SSE3 on a system that lacked SSE3. I started writing a tool to emulate this [0], and one thing it could do is rewrite the executable pages with replacement instructions if there was something that would fit (using memcpy(2), naturally).
This harkens back to the days when you could "download" a math coprocessor for your SX system, which was a TSR which likely did the same catching and handling of illegal instructions.
[0] https://github.com/rkeene/sse3-emu/blob/master/libsse3.c https://github.com/rkeene/sse3-emu/blob/master/libsse3.c
- tjalfi 5y agoOlder versions of Windows used a similar technique to replace the PREFETCHW instruction with NOPs on processors that didn't support it.