This is the mail archive of the
mailing list for the Cygwin project.
Re: Gcc/ld and long command lines (> 32k)
- From: "Peter A. Castro" <doctor at fruitbat dot org>
- To: Johan Holmberg <holmberg at iar dot se>
- Cc: cygwin at cygwin dot com
- Date: Thu, 8 Apr 2004 10:00:56 -0700 (PDT)
- Subject: Re: Gcc/ld and long command lines (> 32k)
- References: <Pine.GSO.email@example.com>
On Thu, 8 Apr 2004, Johan Holmberg wrote:
> Hi !
> I tried to compile/link an application consisting of several hundred
> C/C++ files. This gives quite a long command line when it is time
> to link the application.
A smarter, more traditional, approach would be to change your makefile to
archive object files after they are compiled into a static-link library
and then link against that. Or, as part of your linking step, manually
archive some or all object files (enough to satisfy the command line
length limit issue) into a temporary library, link with it, then remove
> Windows seem to have a limit of 32k for the length of the command
> line as given to to the system call 'CreateProcess'. I guess this is
> a "hard" limit in Windows.
> The length of my linker command line exceeds this 32k limit.
> Is it possible to pass a list of filenames to ld
> in some other way, to get around this limit ?
> I know about the special "@filename" syntax in Cygwin, but there
> seem to be two problems:
The @filename syntax is used by MS's linker (Visual C++/Studio). To my
knowledge gcc's linker doesn't support this syntax. Neither 'ld --help'
nor 'info ld' seem to present any options which support this syntax. Try
my suggestion above.
> - it is no idea to give the special @filename argument to "gcc.exe",
> since it is calling other exe-files and will have problems itself
> to pass the file list on to these (ld, collect2, ...)
> - I tried to specify "-Wl,@files.txt" to "gcc.exe", hoping that
> "@files.txt" would be picked up by "ld.exe", but I got the error
> ld: @files.txt: No such file: No such file or directory
> Is ld.exe not interpreting the special "@" like other
> Cygwin programs ?
> Am I missing some obvious way of doing what I want ?
> /Johan Holmberg
Peter A. Castro <firstname.lastname@example.org> or <Peter.Castro@oracle.com>
"Cats are just autistic Dogs" -- Dr. Tony Attwood
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html