Path: chuka.playstation.co.uk!news From: "pal" Newsgroups: scee.yaroze.freetalk.english Subject: Problem with GCC Date: 15 May 2001 22:42:03 GMT Organization: PlayStation Net Yaroze (SCEE) Lines: 98 Message-ID: <01c0dd8f$fb6f2180$6a2e1bd4@pal-s-omnibook> NNTP-Posting-Host: nas-cbv-5-46-106.dial.proxad.net X-Newsreader: Microsoft Internet News 4.70.1155 Hi there. I post here rather than to the programming groups because they're dead, please tell me if I'm wrong. Here's the problem I'm faced with: I want to link many object files together in order to get an executable. I use 'make' to get my files together (nothing uncommon here I hope). All works well until I need many files. When I want to link too many files, an alert dialog yells "This program has performed an illegal operation and will be terminated. (...) The program tried to execute an invalid instruction. (...)". With Djgpp, the same makefile is processed properly. I tried to use Djgpp's more recent make with my NY stuff but the problem remained. So I think the troublemaker is Gcc. After experimenting a bit, I think that the problem is related to the number of characters in the gcc command line. When the filenames are longer, fewer files are need to be listed to cause the crash. The same goes when options (eg output file name) are added. I tried to play with the memory settings for the windowed dos program execution, but with no success. When the crash has occurred, all Dos programs may cease to work (sometimes even the simple Dos console crashes) until reboot. Does anybody have an idea for a solution or a workaround? I'm thinking of building groups of object files (maybe libraries?), but I have no clue how to do that... pal Misc: I'm using gcc 2.7.2, found on the NY CD, under W95. I need the thing to work from Windows, not just in pure Dos. I've attached a simple example makefile that causes the problem. It's basically a long list of object files. If just one object file is taken out of it, it will work. The filexxxx.o's are just dummy object files obtained by compiling an empty source. begin 600 makefile.mak M86QL(#H@/&=O86P^#0H-"D]"2E,@/2 )9F]L9&5R,#%<9FEL93 P,#$N;R!< M#0H)9F]L9&5R,#%<9FEL93 P,#(N;R!<#0H)9F]L9&5R,#%<9FEL93 P,#,N M;R!<#0H)9F]L9&5R,#%<9FEL93 P,#0N;R!<#0H)9F]L9&5R,#%<9FEL93 P M,#4N;R!<#0H)9F]L9&5R,#%<9FEL93 P,#8N;R!<#0H)9F]L9&5R,#%<9FEL M93 P,#