You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flexlink passes --image-base 0x10000 to the linker for Cygwin64 in order to ensure that relocations are always within a 32-bit range. This is causing problem when multiple DLLs are loaded by a single process (especially dllthreads.so and dllunix.so).
There is also the problem that nothing prevents Cygwin's rebaseall from re-setting the base address to something higher.
I think that two changes are ultimately required:
Some kind of DLL flag which Cygwin's rebase utility recognises as requiring a 32-bit compatible base address (this needs more detail - especially as regarding how the present Cygwin64 ocaml package gets around this)
flexlink needs to do whatever the linker would normally do to determine a "random" base address for the DLL, but with the added caveat of keeping it in a 32-bit range. Having done this, the change may as well be used for the MSVC64 and mingw64 ports, but it's not as critical.
No solutions so far, but this issue keeps cropping up from time-to-time and as far as I know it's not being tracked anywhere.
The text was updated successfully, but these errors were encountered:
flexlink passes
--image-base 0x10000
to the linker for Cygwin64 in order to ensure that relocations are always within a 32-bit range. This is causing problem when multiple DLLs are loaded by a single process (especially dllthreads.so and dllunix.so).There is also the problem that nothing prevents Cygwin's rebaseall from re-setting the base address to something higher.
I think that two changes are ultimately required:
No solutions so far, but this issue keeps cropping up from time-to-time and as far as I know it's not being tracked anywhere.
The text was updated successfully, but these errors were encountered: