make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Limitation on size of variables?


From: Eli Zaretskii
Subject: Re: Limitation on size of variables?
Date: Thu, 18 May 2006 22:24:08 +0300

> From: "Offner, Georg" <address@hidden>
> Date: Thu, 18 May 2006 17:23:47 +0200
> 
> I have a variable OBJ_LIST which holds all the objects to be compiled;
> everything works fine, until this list excees a certain size, 11015
> chars is still fine but e.g. 11374 chars breaks make with the following
> error:
> 
> process_begin: =
> CreateProcess(C:\DOCUME~1\go\LOCALS~1\Temp\make4588-1.bat,
> C:\DOCUME~1\go\LOCALS~1\Temp\make4588-1.bat, ...) failed.
> make (e=234): More data is available.
> make[1]: *** 
> [PLATFORM/StarTarget8/StarShuttle/LIB/OBJ/ARM/BOOT/KERNEL/INST9c/INSTANCE.obj]
>  Error 234
> make: *** [PLATFORM/StarTarget8/StarShuttle/LIB/KERNEL] Error 2
> 
> Are there any limitations in the size of variables?

The error message comes from CreateProcess, so it's not a limitation
of the Make variables, it's a limitation of the command line you can
pass to subsidiary programs on MS-Windows.  (Although 11KB would be
too much on many Posix platforms as well, I think.)

While Make should probably fail more gracefully here (I will see what
I can do when I have time), you should really break this long list
into 2 lists and use object libraries to link your program without
using too long command lines.  That is, create an object library with
the first portion of object files, then add to the library the second
portion, and finally link the executable against the library.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]