> From: "Gisle Vanem" <gva...@yahoo.no>
> Date: Sun, 2 Feb 2014 15:06:23 +0100
> 
> According to:
>   
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx
> 
> the total size of the environment is 32kByte. This has hit me several
> times in GNU-make when CreateProcess() triggers the mysterious error
> 87 (ERROR_INVALID_PARAMETER). Like in a very simple rule that involves
> 'echo':
> 
> process_begin: CreateProcess(g:\MingW32\msys\bin\echo.exe, echo "Generating 
> ...", ...) failed.
> make (e=87): Parameteren er feil  << Invalid parameter.
> 
> I've added a patch to arr2envblk() that checks the Win OS-version and prints 
> a warning
> if 'size_needed' exceeds 32 kByte. 

Wouldn't it be better to display the error only if CreateProcess fails
with e=87 _and_ the environment is larger than 32KB?  That would allow
us to avoid calling GetVersionEx, which MS wants to deprecate (see
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451%28v=vs.85%29.aspx).

Would you like to write a modified patch along these lines?

> I'm not sure if the warning should be printed only when "--debug=jobs" is in 
> effect
> or always. But only once. Your choice.

I think always is better, if we only print it in the case of a
failure.

Thanks.

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to