OK, there seem to be 2 problems, first is that unless I run pntld with the -a argument, no symbols make it into my shared library. I've not had a chance to mess with that yet, but I'd love to hear speculation if there is any.
Sounds like you aren't using PIKE_MODULE_INIT and PIKE_MODULE_EXIT.
Or more likely; you aren't compiling with with a cl-compatible compiler, and thus don't get __declspec(dllexport) on PIKE_MODULE_{IN,EX}IT. In that case you need to patch module.h.
The second problem is that of the unsupported relocation type; I've traced through the dlopen code, and it appears that support seems to have been commented out:
No idea. Looks like it was commented out by Marcus 2001-09-14.
Anyone know the reason for that? I'm going to try reenabling it...