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
Description: PGP signature