1 2 3#include <asm.inc> 4 5.code64 6.align 4 7 8MACRO(START_VTABLE, shortname, cxxname) 9EXTERN shortname&_rtti:PROC 10EXTERN MSVCRT_&shortname&_vector_dtor:PROC 11 .quad shortname&_rtti 12PUBLIC MSVCRT_&shortname&_vtable 13MSVCRT_&shortname&_vtable: 14PUBLIC &cxxname 15&cxxname: 16 .quad MSVCRT_&shortname&_vector_dtor 17ENDM 18 19MACRO(DEFINE_EXCEPTION_VTABLE, shortname, cxxname) 20 START_VTABLE shortname, cxxname 21 EXTERN MSVCRT_what_exception:ABS 22 .quad MSVCRT_what_exception 23ENDM 24 25START_VTABLE type_info, __dummyname_type_info 26DEFINE_EXCEPTION_VTABLE exception, ??_7exception@@6B@ 27DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@ 28DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@ 29DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@ 30 31 32MACRO(DEFINE_ALIAS, alias, orig) 33EXTERN &orig:ABS 34ALIAS <&alias> = <&orig> 35ENDM 36 37DEFINE_ALIAS ??3@YAXPEAX@Z, MSVCRT_operator_delete 38DEFINE_ALIAS ??_U@YAPEAX_K@Z, MSVCRT_operator_new 39DEFINE_ALIAS ??_U@YAPEAX_KHPEBDH@Z, MSVCRT_operator_new_dbg 40DEFINE_ALIAS ??_V@YAXPEAX@Z, MSVCRT_operator_delete 41DEFINE_ALIAS ??2@YAPEAX_K@Z, MSVCRT_operator_new 42DEFINE_ALIAS ??2@YAPEAX_KHPEBDH@Z, MSVCRT_operator_new_dbg 43DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, MSVCRT__query_new_handler 44DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, MSVCRT__set_new_handler 45DEFINE_ALIAS ?set_new_handler@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_new_handler 46DEFINE_ALIAS ?_query_new_mode@@YAHXZ, MSVCRT__query_new_mode 47DEFINE_ALIAS ?_set_new_mode@@YAHH@Z, MSVCRT__set_new_mode 48DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, MSVCRT__set_se_translator 49DEFINE_ALIAS ?set_terminate@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_terminate 50DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_unexpected 51DEFINE_ALIAS ?terminate@@YAXXZ, MSVCRT_terminate 52DEFINE_ALIAS ?unexpected@@YAXXZ, MSVCRT_unexpected 53DEFINE_ALIAS ?what@exception@@UEBAPEBDXZ, MSVCRT_what_exception 54DEFINE_ALIAS ??0exception@@QEAA@AEBQEBDH@Z, MSVCRT_exception_ctor_noalloc 55DEFINE_ALIAS ??0exception@@QEAA@AEBV0@@Z, MSVCRT_exception_copy_ctor 56DEFINE_ALIAS ??0exception@@QEAA@XZ, MSVCRT_exception_default_ctor 57DEFINE_ALIAS ??1exception@@UEAA@XZ, MSVCRT_exception_dtor 58DEFINE_ALIAS ??4exception@@QEAAAEAV0@AEBV0@@Z, MSVCRT_exception_opequals 59DEFINE_ALIAS ??1type_info@@UEAA@XZ, MSVCRT_type_info_dtor 60DEFINE_ALIAS ??0__non_rtti_object@@QEAA@AEBV0@@Z, MSVCRT___non_rtti_object_copy_ctor 61DEFINE_ALIAS ??0__non_rtti_object@@QEAA@PEBD@Z, MSVCRT___non_rtti_object_ctor 62DEFINE_ALIAS ??0bad_cast@@AAE@PBQBD@Z, MSVCRT_bad_cast_ctor 63DEFINE_ALIAS ??0bad_cast@@AEAA@PEBQEBD@Z, MSVCRT_bad_cast_ctor 64DEFINE_ALIAS ??0bad_cast@@QAE@ABQBD@Z, MSVCRT_bad_cast_ctor 65DEFINE_ALIAS ??0bad_cast@@QEAA@AEBQEBD@Z, MSVCRT_bad_cast_ctor 66DEFINE_ALIAS ??0bad_cast@@QEAA@AEBV0@@Z, MSVCRT_bad_cast_copy_ctor 67DEFINE_ALIAS ??0bad_cast@@QEAA@PEBD@Z, MSVCRT_bad_cast_ctor_charptr 68DEFINE_ALIAS ??0bad_typeid@@QEAA@AEBV0@@Z, MSVCRT_bad_typeid_copy_ctor 69DEFINE_ALIAS ??0bad_typeid@@QEAA@PEBD@Z, MSVCRT_bad_typeid_ctor 70DEFINE_ALIAS ??0exception@@QEAA@AEBQEBD@Z, MSVCRT_exception_ctor 71DEFINE_ALIAS ??1__non_rtti_object@@UEAA@XZ, MSVCRT___non_rtti_object_dtor 72DEFINE_ALIAS ??1bad_cast@@UEAA@XZ, MSVCRT_bad_cast_dtor 73DEFINE_ALIAS ??1bad_typeid@@UEAA@XZ, MSVCRT_bad_typeid_dtor 74DEFINE_ALIAS ??4bad_cast@@QEAAAEAV0@AEBV0@@Z, MSVCRT_bad_cast_opequals 75DEFINE_ALIAS ??4bad_typeid@@QEAAAEAV0@AEBV0@@Z, MSVCRT_bad_typeid_opequals 76DEFINE_ALIAS ??8type_info@@QEBAHAEBV0@@Z, MSVCRT_type_info_opequals_equals 77DEFINE_ALIAS ??9type_info@@QEBAHAEBV0@@Z, MSVCRT_type_info_opnot_equals 78DEFINE_ALIAS ??_Fbad_cast@@QEAAXXZ, MSVCRT_bad_cast_default_ctor 79DEFINE_ALIAS ??_Fbad_typeid@@QEAAXXZ, MSVCRT_bad_typeid_default_ctor 80DEFINE_ALIAS ?_query_new_handler@@YAP6AH_K@ZXZ, MSVCRT__query_new_handler 81DEFINE_ALIAS ?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z, MSVCRT__set_new_handler 82DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, MSVCRT__set_se_translator 83DEFINE_ALIAS ?before@type_info@@QEBAHAEBV1@@Z, MSVCRT_type_info_before 84DEFINE_ALIAS ?name@type_info@@QEBAPEBDXZ, MSVCRT_type_info_name 85DEFINE_ALIAS ?raw_name@type_info@@QEBAPEBDXZ, MSVCRT_type_info_raw_name 86DEFINE_ALIAS ??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z, MSVCRT___non_rtti_object_opequals 87 88END 89 90