#include <os/Board.h>

#include <cstdio>
#include <cstdlib>

extern "C" void __cxa_pure_virtual()
{
	printf("__cxa_pure_virtual() called.  Probably a bad build.\n");
	os::board::shutdown();
}

void* operator new(size_t size)
{
	return malloc(size);
}

void* operator new[](size_t size)
{
	return malloc(size);
}

void operator delete(void *ptr)
{
	free(ptr);
}

void operator delete[](void *ptr)
{
	free(ptr);
}


#include <cstdlib>

extern "C" void __cxa_pure_virtual()
{
}

void* operator new(size_t size)
{
	return malloc(size);
}

void* operator new[](size_t size)
{
	return malloc(size);
}

void operator delete(void *ptr)
{
	free(ptr);
}

void operator delete[](void *ptr)
{
	free(ptr);
}


--- 
+++ 
@@ -1,7 +1,12 @@
+#include <os/Board.h>
+
+#include <cstdio>
 #include <cstdlib>
 
 extern "C" void __cxa_pure_virtual()
 {
+	printf("__cxa_pure_virtual() called.  Probably a bad build.\n");
+	os::board::shutdown();
 }
 
 void* operator new(size_t size)
Add a basic implementation for __cxa_pure_virtual
