On 11/05/15 13:52, Martin Storsjo wrote:
+int CDECL _seh_filter_dll(MSVCRT_ulong ex, PEXCEPTION_POINTERS ptr) +{
- TRACE("(%08x,%p)\n", ex, ptr);
- /* I assume ptr->ExceptionRecord->ExceptionCode is the same as ex */
- return msvcrt_exception_filter(ptr);
+}
This function should behave like __CppXcptFilter.
Thanks, Piotr
On Fri, 6 Nov 2015, Piotr Caban wrote:
On 11/05/15 13:52, Martin Storsjo wrote:
+int CDECL _seh_filter_dll(MSVCRT_ulong ex, PEXCEPTION_POINTERS ptr) +{
- TRACE("(%08x,%p)\n", ex, ptr);
- /* I assume ptr->ExceptionRecord->ExceptionCode is the same as ex */
- return msvcrt_exception_filter(ptr);
+}
This function should behave like __CppXcptFilter.
Hmm, ok, so the difference is that it should return immediately unless ex == CXX_EXCEPTION?
Anyway, since CXX_EXCEPTION only is defined in cppexcept.h (and except.c doesn't include it), I could move it to cpp.c or to except_{arm,i386,x86_64}.c - why is __CppXcptFilter defined (identically) in these files btw, and why do they have -arch=i386,x86_64,arm in the spec file - doesn't that amount to pretty much all current targets?
// Martin
On 11/06/15 21:59, Martin Storsjö wrote:
On Fri, 6 Nov 2015, Piotr Caban wrote:
On 11/05/15 13:52, Martin Storsjo wrote:
+int CDECL _seh_filter_dll(MSVCRT_ulong ex, PEXCEPTION_POINTERS ptr) +{
- TRACE("(%08x,%p)\n", ex, ptr);
- /* I assume ptr->ExceptionRecord->ExceptionCode is the same as
ex */
- return msvcrt_exception_filter(ptr);
+}
This function should behave like __CppXcptFilter.
Hmm, ok, so the difference is that it should return immediately unless ex == CXX_EXCEPTION?
Yes.
Anyway, since CXX_EXCEPTION only is defined in cppexcept.h (and except.c doesn't include it), I could move it to cpp.c or to except_{arm,i386,x86_64}.c - why is __CppXcptFilter defined (identically) in these files btw, and why do they have -arch=i386,x86_64,arm in the spec file - doesn't that amount to pretty much all current targets?
In theory you can build wine on other platforms. I don't know why it was done this way.
Instead of adding new functions you can use _XcptFilter and __CppXcptFilter in spec file.
Thanks, Piotr