https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e2d69ad98cc10402e8772…
commit e2d69ad98cc10402e87722d52e940ed53da48869
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Thu Nov 14 18:36:07 2024 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Tue Jan 28 22:50:04 2025 +0200
[CRT] Split MSVC C++ aliases from cpp.s to cpp_alias.s
---
sdk/lib/crt/except/amd64/cpp.s | 58 --------------
sdk/lib/crt/except/amd64/{cpp.s => cpp_alias.s} | 25 ------
sdk/lib/crt/except/arm/cpp.s | 52 ------------
sdk/lib/crt/except/arm/{cpp.s => cpp_alias.s} | 44 -----------
sdk/lib/crt/except/except.cmake | 9 ++-
sdk/lib/crt/except/i386/cpp.s | 79 ------------------
sdk/lib/crt/except/i386/{cpp.s => cpp_alias.s} | 101 ------------------------
7 files changed, 6 insertions(+), 362 deletions(-)
diff --git a/sdk/lib/crt/except/amd64/cpp.s b/sdk/lib/crt/except/amd64/cpp.s
index ad869b8d609..c4f472d65a1 100644
--- a/sdk/lib/crt/except/amd64/cpp.s
+++ b/sdk/lib/crt/except/amd64/cpp.s
@@ -28,62 +28,4 @@ DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@
DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@
DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@
-
-MACRO(DEFINE_ALIAS, alias, orig)
-EXTERN &orig:ABS
-ALIAS <&alias> = <&orig>
-ENDM
-
-DEFINE_ALIAS ??3@YAXPEAX@Z, operator_delete
-DEFINE_ALIAS ??_U@YAPEAX_K@Z, operator_new
-DEFINE_ALIAS ??_U@YAPEAX_KHPEBDH@Z, operator_new_dbg
-DEFINE_ALIAS ??_V@YAXPEAX@Z, operator_delete
-DEFINE_ALIAS ??2@YAPEAX_K@Z, operator_new
-DEFINE_ALIAS ??2@YAPEAX_KHPEBDH@Z, operator_new_dbg
-DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, _query_new_handler
-DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, _set_new_handler
-DEFINE_ALIAS ?set_new_handler@@YAP6AXXZP6AXXZ@Z, set_new_handler
-DEFINE_ALIAS ?_query_new_mode@@YAHXZ, _query_new_mode
-DEFINE_ALIAS ?_set_new_mode@@YAHH@Z, _set_new_mode
-DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z,
_set_se_translator
-DEFINE_ALIAS ?set_terminate@@YAP6AXXZP6AXXZ@Z, set_terminate
-DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, set_unexpected
-DEFINE_ALIAS ?terminate@@YAXXZ, terminate
-DEFINE_ALIAS ?unexpected@@YAXXZ, unexpected
-DEFINE_ALIAS ?what@exception@@UEBAPEBDXZ, exception_what
-DEFINE_ALIAS ??0exception@@QEAA@AEBQEBDH@Z, exception_ctor_noalloc
-DEFINE_ALIAS ??0exception@@QEAA@AEBV0@@Z, exception_copy_ctor
-DEFINE_ALIAS ??0exception@@QEAA@XZ, exception_default_ctor
-DEFINE_ALIAS ??1exception@@UEAA@XZ, exception_dtor
-DEFINE_ALIAS ??4exception@@QEAAAEAV0@AEBV0@@Z, exception_opequals
-DEFINE_ALIAS ??1type_info@@UEAA@XZ, type_info_dtor
-DEFINE_ALIAS ??0__non_rtti_object@@QEAA@AEBV0@@Z, __non_rtti_object_copy_ctor
-DEFINE_ALIAS ??0__non_rtti_object@@QEAA@PEBD@Z, __non_rtti_object_ctor
-DEFINE_ALIAS ??0bad_cast@@AAE@PBQBD@Z, bad_cast_ctor
-DEFINE_ALIAS ??0bad_cast@@AEAA@PEBQEBD@Z, bad_cast_ctor
-DEFINE_ALIAS ??0bad_cast@@QAE@ABQBD@Z, bad_cast_ctor
-DEFINE_ALIAS ??0bad_cast@@QEAA@AEBQEBD@Z, bad_cast_ctor
-DEFINE_ALIAS ??0bad_cast@@QEAA@AEBV0@@Z, bad_cast_copy_ctor
-DEFINE_ALIAS ??0bad_cast@@QEAA@PEBD@Z, bad_cast_ctor_charptr
-DEFINE_ALIAS ??0bad_typeid@@QEAA@AEBV0@@Z, bad_typeid_copy_ctor
-DEFINE_ALIAS ??0bad_typeid@@QEAA@PEBD@Z, bad_typeid_ctor
-DEFINE_ALIAS ??0exception@@QEAA@AEBQEBD@Z, exception_ctor
-DEFINE_ALIAS ??1__non_rtti_object@@UEAA@XZ, __non_rtti_object_dtor
-DEFINE_ALIAS ??1bad_cast@@UEAA@XZ, bad_cast_dtor
-DEFINE_ALIAS ??1bad_typeid@@UEAA@XZ, bad_typeid_dtor
-DEFINE_ALIAS ??4bad_cast@@QEAAAEAV0@AEBV0@@Z, bad_cast_opequals
-DEFINE_ALIAS ??4bad_typeid@@QEAAAEAV0@AEBV0@@Z, bad_typeid_opequals
-DEFINE_ALIAS ??8type_info@@QEBAHAEBV0@@Z, type_info_opequals_equals
-DEFINE_ALIAS ??9type_info@@QEBAHAEBV0@@Z, type_info_opnot_equals
-DEFINE_ALIAS ??_Fbad_cast@@QEAAXXZ, bad_cast_default_ctor
-DEFINE_ALIAS ??_Fbad_typeid@@QEAAXXZ, bad_typeid_default_ctor
-DEFINE_ALIAS ?_query_new_handler@@YAP6AH_K@ZXZ, _query_new_handler
-DEFINE_ALIAS ?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z, _set_new_handler
-DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z,
_set_se_translator
-DEFINE_ALIAS ?before@type_info@@QEBAHAEBV1@@Z, type_info_before
-DEFINE_ALIAS ?name@type_info@@QEBAPEBDXZ, type_info_name
-DEFINE_ALIAS ?raw_name@type_info@@QEBAPEBDXZ, type_info_raw_name
-DEFINE_ALIAS ??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z, __non_rtti_object_opequals
-
END
-
diff --git a/sdk/lib/crt/except/amd64/cpp.s b/sdk/lib/crt/except/amd64/cpp_alias.s
similarity index 82%
copy from sdk/lib/crt/except/amd64/cpp.s
copy to sdk/lib/crt/except/amd64/cpp_alias.s
index ad869b8d609..a7da20ad93c 100644
--- a/sdk/lib/crt/except/amd64/cpp.s
+++ b/sdk/lib/crt/except/amd64/cpp_alias.s
@@ -5,30 +5,6 @@
.code64
.align 4
-MACRO(START_VTABLE, shortname, cxxname)
-EXTERN shortname&_rtti:PROC
-EXTERN &shortname&_vector_dtor:PROC
- .quad shortname&_rtti
-PUBLIC &shortname&_vtable
-&shortname&_vtable:
-PUBLIC &cxxname
-&cxxname:
- .quad &shortname&_vector_dtor
-ENDM
-
-MACRO(DEFINE_EXCEPTION_VTABLE, shortname, cxxname)
- START_VTABLE shortname, cxxname
- EXTERN exception_what:ABS
- .quad exception_what
-ENDM
-
-START_VTABLE type_info, __dummyname_type_info
-DEFINE_EXCEPTION_VTABLE exception, ??_7exception@@6B@
-DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@
-DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@
-DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@
-
-
MACRO(DEFINE_ALIAS, alias, orig)
EXTERN &orig:ABS
ALIAS <&alias> = <&orig>
@@ -86,4 +62,3 @@ DEFINE_ALIAS ?raw_name@type_info@@QEBAPEBDXZ, type_info_raw_name
DEFINE_ALIAS ??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z, __non_rtti_object_opequals
END
-
diff --git a/sdk/lib/crt/except/arm/cpp.s b/sdk/lib/crt/except/arm/cpp.s
index 5a45e587189..ddc1498896b 100644
--- a/sdk/lib/crt/except/arm/cpp.s
+++ b/sdk/lib/crt/except/arm/cpp.s
@@ -13,58 +13,6 @@
TEXTAREA
- MACRO
- DEFINE_ALIAS $FuncName, $Target
- LCLS _FuncName
- LCLS _Target
-_FuncName SETS "|$FuncName|"
-_Target SETS "|$Target|"
- IMPORT $_FuncName, WEAK $_Target
- MEND
-
- DEFINE_ALIAS ??0__non_rtti_object@@QAA@ABV0@@Z, __non_rtti_object_copy_ctor
- DEFINE_ALIAS ??0__non_rtti_object@@QAA@PBD@Z, __non_rtti_object_ctor
- DEFINE_ALIAS ??0bad_cast@@AAA@PBQBD@Z, bad_cast_ctor // private: __cdecl
bad_cast::bad_cast(char const * const *)
- DEFINE_ALIAS ??0bad_cast@@QAA@ABV0@@Z, bad_cast_copy_ctor // public: __cdecl
bad_cast::bad_cast(class bad_cast const &)
- DEFINE_ALIAS ??0bad_cast@@QAA@PBD@Z, bad_cast_ctor // public: __cdecl
bad_cast::bad_cast(char const *)
- DEFINE_ALIAS ??0bad_typeid@@QAA@ABV0@@Z, bad_typeid_copy_ctor // public: __cdecl
bad_typeid::bad_typeid(class bad_typeid const &)
- DEFINE_ALIAS ??0bad_typeid@@QAA@PBD@Z, bad_typeid_ctor // public: __cdecl
bad_typeid::bad_typeid(char const *)
- DEFINE_ALIAS ??0exception@@QAA@ABQBD@Z, exception_ctor // public: __cdecl
exception::exception(char const * const &)
- DEFINE_ALIAS ??0exception@@QAA@ABQBDH@Z, exception_ctor_noalloc // public: __cdecl
exception::exception(char const * const &,int)
- DEFINE_ALIAS ??0exception@@QAA@ABV0@@Z, exception_copy_ctor // public: __cdecl
exception::exception(class exception const &)
- DEFINE_ALIAS ??0exception@@QAA@XZ, exception_default_ctor // public: __cdecl
exception::exception(void)
- DEFINE_ALIAS ??1__non_rtti_object@@UAA@XZ, __non_rtti_object_dtor // public: virtual
__cdecl __non_rtti_object::~__non_rtti_object(void)
- DEFINE_ALIAS ??1bad_cast@@UAA@XZ, bad_cast_dtor // public: virtual __cdecl
bad_cast::~bad_cast(void)
- DEFINE_ALIAS ??1bad_typeid@@UAA@XZ, bad_typeid_dtor // public: virtual __cdecl
bad_typeid::~bad_typeid(void)
- DEFINE_ALIAS ??1exception@@UAA@XZ, exception_dtor // public: virtual __cdecl
exception::~exception(void)
- DEFINE_ALIAS ??1type_info@@UAA@XZ, type_info_dtor // public: virtual __cdecl
type_info::~type_info(void)
- DEFINE_ALIAS ??2@YAPAXI@Z, operator_new // void * __cdecl operator new(unsigned int)
- DEFINE_ALIAS ??2@YAPAXIHPBDH@Z, operator_new_dbg // void * __cdecl operator
new(unsigned int,int,char const *,int)
- DEFINE_ALIAS ??3@YAXPAX@Z, operator_delete // void __cdecl operator delete(void *)
- DEFINE_ALIAS ??4__non_rtti_object@@QAAAAV0@ABV0@@Z, __non_rtti_object_opequals //
public: class __non_rtti_object & __cdecl __non_rtti_object::operator=(class
__non_rtti_object const &)
- DEFINE_ALIAS ??4bad_cast@@QAAAAV0@ABV0@@Z, bad_cast_opequals // public: class
bad_cast & __cdecl bad_cast::operator=(class bad_cast const &)
- DEFINE_ALIAS ??4bad_typeid@@QAAAAV0@ABV0@@Z, bad_typeid_opequals // public: class
bad_typeid & __cdecl bad_typeid::operator=(class bad_typeid const &)
- DEFINE_ALIAS ??4exception@@QAAAAV0@ABV0@@Z, exception_opequals // public: class
exception & __cdecl exception::operator=(class exception const &)
- DEFINE_ALIAS ??8type_info@@QBAHABV0@@Z, type_info_opequals_equals // public: int
__cdecl type_info::operator==(class type_info const &)const
- DEFINE_ALIAS ??9type_info@@QBAHABV0@@Z, type_info_opnot_equals // public: int __cdecl
type_info::operator!=(class type_info const &)const
- DEFINE_ALIAS ??_Fbad_cast@@QAAXXZ, bad_cast_default_ctor // public: void __cdecl
bad_cast::`default constructor closure'(void)
- DEFINE_ALIAS ??_Fbad_typeid@@QAAXXZ, bad_typeid_default_ctor // public: void __cdecl
bad_typeid::`default constructor closure'(void)
- DEFINE_ALIAS ??_U@YAPAXI@Z, operator_new // void * __cdecl operator new[](unsigned
int)
- DEFINE_ALIAS ??_U@YAPAXIHPBDH@Z, operator_new_dbg // void * __cdecl operator
new[](unsigned int,int,char const *,int)
- DEFINE_ALIAS ??_V@YAXPAX@Z, operator_delete // void __cdecl operator delete[](void
*)
- DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, _query_new_handler // int
(__cdecl*__cdecl _query_new_handler(void))(unsigned int)
- DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, _set_new_handler // int
(__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
- DEFINE_ALIAS ?_set_new_mode@@YAHH@Z, _set_new_mode // int __cdecl _set_new_mode(int)
- DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z,
_set_se_translator // void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned
int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
- DEFINE_ALIAS ?before@type_info@@QBAHABV1@@Z, type_info_before // public: int __cdecl
type_info::before(class type_info const &)const
- DEFINE_ALIAS ?name@type_info@@QBAPBDXZ, type_info_name // public: char const *
__cdecl type_info::name(void)const
- DEFINE_ALIAS ?raw_name@type_info@@QBAPBDXZ, type_info_raw_name // public: char const
* __cdecl type_info::raw_name(void)const
- DEFINE_ALIAS ?set_terminate@@YAP6AXXZP6AXXZ@Z, set_terminate // void (__cdecl*__cdecl
set_terminate(void (__cdecl*)(void)))(void)
- DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, set_unexpected // void
(__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
- DEFINE_ALIAS ?terminate@@YAXXZ, terminate // void __cdecl terminate(void)
- DEFINE_ALIAS ?unexpected@@YAXXZ, unexpected // void __cdecl unexpected(void)
- DEFINE_ALIAS ?what@exception@@UBAPBDXZ, exception_what // public: virtual char const
* __cdecl exception::what(void)const
-
#undef _MSVCRT_
MACRO
START_VTABLE $ShortName, $CxxName
diff --git a/sdk/lib/crt/except/arm/cpp.s b/sdk/lib/crt/except/arm/cpp_alias.s
similarity index 83%
copy from sdk/lib/crt/except/arm/cpp.s
copy to sdk/lib/crt/except/arm/cpp_alias.s
index 5a45e587189..7b6ae45683e 100644
--- a/sdk/lib/crt/except/arm/cpp.s
+++ b/sdk/lib/crt/except/arm/cpp_alias.s
@@ -65,49 +65,5 @@ _Target SETS "|$Target|"
DEFINE_ALIAS ?unexpected@@YAXXZ, unexpected // void __cdecl unexpected(void)
DEFINE_ALIAS ?what@exception@@UBAPBDXZ, exception_what // public: virtual char const
* __cdecl exception::what(void)const
- #undef _MSVCRT_
- MACRO
- START_VTABLE $ShortName, $CxxName
- LCLS RttiName
- LCLS VtblName
- LCLS DtorName
- LCLS CxxLabel
-CxxLabel SETS "|$CxxName|"
-RttiName SETS "|$ShortName._rtti|"
-VtblName SETS "|":CC:"$ShortName._vtable|"
-DtorName SETS "|":CC:"$ShortName._vector_dtor|"
- EXTERN $RttiName
- DCD $RttiName
- EXPORT $VtblName
-$VtblName
- EXPORT $CxxLabel
-$CxxLabel
- EXTERN $DtorName
- DCD $DtorName
- MEND
-
- MACRO
- DEFINE_EXCEPTION_VTABLE $ShortName, $CxxName
- START_VTABLE $ShortName, $CxxName
- EXTERN exception_what
- DCD exception_what
- MEND
-
- START_VTABLE type_info, __dummyname_type_info
- DEFINE_EXCEPTION_VTABLE exception, ??_7exception@@6B@
- DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@
- DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@
- DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@
-
- GBLS FuncName
-
- //EXTERN operator_delete
- //__ExportName ??3@YAXPAX@Z
- //b operator_delete
-
- //EXTERN operator_new
- //__ExportName ??_U@YAPAXI@Z
- //b operator_new
-
END
/* EOF */
diff --git a/sdk/lib/crt/except/except.cmake b/sdk/lib/crt/except/except.cmake
index 656853c097c..add149de4ec 100644
--- a/sdk/lib/crt/except/except.cmake
+++ b/sdk/lib/crt/except/except.cmake
@@ -13,7 +13,8 @@ if(ARCH STREQUAL "i386")
)
if(MSVC)
list(APPEND CRT_EXCEPT_ASM_SOURCE
- except/i386/cpp.s)
+ except/i386/cpp.s
+ except/i386/cpp_alias.s)
endif()
elseif(ARCH STREQUAL "amd64")
list(APPEND LIBCNTPR_EXCEPT_SOURCE
@@ -28,7 +29,8 @@ elseif(ARCH STREQUAL "amd64")
)
if(MSVC)
list(APPEND CRT_EXCEPT_ASM_SOURCE
- except/amd64/cpp.s)
+ except/amd64/cpp.s
+ except/amd64/cpp_alias.s)
endif()
elseif(ARCH STREQUAL "arm")
list(APPEND LIBCNTPR_EXCEPT_SOURCE
@@ -53,7 +55,8 @@ elseif(ARCH STREQUAL "arm")
)
if(MSVC)
list(APPEND CRT_EXCEPT_ASM_SOURCE
- except/arm/cpp.s)
+ except/arm/cpp.s
+ except/arm/cpp_alias.s)
endif()
endif()
diff --git a/sdk/lib/crt/except/i386/cpp.s b/sdk/lib/crt/except/i386/cpp.s
index 99e2748edd6..7c524938dd4 100644
--- a/sdk/lib/crt/except/i386/cpp.s
+++ b/sdk/lib/crt/except/i386/cpp.s
@@ -7,55 +7,6 @@
EXTERN _cxx_frame_handler:PROC
-MACRO(DEFINE_THISCALL_ALIAS, cxxname, target)
-#ifdef _USE_ML
- EXTERN ___thiscall&target:PROC
- ALIAS <&cxxname> = <___thiscall&target>
-#else
- PUBLIC cxxname
- .weakref &cxxname, &target
-#endif
-ENDM
-
-DEFINE_THISCALL_ALIAS ??0exception@@QAE@ABQBD@Z, _exception_ctor
-DEFINE_THISCALL_ALIAS ??0exception@@QAE@ABQBDH@Z, _exception_ctor_noalloc
-DEFINE_THISCALL_ALIAS ??0exception@@QAE@ABV0@@Z, _exception_copy_ctor
-DEFINE_THISCALL_ALIAS ??0exception@@QAE@XZ, _exception_default_ctor
-DEFINE_THISCALL_ALIAS ??1exception@@UAE@XZ, _exception_dtor
-DEFINE_THISCALL_ALIAS ??4exception@@QAEAAV0@ABV0@@Z, _exception_opequals
-DEFINE_THISCALL_ALIAS ??_Eexception@@UAEPAXI@Z, _exception_vector_dtor
-DEFINE_THISCALL_ALIAS ??_Gexception@@UAEPAXI@Z, _exception_scalar_dtor
-DEFINE_THISCALL_ALIAS ?what@exception@@UBEPBDXZ, _exception_what
-DEFINE_THISCALL_ALIAS ??0bad_typeid@@QAE@ABV0@@Z, _bad_typeid_copy_ctor
-DEFINE_THISCALL_ALIAS ??0bad_typeid@@QAE@PBD@Z, _bad_typeid_ctor
-DEFINE_THISCALL_ALIAS ??_Fbad_typeid@@QAEXXZ, _bad_typeid_default_ctor
-DEFINE_THISCALL_ALIAS ??1bad_typeid@@UAE@XZ, _bad_typeid_dtor
-DEFINE_THISCALL_ALIAS ??4bad_typeid@@QAEAAV0@ABV0@@Z, _bad_typeid_opequals
-DEFINE_THISCALL_ALIAS ??_Ebad_typeid@@UAEPAXI@Z, _bad_typeid_vector_dtor
-DEFINE_THISCALL_ALIAS ??_Gbad_typeid@@UAEPAXI@Z, _bad_typeid_scalar_dtor
-DEFINE_THISCALL_ALIAS ??0__non_rtti_object@@QAE@ABV0@@Z, ___non_rtti_object_copy_ctor
-DEFINE_THISCALL_ALIAS ??0__non_rtti_object@@QAE@PBD@Z, ___non_rtti_object_ctor
-DEFINE_THISCALL_ALIAS ??1__non_rtti_object@@UAE@XZ, ___non_rtti_object_dtor
-DEFINE_THISCALL_ALIAS ??4__non_rtti_object@@QAEAAV0@ABV0@@Z, ___non_rtti_object_opequals
-DEFINE_THISCALL_ALIAS ??_E__non_rtti_object@@UAEPAXI@Z, ___non_rtti_object_vector_dtor
-DEFINE_THISCALL_ALIAS ??_G__non_rtti_object@@UAEPAXI@Z, ___non_rtti_object_scalar_dtor
-DEFINE_THISCALL_ALIAS ??0bad_cast@@AAE@PBQBD@Z, _bad_cast_ctor
-DEFINE_THISCALL_ALIAS ??0bad_cast@@QAE@ABQBD@Z, _bad_cast_ctor
-DEFINE_THISCALL_ALIAS ??0bad_cast@@QAE@ABV0@@Z, _bad_cast_copy_ctor
-DEFINE_THISCALL_ALIAS ??0bad_cast@@QAE@PBD@Z, _bad_cast_ctor_charptr
-DEFINE_THISCALL_ALIAS ??_Fbad_cast@@QAEXXZ, _bad_cast_default_ctor
-DEFINE_THISCALL_ALIAS ??1bad_cast@@UAE@XZ, _bad_cast_dtor
-DEFINE_THISCALL_ALIAS ??4bad_cast@@QAEAAV0@ABV0@@Z, _bad_cast_opequals
-DEFINE_THISCALL_ALIAS ??_Ebad_cast@@UAEPAXI@Z, _bad_cast_vector_dtor
-DEFINE_THISCALL_ALIAS ??_Gbad_cast@@UAEPAXI@Z, _bad_cast_scalar_dtor
-DEFINE_THISCALL_ALIAS ??8type_info@@QBEHABV0@@Z, _type_info_opequals_equals
-DEFINE_THISCALL_ALIAS ??9type_info@@QBEHABV0@@Z, _type_info_opnot_equals
-DEFINE_THISCALL_ALIAS ?before@type_info@@QBEHABV1@@Z, _type_info_before
-DEFINE_THISCALL_ALIAS ??1type_info@@UAE@XZ, _type_info_dtor
-DEFINE_THISCALL_ALIAS ?name@type_info@@QBEPBDXZ, _type_info_name
-DEFINE_THISCALL_ALIAS ?raw_name@type_info@@QBEPBDXZ, _type_info_raw_name
-
-
#undef _MSVCRT_
MACRO(START_VTABLE, shortname, cxxname)
EXTERN _&shortname&_rtti:PROC
@@ -80,36 +31,6 @@ DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@
DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@
DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@
-EXTERN _operator_delete:PROC
-PUBLIC ??3@YAXPAX@Z
-??3@YAXPAX@Z:
- jmp _operator_delete
-
-EXTERN _operator_new:PROC
-PUBLIC ??_U@YAPAXI@Z
-??_U@YAPAXI@Z:
- jmp _operator_new
-
-
-MACRO(DEFINE_ALIAS, alias, orig, type)
-EXTERN &orig:&type
-ALIAS <&alias> = <&orig>
-ENDM
-
-DEFINE_ALIAS ??_V@YAXPAX@Z, _operator_delete, PROC
-DEFINE_ALIAS ??2@YAPAXI@Z, _operator_new, PROC
-DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, __query_new_handler, PROC
-DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, __set_new_handler, PROC
-DEFINE_ALIAS ?set_new_handler@@YAP6AXXZP6AXXZ@Z, _set_new_handler, PROC
-DEFINE_ALIAS ?_query_new_mode@@YAHXZ, __query_new_mode, PROC
-DEFINE_ALIAS ?_set_new_mode@@YAHH@Z, __set_new_mode, PROC
-DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z,
__set_se_translator, PROC
-DEFINE_ALIAS ?set_terminate@@YAP6AXXZP6AXXZ@Z, _set_terminate, PROC
-DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, _set_unexpected, PROC
-DEFINE_ALIAS ?terminate@@YAXXZ, _terminate, PROC
-DEFINE_ALIAS ?unexpected@@YAXXZ, _unexpected, PROC
-
-
// void call_copy_ctor( void *func, void *this, void *src, int has_vbase );
PUBLIC _call_copy_ctor
_call_copy_ctor:
diff --git a/sdk/lib/crt/except/i386/cpp.s b/sdk/lib/crt/except/i386/cpp_alias.s
similarity index 63%
copy from sdk/lib/crt/except/i386/cpp.s
copy to sdk/lib/crt/except/i386/cpp_alias.s
index 99e2748edd6..384a3ed0f52 100644
--- a/sdk/lib/crt/except/i386/cpp.s
+++ b/sdk/lib/crt/except/i386/cpp_alias.s
@@ -5,8 +5,6 @@
.code
.align 4
-EXTERN _cxx_frame_handler:PROC
-
MACRO(DEFINE_THISCALL_ALIAS, cxxname, target)
#ifdef _USE_ML
EXTERN ___thiscall&target:PROC
@@ -55,31 +53,6 @@ DEFINE_THISCALL_ALIAS ??1type_info@@UAE@XZ, _type_info_dtor
DEFINE_THISCALL_ALIAS ?name@type_info@@QBEPBDXZ, _type_info_name
DEFINE_THISCALL_ALIAS ?raw_name@type_info@@QBEPBDXZ, _type_info_raw_name
-
-#undef _MSVCRT_
-MACRO(START_VTABLE, shortname, cxxname)
-EXTERN _&shortname&_rtti:PROC
-EXTERN ___thiscall_&shortname&_vector_dtor:PROC
- .long _&shortname&_rtti
-PUBLIC _&shortname&_vtable
-_&shortname&_vtable:
-PUBLIC &cxxname
-&cxxname:
- .long ___thiscall_&shortname&_vector_dtor
-ENDM
-
-MACRO(DEFINE_EXCEPTION_VTABLE, shortname, cxxname)
- START_VTABLE shortname, cxxname
- EXTERN ___thiscall_exception_what:PROC
- .long ___thiscall_exception_what
-ENDM
-
-START_VTABLE type_info, __dummyname_type_info
-DEFINE_EXCEPTION_VTABLE exception, ??_7exception@@6B@
-DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@
-DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@
-DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@
-
EXTERN _operator_delete:PROC
PUBLIC ??3@YAXPAX@Z
??3@YAXPAX@Z:
@@ -90,7 +63,6 @@ PUBLIC ??_U@YAPAXI@Z
??_U@YAPAXI@Z:
jmp _operator_new
-
MACRO(DEFINE_ALIAS, alias, orig, type)
EXTERN &orig:&type
ALIAS <&alias> = <&orig>
@@ -109,78 +81,5 @@ DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, _set_unexpected, PROC
DEFINE_ALIAS ?terminate@@YAXXZ, _terminate, PROC
DEFINE_ALIAS ?unexpected@@YAXXZ, _unexpected, PROC
-
-// void call_copy_ctor( void *func, void *this, void *src, int has_vbase );
-PUBLIC _call_copy_ctor
-_call_copy_ctor:
- push ebp
- CFI_ADJUST_CFA_OFFSET 4
- CFI_REL_OFFSET ebp, 0
- mov ebp, esp
- CFI_DEF_CFA_REGISTER ebp
- push 1
- mov ecx, [ebp + 12]
- push dword ptr [ebp + 16]
- call dword ptr [ebp + 8]
- leave
- CFI_DEF_CFA esp, 4
- CFI_SAME_VALUE ebp
- ret
-
-// void DECLSPEC_NORETURN continue_after_catch( cxx_exception_frame* frame, void *addr
);
-PUBLIC _continue_after_catch
-_continue_after_catch:
- mov edx, [esp + 4]
- mov eax, [esp + 8]
- mov esp, [edx - 4]
- lea ebp, [edx + 12]
- jmp eax
-
-// void DECLSPEC_NORETURN call_finally_block( void *code_block, void *base_ptr );
-PUBLIC _call_finally_block
-_call_finally_block:
- mov ebp, [esp +8]
- jmp dword ptr [esp + 4]
-
-// int call_filter( int (*func)(PEXCEPTION_POINTERS), void *arg, void *ebp );
-PUBLIC _call_filter
-_call_filter:
- push ebp
- push [esp + 12]
- mov ebp, [esp + 20]
- call dword ptr [esp + 12]
- pop ebp
- pop ebp
- ret
-
-// void *call_handler( void * (*func)(void), void *ebp );
-PUBLIC _call_handler
-_call_handler:
- push ebp
- push ebx
- push esi
- push edi
- mov ebp, [esp + 24]
- call dword ptr [esp + 20]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-
-PUBLIC ___CxxFrameHandler
-___CxxFrameHandler:
- push 0
- push 0
- push eax
- push[esp + 28]
- push[esp + 28]
- push[esp + 28]
- push[esp + 28]
- call _cxx_frame_handler
- add esp, 28
- ret
-
END