cygwin.rst
changeset 2105 cf9f3802be19
parent 2092 9c8bb99062b5
child 2107 6f77a1808a38
--- a/cygwin.rst	Thu Feb 23 15:49:54 2017 +0200
+++ b/cygwin.rst	Thu Feb 23 21:41:59 2017 +0200
@@ -165,6 +165,34 @@
   Package              Version        Status
   cygwin               1.7.7-1        OK
 
+Rebase dll
+==========
+
+In order to Cygwin to maintain ``fork()`` syscall it should preserve same
+logical base address for dll to be able to share library between child and
+parent process. It was done via special hints in dlls.
+
+With new version of Cygwin software or external Windows libraries (AntiVirus may
+inject its their libraries into Cygwin process address space) it may happen that
+new library is overlapped with existing.
+
+There is ``rebase`` utility that changes base address hints for dll.
+
+You should finish all Cygwin processes in order to ``rebase`` to succeed.
+
+You may trigger automatic rebase of all packages in next run of ``setup.exe``
+with::
+
+  $ rebase-trigger full
+
+Read more at:
+
+* ``/usr/share/doc/rebase/README``
+* ``/usr/share/doc/Cygwin/_autorebase.README``
+
+https://chromium.googlesource.com/chromium/src/+/master/docs/cygwin_dll_remapping_failure.md
+  Handling repeated failures of rebaseall to allow cygwin remaps.
+
 Recreate /etc/passwd and /etc/groups.
 =====================================
 ::