msvcrt: Make a few more exception handling functions i386-specific.
authorAlexandre Julliard <julliard@winehq.org>
Mon, 12 Apr 2010 15:52:32 +0000 (17:52 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 12 Apr 2010 15:52:37 +0000 (17:52 +0200)
dlls/crtdll/crtdll.spec
dlls/msvcr70/msvcr70.spec
dlls/msvcr71/msvcr71.spec
dlls/msvcr80/msvcr80.spec
dlls/msvcr90/msvcr90.spec
dlls/msvcrt/except.c
dlls/msvcrt/msvcrt.spec
dlls/msvcrt20/msvcrt20.spec
dlls/msvcrt40/msvcrt40.spec
dlls/msvcrtd/msvcrtd.spec
dlls/ntoskrnl.exe/ntoskrnl.exe.spec

index 7584467ee60798d41b93536097c3d7ef1c58469d..8bfde5ff91268c0760c0b47d0da799dfb5e25837 100644 (file)
@@ -77,7 +77,7 @@
 @ extern _environ_dll msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ varargs _execlp(str str) msvcrt._execlp
 @ cdecl _getpid() msvcrt._getpid
 @ cdecl _getsystime(ptr) msvcrt._getsystime
 @ cdecl _getw(ptr) msvcrt._getw
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _heapchk() msvcrt._heapchk
 @ cdecl _heapmin() msvcrt._heapmin
 @ cdecl _heapset(long) msvcrt._heapset
index e25437b8eb82757209a9c97da7d0b1937f91c789..aefc7e827d03a3a584d54c539d7d49e3675031d3 100644 (file)
 @ extern _environ msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ varargs _execlp(str str) msvcrt._execlp
 @ stub _getwch
 @ stub _getwche
 @ cdecl _getws(ptr) msvcrt._getws
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _gmtime64(ptr) msvcrt._gmtime64
 @ cdecl _heapadd(ptr long) msvcrt._heapadd
 @ cdecl _heapchk() msvcrt._heapchk
index e9b06fb3e813eef7c3a8319e73031898941d6e6a..bdd11fd9e34bf663909c9cc0f94b23d0c56ae495 100644 (file)
 @ extern _environ msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ varargs _execlp(str str) msvcrt._execlp
 @ stub _getwch
 @ stub _getwche
 @ cdecl _getws(ptr) msvcrt._getws
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _gmtime64(ptr) msvcrt._gmtime64
 @ cdecl _heapadd(ptr long) msvcrt._heapadd
 @ cdecl _heapchk() msvcrt._heapchk
index 1ba50b89123e2891d730d45a4b88baa568ff5237..4fcc545cfbefa9e09f59fdeca78ec9257869564e 100644 (file)
 @ extern _environ msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ stub _except_handler4_common
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ stub _getwche_nolock
 @ cdecl _getws(ptr) msvcrt._getws
 @ stub _getws_s
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _gmtime32(ptr) msvcrt._gmtime32
 @ stub _gmtime32_s
 @ cdecl _gmtime64(ptr) msvcrt._gmtime64
index 5e145dda35ad25153b69a0c2630cde6efadb5c39..d1bf29cd898c8edb1e0ddec9f9884988d2f4cc14 100644 (file)
 @ extern _environ msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ stub _except_handler4_common
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ stub _getwche_nolock
 @ cdecl _getws(ptr) msvcrt._getws
 @ stub _getws_s
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _gmtime32(ptr) msvcrt._gmtime32
 @ stub _gmtime32_s
 @ cdecl _gmtime64(ptr) msvcrt._gmtime64
index b502db18db76d57d452c0ebb59b67efdde62f4b7..fdb1757274e3d59728423820c96cacc32c614cd7 100644 (file)
@@ -166,8 +166,6 @@ void CDECL _local_unwind2(MSVCRT_EXCEPTION_FRAME* frame, int trylevel)
     msvcrt_local_unwind2( frame, trylevel, &frame->_ebp );
 }
 
-#endif  /* __i386__ */
-
 /*******************************************************************
  *             _global_unwind2 (MSVCRT.@)
  */
@@ -198,7 +196,6 @@ int CDECL _except_handler3(PEXCEPTION_RECORD rec,
                            MSVCRT_EXCEPTION_FRAME* frame,
                            PCONTEXT context, void* dispatcher)
 {
-#if defined(__GNUC__) && defined(__i386__)
   int retval, trylevel;
   EXCEPTION_POINTERS exceptPtrs;
   PSCOPETABLE pScopeTable;
@@ -258,29 +255,15 @@ int CDECL _except_handler3(PEXCEPTION_RECORD rec,
       trylevel = pScopeTable[trylevel].previousTryLevel;
     }
   }
-#else
-  FIXME("exception %x flags=%x at %p handler=%p %p %p stub\n",
-        rec->ExceptionCode, rec->ExceptionFlags, rec->ExceptionAddress,
-        frame->handler, context, dispatcher);
-#endif
   TRACE("reached TRYLEVEL_END, returning ExceptionContinueSearch\n");
   return ExceptionContinueSearch;
 }
 
