ocaml / flexdll

a dlopen-like API for Windows
Other
97 stars 30 forks source link

Extended COFF format (/bigobj) support #59

Closed db4 closed 5 years ago

db4 commented 5 years ago

Support ECOFF format (generated by cl with /bigobj flag). No docs on ECOFF is available, so support was reverse-engineered from binutils sources (https://github.com/bminor/binutils-gdb)

alainfrisch commented 5 years ago

The PR shouldn't affect the non-ECOFF case, and I assume you have tested the ECOFF support (which I know nothing about), so I'm going to merge!

alainfrisch commented 5 years ago

Sorry, I was too fast. This seems to break with 4.06 (see AppVeyor). Can you look at it?

alainfrisch commented 5 years ago

I could not reproduce the problem locally. But I wonder about the change in Lib.read_lib. Can you explain why we need to check two extra bytes (= 0) to decide between import vs object?