X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Message-ID: <50425B86.8030700@iki.fi> Date: Sat, 01 Sep 2012 22:01:26 +0300 From: Andris Pavenis User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120828 Thunderbird/15.0 MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: gcc behaviour if djgpp.env is not available. References: <201208302244 DOT 31877 DOT juan DOT guerrero AT gmx DOT de> In-Reply-To: <201208302244.31877.juan.guerrero@gmx.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com On 08/30/2012 11:44 PM, Juan Manuel Guerrero wrote: > I do not know if this issue has already been discused but I have noticed > that the DJGPP port of gcc crashes if it does not find djgpp.env. If gcc > needs to load djgpp.env and fails, would not it be better that it issues > some kind of error message instead of crashing? > For an user not familiar with DJGPP it would be hard to figure out > what has gone wrong. > > The output below is produced by gcc471b on WinXP after having deleted > djgpp.env. > > > F:\x\XZ-50~1.4\_build.204\_build.tmp>gcc 1.c > Exiting due to signal SIGSEGV > General Protection Fault at eip=00001be2 > eax=0c720000 ebx=00000299 ecx=0b93d411 edx=3ac30000 esi=00010000 edi=0c730000 > ebp=00000158 esp=00302114 program=C:\DJGPP-2.04\BIN\GCC.EXE > cs: sel=01a7 base=02990000 limit=3ac2ffff > ds: sel=017f base=00008aa0 limit=0000ffff > es: sel=01af base=02990000 limit=3ac2ffff > fs: sel=017f base=00008aa0 limit=0000ffff > gs: sel=01bf base=00000000 limit=0010ffff > ss: sel=01af base=02990000 limit=3ac2ffff > App stack: [00302470..00182470] Exceptn stack: [00182390..00180450] > > Call frame traceback EIPs: > 0x00001be2 > Just rebuild gcc-4.7.1 using DJGPP v204pre (so the same libc as in my last builds of gcc-4.8 snapshots). Tests shows that: - gcc 4.7.1 and gcc-4.8.0 20120722 crashes when DJGPP is not defined - gcc-4.8.0 20120825 does not crash The most significant difference which I can suspect is merging cxx-conversion branch into GCC trunk (http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html). As the result the latest SVN snapshot (I really used GIT not SVN - http://gcc.gnu.org/wiki/GitMirror) has been built using C++ compiler instead of C compiler as in earlier versions. Andris