
#10777: Overlong linker arguments on Windows leads to broken builds with confusing error messages -------------------------------------+------------------------------------- Reporter: snoyberg | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Windows | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: #8596 #9685 | Differential Revisions: -------------------------------------+------------------------------------- Changes (by Phyx-): * related: => #8596 #9685 Comment: The limits are a bit all over the place. For the record: - The maximum command line length for the CreateProcess function is 32767 characters. This limitation comes from the UNICODE_STRING structure. CreateProcess is the core function for creating processes, so if you are talking directly to Win32, then that's the only limit you have to worry about. But if you are reaching CreateProcess by some other means, then the path you travel through may have other limits. - If you are using the CMD.EXE command processor, then you are also subject to the 8192 character command line length limit imposed by CMD.EXE. - If you are using the ShellExecute/Ex function, then you become subject to the INTERNET_MAX_URL_LENGTH (around 2048) command line length limit imposed by the ShellExecute/Ex functions. (If you are running on Windows 95, then the limit is only MAX_PATH.) [1] http://blogs.msdn.com/b/oldnewthing/archive/2003/12/10/56028.aspx [2] https://support.microsoft.com/en-us/kb/830473 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10777#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler