shouldn't the sig be

extern void setmalloctag(void*, void*);
or
extern void setmalloctag(void*, uintptr);
(matching ndbsetrealloctag and convention) not
extern void setmalloctag(void*, ulong);

since on a mythical 64-bit machine, ulong is 32bits but
addresses are 64 bits?

- erik