Added __cxa_pure_virtual wrapped function

This commit is contained in:
ptitSeb 2022-06-11 10:56:34 +02:00
parent 22b66a71f4
commit b4c664b979
4 changed files with 10 additions and 0 deletions

View File

@ -2786,6 +2786,7 @@ wrappedlibasound:
- snd_dlopen - snd_dlopen
wrappedlibc: wrappedlibc:
- vFv: - vFv:
- __cxa_pure_virtual
- vFp: - vFp:
- iFv: - iFv:
- iFi: - iFi:

View File

@ -117,6 +117,7 @@ typedef int32_t (*iFpuvvppp_t)(void*, uint32_t, void, void, void*, void*, void*)
typedef int32_t (*iFpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void*, void*); typedef int32_t (*iFpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void*, void*);
#define SUPER() ADDED_FUNCTIONS() \ #define SUPER() ADDED_FUNCTIONS() \
GO(__cxa_pure_virtual, vFv_t) \
GO(__close_nocancel, iFi_t) \ GO(__close_nocancel, iFi_t) \
GO(getwc, iFp_t) \ GO(getwc, iFp_t) \
GO(getpwuid, pFu_t) \ GO(getpwuid, pFu_t) \

View File

@ -2956,6 +2956,12 @@ EXPORT int my_on_exit(x86emu_t* emu, void* f, void* args)
} }
#endif #endif
EXPORT void my___cxa_pure_virtual(x86emu_t* emu)
{
fprintf(LOG_NONE, "Pure virtual function called\n");
emu->quit = 1;
abort();
}
EXPORT char** my_environ = NULL; EXPORT char** my_environ = NULL;
EXPORT char** my__environ = NULL; EXPORT char** my__environ = NULL;

View File

@ -2179,6 +2179,8 @@ GOM(__gmon_start__, vFEv) //%%
GOM(_Jv_RegisterClasses, vFv) //%%,noE dummy GOM(_Jv_RegisterClasses, vFv) //%%,noE dummy
GOWM(__cxa_pure_virtual, vFEv) // create a function to trap pure virtual call
GOM(__fdelt_chk, LFL) //%%,noE GOM(__fdelt_chk, LFL) //%%,noE
GOM(getauxval, uFEu) //%% implemented since glibc 2.16 GOM(getauxval, uFEu) //%% implemented since glibc 2.16