-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes to shared library and reloading #1391
Comments
Hmm this is interesting because I do remember explicitly testing this in the past and it did work correctly. I just did some further testing and it turns out that on macOS it did work in an old commit and doesn't work on the current head of the |
Ok, I've narrowed it down to 9efd822. In that commit I changed the path I pass to The reason it has to do with this issue is that it seems like on macOS absolute paths passed to |
In any case, what is happening now is we call I think there are several options for what we could do:
|
@qsctr what do you think about an approach where we modify
|
That sounds good to me, I'll try that out. |
Fixed in 6cc5cec. |
Currently there is a slight "gotcha" with the FFI, in that if we have a loaded module that uses the FFI, then we change the external library (i.e., the shared object) and reload the module, the changes are not visible to Cryptol.
The current work around is to either quite Cryptol, or force unload everything (e.g., by typing
:m Cryptol
) and then reload everything. This works because unloading everything lets go of references to the library and so it gets unloaded, so when we load the module again, wedkopen
will now open the newly modified external library.I am not exactly sure what's the best way to fix that, but it seems that it could lead to some confusing situations while working on
a Cryptol spec and external code at the same time.
The text was updated successfully, but these errors were encountered: