loader/loader.cpp
changeset 1843 051154c7d130
parent 1840 dd80e60b571c
child 1947 e73a1e51833b
     1.1 --- a/loader/loader.cpp	Thu Jan 10 18:27:52 2008 +0000
     1.2 +++ b/loader/loader.cpp	Thu Jan 10 22:51:09 2008 +0000
     1.3 @@ -33,6 +33,7 @@
     1.4  #include <stdarg.h>
     1.5  #include <string.h>
     1.6  #include <stdio.h>
     1.7 +#include <malloc.h>
     1.8  
     1.9  #if defined _MSC_VER
    1.10  	#define DLL_EXPORT				extern "C" __declspec(dllexport)
    1.11 @@ -286,3 +287,32 @@
    1.12  	UnloadInterface_MMS();
    1.13  }
    1.14  #endif
    1.15 +
    1.16 +/* Overload a few things to prevent libstdc++ linking */
    1.17 +#if defined __linux__
    1.18 +extern "C" void __cxa_pure_virtual(void)
    1.19 +{
    1.20 +}
    1.21 +
    1.22 +void *operator new(size_t size)
    1.23 +{
    1.24 +	return malloc(size);
    1.25 +}
    1.26 +
    1.27 +void *operator new[](size_t size)
    1.28 +{
    1.29 +	return malloc(size);
    1.30 +}
    1.31 +
    1.32 +void operator delete(void *ptr)
    1.33 +{
    1.34 +	free(ptr);
    1.35 +}
    1.36 +
    1.37 +void operator delete[](void * ptr)
    1.38 +{
    1.39 +	free(ptr);
    1.40 +}
    1.41 +#endif
    1.42 +
    1.43 +