-/*********************************************************************
- *             _abnormal_termination (MSVCRT.@)
- */
-int CDECL _abnormal_termination(void)
-{
-  FIXME("(void)stub\n");
-  return 0;
-}
 
 /*
  * setjmp/longjmp implementation
  */
 
-#ifdef __i386__
 #define MSVCRT_JMP_MAGIC 0x56433230 /* ID value for new jump structure */
 typedef void (__stdcall *MSVCRT_unwind_function)(const struct MSVCRT___JUMP_BUFFER *);
 
@@ -651,6 +634,15 @@ int CDECL _XcptFilter(NTSTATUS ex, PEXCEPTION_POINTERS ptr)
     return msvcrt_exception_filter(ptr);
 }
 
+/*********************************************************************
+ *             _abnormal_termination (MSVCRT.@)
+ */
+int CDECL _abnormal_termination(void)
+{
+  FIXME("(void)stub\n");
+  return 0;
+}
+
 /******************************************************************
  *             MSVCRT___uncaught_exception
  */
index 08b330fcd814474c8c8dfadd9ee8009dac891492..4bb19920052bd60bfeb1d3fec5f36e62a0735c68 100644 (file)
 @ extern _environ MSVCRT__environ
 @ cdecl _eof(long)
 @ cdecl _errno() MSVCRT__errno
-@ cdecl _except_handler2(ptr ptr ptr ptr)
-@ cdecl _except_handler3(ptr ptr ptr ptr)
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr)
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr)
 # stub _except_handler4_common
 @ varargs _execl(str str)
 @ varargs _execle(str str)
 # stub _getwch
 # stub _getwche
 @ cdecl _getws(ptr) MSVCRT__getws
-@ cdecl _global_unwind2(ptr)
+@ cdecl -i386 _global_unwind2(ptr)
 @ cdecl _gmtime32(ptr) MSVCRT__gmtime32
 # stub _gmtime32_s
 @ cdecl _gmtime64(ptr) MSVCRT__gmtime64
index 91e633c333856d0922369ed377335066fb9917be..92eb395cbdaecb4cc328f89aa2529faa177d5bc6 100644 (file)
 @ extern _environ msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ varargs _execlp(str str) msvcrt._execlp
 @ cdecl _getsystime(ptr) msvcrt._getsystime
 @ cdecl _getw(ptr) msvcrt._getw
 @ cdecl _getws(ptr) msvcrt._getws
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _heapadd(ptr long) msvcrt._heapadd
 @ cdecl _heapchk() msvcrt._heapchk
 @ cdecl _heapmin() msvcrt._heapmin
index fd2559a7a456bf58d9a51389f60d7160c106700c..6f2b6c243d2328fc0f20b6938c7599be0d49e9aa 100644 (file)
 @ extern _environ msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ varargs _execlp(str str) msvcrt._execlp
 @ cdecl _getsystime(ptr) msvcrt._getsystime
 @ cdecl _getw(ptr) msvcrt._getw
 @ cdecl _getws(ptr) msvcrt._getws
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _heapadd(ptr long) msvcrt._heapadd
 @ cdecl _heapchk() msvcrt._heapchk
 @ cdecl _heapmin() msvcrt._heapmin
index e65bec8d39baa1ca434bd59ccd21c8a6b999d14b..ec5b8fe21b78d56960b34a8642677995828c1393 100644 (file)
 @ extern _environ msvcrt._environ
 @ cdecl _eof(long) msvcrt._eof
 @ cdecl _errno() msvcrt._errno
-@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ varargs _execl(str str) msvcrt._execl
 @ varargs _execle(str str) msvcrt._execle
 @ varargs _execlp(str str) msvcrt._execlp
 @ cdecl _getsystime(ptr) msvcrt._getsystime
 @ cdecl _getw(ptr) msvcrt._getw
 @ cdecl _getws(ptr) msvcrt._getws
-@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl _heapadd (ptr long) msvcrt._heapadd
 @ cdecl _heapchk() msvcrt._heapchk
 @ cdecl _heapmin() msvcrt._heapmin
index 993de7708bca60517b2882021ecfb86c68515687..24b228ee530f261bbeff9207cd940834239ccd65 100644 (file)
 @ stub _aulldvrm
 @ stdcall -private -ret64 _aullrem(double double) ntdll._aullrem
 @ stub _aullshr
-@ cdecl -private _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
-@ cdecl -private _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
-@ cdecl -private _global_unwind2(ptr) msvcrt._global_unwind2
+@ cdecl -private -i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
+@ cdecl -private -i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
+@ cdecl -private -i386 _global_unwind2(ptr) msvcrt._global_unwind2
 @ cdecl -private _itoa(long ptr long) msvcrt._itoa
 @ cdecl -private _itow(long ptr long) msvcrt._itow
 @ cdecl -private _local_unwind2(ptr long) msvcrt._local_unwind2