Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/doc/highlights.xml')
-rw-r--r--winsup/doc/highlights.xml17
1 files changed, 7 insertions, 10 deletions
diff --git a/winsup/doc/highlights.xml b/winsup/doc/highlights.xml
index 76eb3fb1c..5de789a8c 100644
--- a/winsup/doc/highlights.xml
+++ b/winsup/doc/highlights.xml
@@ -245,9 +245,8 @@ support for cloning address space between processes and several
features actively undermine a reliable <literal>fork</literal>
implementation. Three issues are especially prevalent:</para>
-<itemizedlist mark="bullet">
-
-<listitem><para>DLL base address collisions. Unlike *nix shared
+<para><itemizedlist>
+<listitem>DLL base address collisions. Unlike *nix shared
libraries, which use "position-independent code", Windows shared
libraries assume a fixed base address. Whenever the hard-wired
address ranges of two DLLs collide (which occurs quite often), the
@@ -260,18 +259,18 @@ statically-linked dlls (dependencies known at compile time) are
resolved before <literal>cygwin1.dll</literal> initializes and
cannot be fixed afterward. This problem can only be solved by
removing the base address conflicts which cause the problem,
-usually using the <literal>rebaseall</literal> tool.</para></listitem>
+usually using the <literal>rebaseall</literal> tool.</listitem>
-<listitem><para>Address space layout randomization (ASLR). Starting with
+<listitem>Address space layout randomization (ASLR). Starting with
Vista, Windows implements ASLR, which means that thread stacks,
heap, memory-mapped files, and statically-linked dlls are placed
at different (random) locations in each process. This behaviour
interferes with a proper <literal>fork</literal>, and if an
unmovable object (process heap or system dll) ends up at the wrong
location, Cygwin can do nothing to compensate (though it will
-retry a few times automatically).</para></listitem>
+retry a few times automatically).</listitem>
-<listitem><para>DLL injection by
+<listitem>DLL injection by
<ulink url="http://cygwin.com/faq/faq.html#faq.using.bloda">
BLODA</ulink>. Badly-behaved applications which
inject dlls into other processes often manage to clobber important
@@ -280,9 +279,7 @@ collisions which rebasing cannot fix. The only way to resolve this
problem is to remove (usually uninstall) the offending app. See
<xref linkend="cygwinenv-implemented-options"></xref> for the
<literal>detect_bloda</literal> option, which may be able to identify the
-BLODA.</para></listitem>
-
-</itemizedlist>
+BLODA.</listitem></itemizedlist></para>
<para>In summary, current Windows implementations make it
impossible to implement a perfectly reliable fork, and occasional