[fpc-pascal] dlmopen on MacOS
Adriaan van Os
adriaan at adriaan.biz
Wed Nov 20 14:59:31 CET 2024
I have a shared library on MacOS written in FPC. It needs to be loaded multiple times, that is each
time with its own set of global (dylib) variables. On Linux I would use dlmopen with LM_ID_NEWLM,
but MacOS doesn't have dlmopen and dlopen doesn't have LM_ID_NEWLM. I can create a copy of the
dylib on the fly and load the copy. But then the OS will complain about ObjC/ObjPascal namespace
collisions, even when loading with RTLD_LOCAL.
One wonders how operating systems can be designed that brainlessly.
Of course, I could write my own Mach-O loader, but I have other things to do.
Another idea is to prevent all use of global variables in the dylib. Before I do that, my question
is if implicit compiler global variables (for the dylib code, not for the FPC runtime lib) would
spoil that idea ?
Regards,
Adriaan van Os
More information about the fpc-pascal
mailing list