NNTP-Posting-Date: Fri, 08 Nov 2002 11:48:13 -0600 From: Charles Wilkins Newsgroups: comp.os.msdos.djgpp Subject: Re: i686-pc-msdosdjgpp-g++ problems (long) Date: Fri, 08 Nov 2002 12:50:07 -0500 Message-ID: References: X-Newsreader: Forte Agent 1.92/32.570 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 56 NNTP-Posting-Host: 68.45.75.113 X-Trace: sv3-gWiFnor6ldp8B5/vaneJ1q4/wQCz/fksbUTNpTqQJfC3mAl2TpakHNOqwT+LwZ4JvKLPxofTlHH711y!3CbFhXaJ2l6rSBVstkxxrscOoyWJyvOChQabyjQBsnrFtlfvcb8t1wM8nHfGWrgqI+hlcog= X-Complaints-To: abuse AT comcast DOT com X-DMCA-Complaints-To: dmca AT comcast DOT net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Thu, 7 Nov 2002 23:13:43 -0800, "Louis P. Santillan" wrote: >You may be missing an issue that continually crops up in porting *nix >software to DOS (or DJGPP): the DOS 8.3 file name limit comes up >constantly and usually appears in some form or another. What the cross >compiler configuration does to get around this is to rename certain files >to be 8.3 compliant. Take a look at some old [ANNOUNCE] messages on this >list and you will se references to it. Flex is one project that must >always deal with this issue (because of the way it generates filenames for >its output). I dont think my specific issue is from a filename problem, but i could be wrong. I am purposely using welcome.exe as the filename which should comply with the dos limitation. The C cross compiler, i686-pc-msdosdjgpp-gcc creates the binaries that can execute in dos. The C++ cross compiler, i686-pc-msdosdjgpp-g++ creates the binaries that cannot execute in dos without creating an exception error. Exiting due to signal SIGSEGV General Protection Fault at eip=0001a11f eax=00000000 ebx=0003eb58 ecx=0003eb58 edx=007cffa0 esi=00000054 edi=00001630 ebp=007cff68 esp=007cff64 program=H:\ROOT\PROJECTS\CPP\TEST\WELCOME.EXE cs: sel=01a7 base=01670000 limit=007dffff ds: sel=01af base=01670000 limit=007dffff es: sel=01af base=01670000 limit=007dffff fs: sel=017f base=00005870 limit=0000ffff gs: sel=01bf base=00000000 limit=0010ffff ss: sel=01af base=01670000 limit=007dffff App stack: [007d0000..00750000] Exceptn stack: [00042c88..00040d48] Call frame traceback EIPs: 0x0001a11f 0x0001a36e 0x0000167e 0x0000d1f8 This happens when I try to execute welcome.exe which was made from i686-pc-msdosdjgpp-g++ (the c++ crosscompiler) >WRT the binary size, seems a tad large but you are probably statically >linking the binary and quite possibly linking the entire >libstdc++.a file. Turn on optimizations, turn on symbol stripping and >watch the file size plummet. Binary size was only a secondary concern. I wasn't sure if the hugh size was an indicator of why the file wont execute under dos. Stripping the debugging information helped greatly with size. Charles