Never mind. I figured it out.
But still, I find it a bit strange (coming from a C++ background) to define:
void * operator new(size_t)
and not
void* operator new[](size_t)
I guess I'll add new[] and delete[] myself.
Don't forget that you only have a couple of KB of RAM to play with, so any dynamic memory allocation at all is a Really Bad Idea™
You should shy away from it whenever possible, and stick to using statically defined objects and variables.
Even on the nice powerful PIC microcontrollers I work with that have 128KB of RAM I don't like to use dynamic memory allocation if it can be avoided...