What is the status of PIKE_MODULE_RELOC? In the 7.4 master it's disabled with the comment "currently broken" but not in 7.6 or 7.7. Still, it's being used in 7.4 on Windows, right?
I tried enabling it (--with-relocatable-dumped-modules) in a test build of 7.4 on Darwin but didn't succeed which wasn't surprising given the comment above. However, not even in a shiny new 7.7 build could I get it working:
ceylon:pike-reloc $ ./moved77/pike/7.7.21/bin/pike "Couldn't load master program from /tmp/pike-reloc/install77/pike/7.7.21/lib/master.pike.\n"
Oh well, at least providing the paths explicitly should work:
ceylon:pike-reloc $ ./moved77/pike/7.7.21/bin/pike -m /tmp/pike-reloc/moved77/pike/7.7.21/lib/master.pike -M /tmp/pike-reloc/moved77/pike/7.7.21/lib/modules/ -P /tmp/pike-reloc/moved77/pike/7.7.21/lib/modules/ -I /tmp/pike-reloc/moved77/pike/7.7.21/include/ Could not resolv Getopt. (Perhaps the installed pike tree has been moved.) /tmp/pike-reloc/moved77/pike/7.7.21/lib/master.pike:2388: master()->__lambda_65601_2_line_2385("Getopt",UNDEFINED)
What am I missing here?
Also, a related question is what the whole point of the Master Cookie is? Overcome limitations that one cannot find the path of the currently executing process? At least on Darwin that can be solved with some system calls such as NSModuleForSymbol(), and maybe other systems have similar calls nowadays?