extern "C" void* emulate_cc_new(unsigned long len) { \ void *p = malloc(len); if (p == 0) { /* Don't use stdio (e.g. fputs), because that may want to allocate more * memory. */ (void)!write(2, "out of memory\n", 14); abort(); } return p; } extern "C" void emulate_cc_delete(void* p) { if (p != 0) free(p); } extern "C" void emulate_cc_delete2(void* p, unsigned long s) { if (p != 0) free(p); } void* operator new (unsigned long) __attribute__((alias("emulate_cc_new"))); void* operator new[](unsigned long) __attribute__((alias("emulate_cc_new"))); void operator delete (void* p) __attribute__((alias("emulate_cc_delete"))); void operator delete[](void* p) __attribute__((alias("emulate_cc_delete"))); void operator delete (void* p, unsigned long s) __attribute__((alias("emulate_cc_delete2"))); void* __cxa_pure_virtual = 0; void* __gxx_personality_v0 = 0;