# HG changeset patch # User Oleksandr Gavenko # Date 1487878919 -7200 # Node ID cf9f3802be19f94a34db00c0ee5ce89c79648192 # Parent 6931c02bbc0e7cbb5142df5116985f4d0b8b5233 Rebase dll. diff -r 6931c02bbc0e -r cf9f3802be19 cygwin.rst --- 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. ===================================== ::