summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorsimonpj <unknown>2005-01-06 15:05:45 +0000
committersimonpj <unknown>2005-01-06 15:05:45 +0000
commitc61816ee7a22c49d249c6fc150cb3c15834679ea (patch)
treef2dfea4ec80481f0f901db8bf895ba3adbbd2728 /docs
parent104c6fb889711759d093dc3861d0195c5374d902 (diff)
downloadhaskell-c61816ee7a22c49d249c6fc150cb3c15834679ea.tar.gz
[project @ 2005-01-06 15:05:45 by simonpj]
Mention problem with ld on Windows
Diffstat (limited to 'docs')
-rw-r--r--docs/building/building.xml18
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/building/building.xml b/docs/building/building.xml
index 2a61ab8c0e..d8683c6ee8 100644
--- a/docs/building/building.xml
+++ b/docs/building/building.xml
@@ -4317,6 +4317,24 @@ Cygwin programs have a more complicated mount table, and map the lettered drives
</para>
</sect3>
+<sect3><title>Crippled <command>ld</command></title>
+
+<para>
+It turns out that on both Cygwin and MSYS, the <command>ld</command> has a
+limit of 32kbytes on its command line. Especially when using split object
+files, the make system can emit calls to <command>ld</command> with thousands
+of files on it. Then you may see something like this:
+<programlisting>
+(cd Graphics/Rendering/OpenGL/GL/QueryUtils_split &amp;&amp; /mingw/bin/ld -r -x -o ../QueryUtils.o *.o)
+/bin/sh: /mingw/bin/ld: Invalid argument
+</programlisting>
+The solution is either to switch off object file splitting (set
+<option>SplitObjs</option> to <literal>NO</literal> in your
+<filename>build.mk</filename>),
+or to make the module smaller.
+</para>
+</sect3>
+
<sect3><title>Host System vs Target System</title>
<para>