On 11-09-2015, at 1:15 PM, David T. Lewis lewis@mail.msen.com wrote:
At the very least we should make sure the version checking that was designed specifically to help handle this is actually getting used properly.
That's a good point, although it probably will not help with a many of these cases. For example, with an interpreter VM the various permutations of 32/64 bit host and 32/64 bit object memory are all compiled from a single identical code base, but the plugins cannot be mixed among them.
Sounds like maybe modifying the version system to include some signifier for that might help?
It would be a good thing on general principles to make sure the versioning system is sane (I have not paid attention to it). But it can't handle the case of mixing 32 and 64 bit compiled modules, because the modules are not going to load in the first place (the OS will see to that). I might be the only person around who regularly uses the V3 64 bit object memory, so you don't need to worry about protecting me from mixing the plugins, I already know not to do that ;-)
It might be helpful for protecting against the case of mixing up 32-bit compiled Cog and Spur modules.
Dave