backported setjmp/longjmp changes from v7.x branch:

Hand-picked from commits 02390fa9c1, 436ad4b830, and 844cb490ab:
- Only use _setjmp3 on i386.  Don't use _WIN64 to decide this, but
  check explicitly for i386, and use _setjmp on other platforms.
- setjmp.h: Only pass a frame pointer to setjmp if SEH is enabled
  This should avoid the need for clearing the frame pointer in the
  longjmp wrapper.
- crt: Use importlibs for longjmp.

Fixes setjmp/longjmp code built with -fno-asynchronous-unwind-tables
with SEH toolchains.
5 files changed