delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/11/08/13:00:17

NNTP-Posting-Date: Fri, 08 Nov 2002 11:48:13 -0600
From: Charles Wilkins <chas AT pcscs DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: i686-pc-msdosdjgpp-g++ problems (long)
Date: Fri, 08 Nov 2002 12:50:07 -0500
Message-ID: <fqtnsus1c9ns6seotvrsa7m9155ug310v2@4ax.com>
References: <lrplsuounbjm9n878rvu4e4sobqofcu437 AT 4ax DOT com> <Pine DOT GSO DOT 4 DOT 21 DOT 0211072301220 DOT 26998-100000 AT neptune DOT calstatela DOT edu>
X-Newsreader: Forte Agent 1.92/32.570
MIME-Version: 1.0
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"
<lsantil AT calstatela DOT edu> 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


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019