[FRAMEDYN] Compile only for x86

[KERNEL32] Fix InterlockedExchangePointer usage
[MSVCRT] Add some x64 c++ stubs

svn path=/trunk/; revision=60143
This commit is contained in:
Timo Kreuzer 2013-09-15 17:50:38 +00:00
parent 6ecfff267a
commit eba3d08e1f
3 changed files with 13 additions and 4 deletions

View file

@ -40,7 +40,9 @@ add_subdirectory(dnsapi)
add_subdirectory(dwmapi)
add_subdirectory(faultrep)
add_subdirectory(fmifs)
if(ARCH STREQUAL "i386")
add_subdirectory(framedyn)
endif()
add_subdirectory(fusion)
add_subdirectory(gdiplus)
add_subdirectory(getuname)

View file

@ -436,7 +436,7 @@ SetUnhandledExceptionFilter(IN LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionF
PVOID EncodedPointer, EncodedOldPointer;
EncodedPointer = RtlEncodePointer(lpTopLevelExceptionFilter);
EncodedOldPointer = InterlockedExchangePointer(&GlobalTopLevelExceptionFilter,
EncodedOldPointer = InterlockedExchangePointer((PVOID*)&GlobalTopLevelExceptionFilter,
EncodedPointer);
return RtlDecodePointer(EncodedOldPointer);
}

View file

@ -10,14 +10,20 @@
@ cdecl -i386 -norelay ??0bad_typeid@@QAE@ABV0@@Z(ptr) __thiscall_MSVCRT_bad_typeid_copy_ctor
@ cdecl -i386 -norelay ??0bad_typeid@@QAE@PBD@Z(ptr) __thiscall_MSVCRT_bad_typeid_ctor
@ cdecl -i386 -norelay ??0exception@@QAE@ABQBD@Z(ptr) __thiscall_MSVCRT_exception_ctor
@ cdecl -arch=x86_64 -stub -norelay ??0exception@@QEAA@AEBQEBD@Z(ptr)
@ cdecl -i386 -norelay ??0exception@@QAE@ABQBDH@Z(ptr long) __thiscall_MSVCRT_exception_ctor_noalloc
@ cdecl -arch=x86_64 -stub -norelay ??0exception@@QEAA@AEBQEBDH@Z(ptr long)
@ cdecl -i386 -norelay ??0exception@@QAE@ABV0@@Z(ptr) __thiscall_MSVCRT_exception_copy_ctor
@ cdecl -arch=x86_64 -stub -norelay ??0exception@@QEAA@AEBV0@@Z(ptr)
@ cdecl -i386 -norelay ??0exception@@QAE@XZ() __thiscall_MSVCRT_exception_default_ctor
@ cdecl -arch=x86_64 -stub -norelay ??0exception@@QEAA@XZ()
@ cdecl -i386 -norelay ??1__non_rtti_object@@UAE@XZ() __thiscall_MSVCRT___non_rtti_object_dtor
@ cdecl -i386 -norelay ??1bad_cast@@UAE@XZ() __thiscall_MSVCRT_bad_cast_dtor
@ cdecl -i386 -norelay ??1bad_typeid@@UAE@XZ() __thiscall_MSVCRT_bad_typeid_dtor
@ cdecl -i386 -norelay ??1exception@@UAE@XZ() __thiscall_MSVCRT_exception_dtor
@ cdecl -arch=x86_64 -stub -norelay ??1exception@@UEAA@XZ() __thiscall_MSVCRT_exception_dtor
@ cdecl -i386 -norelay ??1type_info@@UAE@XZ() __thiscall_MSVCRT_type_info_dtor
@ cdecl -arch=x86_64 -stub ??1type_info@@UEAA@XZ() __thiscall_MSVCRT_type_info_dtor
@ cdecl -arch=win32 ??2@YAPAXI@Z(long) MSVCRT_operator_new
@ cdecl -arch=win64 ??2@YAPEAX_K@Z(double) MSVCRT_operator_new
# @ cdecl ??2@YAPAXIHPBDH@Z(long long str long) MSVCRT_operator_new_dbg
@ -62,6 +68,7 @@
@ cdecl ?terminate@@YAXXZ() MSVCRT_terminate
@ cdecl ?unexpected@@YAXXZ() MSVCRT_unexpected
@ cdecl -i386 -norelay ?what@exception@@UBEPBDXZ() __thiscall_MSVCRT_what_exception
@ cdecl -arch=x86_64 -stub -norelay ?what@exception@@UEBAPEBDXZ() __thiscall_MSVCRT_what_exception
@ cdecl -arch=i386 _CIacos()
@ cdecl -arch=i386 _CIasin()
@ cdecl -arch=i386 _CIatan()
@ -117,9 +124,9 @@
# stub __CxxCallUnwindVecDtor
@ cdecl __CxxDetectRethrow(ptr)
# stub __CxxExceptionFilter
@ cdecl -i386 -norelay __CxxFrameHandler(ptr ptr ptr ptr)
@ cdecl -i386 -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
@ cdecl -i386 -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler
@ cdecl -arch=i386,x86_64 -norelay __CxxFrameHandler(ptr ptr ptr ptr)
@ cdecl -arch=i386,x86_64 -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
@ cdecl -arch=i386,x86_64 -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler
@ stdcall -arch=x86_64 __C_specific_handler(ptr long ptr ptr)
@ stdcall -i386 __CxxLongjmpUnwind(ptr)
@ cdecl __CxxQueryExceptionSize()