I had it the other way around when writing a JIT compiler for my toy language: it worked on Windows, but crashed on Linux. The compiler was written in C++ and used C++ exceptions. On Windows (MinGW), it used SEH (Structured Exception Handling), which happily skipped JIT-generates frames, but on Linux, it immediately crashed after encountering the first JIT-generated frame. I didn't find a way to easily fix it and abandoned the project.
I had it the other way around when writing a JIT compiler for my toy language: it worked on Windows, but crashed on Linux. The compiler was written in C++ and used C++ exceptions. On Windows (MinGW), it used SEH (Structured Exception Handling), which happily skipped JIT-generates frames, but on Linux, it immediately crashed after encountering the first JIT-generated frame. I didn't find a way to easily fix it and abandoned the project.