Regression for OCaml introduced by rebase 4.4.4

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Feb 8 15:15:00 GMT 2018


On Feb  8 11:47, David Allsopp wrote:
> TL;DR flexlink-compiled DLLs (i.e. ocaml libraries) are broken by the
> 0x200000000 base address requirement added in rebase 4.4.4. Possible fixes
> for this at the bottom.
> [...]
>   $ ocaml
>           OCaml version 4.04.2
> 
>   # #load "unix.cma";;
>   Cannot load required shared library dllunix.
>   Reason: /usr/lib/ocaml/stublibs/dllunix.so: flexdll error: cannot relocate
> RELOC_REL32, target is too far: 0xfffffffc013d8b5f  0x13d8b5f. 
> 
> This is a known problem and fundamental limitation of flexdll (there is no
> RELOC_REL64 in COFF).

Apart from that, not only Cygwin DLLs but also the Windows system DLLs
are all loaded and relocated to the area beyond 0x1:80000000, so relocation
beyond the 32 bit address space is no generic problem in Windows.  Why
isn't that possible in FlexDLL?  I don't understand this.  To me this looks
like a bug in FlexDLL, not a requirement to let certain DLLs slip through
the cracks.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20180208/7ba0feb9/attachment.sig>


More information about the Cygwin mailing list