but the DO end up there:
What you see there are the programs for the compiled module.pmod files, I think.
I think the problem is that you get joinnodes like this:
Stdio;
Result: master()->joinnode(({ /* 1 element */ master()->dirnode("/home/mast/Pike/frozen/lib/modules/Stdio.pmod") }))
The fc mapping always contain dirnodes, so you'd get a hit in it by picking out the dirnodes first, e.g:
master()->fc_reverse_lookup (Stdio->joined_modules[0]);
Result: "/home/mast/Pike/frozen/lib/modules/Stdio.pmod"
And you get a hit in objects if you pick out the "module" of the dirnode:
master()->objects[object_program (Stdio->joined_modules[0]->module)];
Result: Stdio
But the last part only works for directory modules with module.pmod in them.
I don't know exactly why you get more joinnodes than me. It seems kind of unnecessary to have a joinnode with only one dirnode in it, as I got above.