Skip to content

Conversation

@elfmimi
Copy link
Contributor

@elfmimi elfmimi commented Sep 13, 2014

As I said, I have created a patch to support generation of jmp thunk table. Its purpose is to avoid "target is too far" error on 64-bit platforms. Though, for universality I made it able to be utilized in 32-bit platforms as well.
I wanted to let you know that this is actually possible.

There is one minor flaw that is it will put unneeded symbols in the jmp thunk table. This will increase the size of the binary but that amount is negligible. This can be fixed later.

I suppose this also well accomodates with COMDAT. Because there arise no need to modify the object files at all. But I have not yet tested it.

So, what would you say?

@alainfrisch
Copy link
Collaborator

Thanks, this is very nice. I'm not completely sure to understand the scope of what it fixes. In particular, do we agree that it doesn't solve, in general, the problem of loading dynamic OCaml plugins, because the dynlinked code can refer to symbols in the main program (not as jump target), which could end up being too far if Windows decides to load the .dll/.cmxs far enough from the main program? Do you have specific scenario that doesn't work without the addition of the patch, but work with it?

bryphe added a commit to bryphe/flexdll that referenced this pull request Oct 17, 2018
* Add appveyor

* Create prebuilt package.json

* Update appveyor, add create-release script

* Fix cache

* Add NPM cache, add create-release script

* Switch environment variable format

* Add flexdll.h to package

* Include flexdll.h in release generation

* Update artifact collection

* Add deploy to NPM script

* Try just running publish

* Fix path for writing npmrc

* Remove unused npm cache

* Tweak root package

* Add esy build status
@elfmimi elfmimi closed this Apr 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants