Hi, This is an option. We opted not to call ld directly for gcc compilers in general, but I think it's not a problem to make an exception for OS/2.
Brgds, Viktor On 2010 Feb 19, at 11:29, Maurilio Longo wrote: > David, > > Knut says gcc does not create a response file, but what happens if we call ld > or/and emxomfld directly, without passing through gcc, after having created > the correct response file? > > We could end up with a solution which works with every version of gcc without > requiring a patch at all. > > BTW, they build mozilla or firebird, can it be possibile that those monster > projects have fewer files than harbour? > > Maurilio. > > > David Arturo Macias Corona wrote: >> Viktor: >> >>> It's also possible they parse the disk option file, >>> convert it to string and pass it as plain command-line >>> (with 32KB limit) to subprocess. >> >>> While disk option files are not _only_ meant to get >>> around cmdline length limitations, but this is one >>> of their primary functions, so IMO this is a bug in >>> OS/2 GCC implementation and should be reported and >>> fixed. Otherwise it defeats the purpose of disk option >>> file almost completely. >> >> We know we are in same state as months ago and with Harbour grow "the >> future catched us" >> >> I send a public request to some well-known people in OS/2 world >> >> The first response few minutes later is from Knut St. Osmundsen >> ("bird"), the "brain" in Netlabs os2gcc development years ago ( gcc335 >> age ) and now "brain" of Sun VirtualBox too >> >> Message is included below and is very clear >> >> I hope Paul Smedley can trace this case and based in Knut proposal then >> implement some solution >> >> David Macias >> >> >> >> David Arturo Macias Corona wrote: >>> Hi All: >>> >>> As I do not know who/where can help us I send this message to all of you >>> with hope of a solution >>> Please review, response and/or redirect to proper people >>> >>> In Harbour for OS/2 development ( www.harbour-project.org ) we face from >>> long time a problem using os2gcc compilers when we try to build some >>> .dll files >>> >>> Tracing I found an now famous 32 Kb limit: >>> ------------------------------------- >>> Somewhere gcc is using 32 Kb limit for our case >>> gcc --> emxomfld.exe ( ld.exe ) >>> >>> ( or is OS/2 limit ? :-) ) >> >> Yes, this is an OS/2 limitation. The usual workaround is to pass the >> arguments in a response file (emxomfld @filename.rsp). Without checking >> all the relevant code, I'm pretty sure that the compiler/linker driver >> (gcc) will not create a response file when invoking sub programs like >> as, ld or emxomfld. The easiest way to hack it into doing this would be >> to change pexecute() in libiberty/pexecute.c to create a response file >> for arguments exceeding, say, 24 KB. >> http://svn.netlabs.org/libc/browser/branches/libc-0.6/src/gcc/libiberty/pexecute.c#L803 >> >> >> >> >> For all future communication, could you and your team please use the >> libc/gcc mailing list: http://svn.netlabs.org/libc#MailinglistBugs >> >> You can file bugs in the ticket tracker on that site, although, if it's >> gcc related and you want it fixed soon you're probably better off filing >> them with Paul's bug tracker. :-) >> > > -- > __________ > | | | |__| Maurilio Longo > |_|_|_|____| farmaconsult s.r.l. > > > _______________________________________________ > Harbour mailing list (attachment size limit: 40KB) > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour