Date: Fri, 17 Jul 1998 09:57:58 +0200 (WET) From: Andris Pavenis To: Nate Eldredge cc: "John M. Aldrich" , djgpp-workers AT delorie DOT com Subject: Re: Compile gives Abort! error In-Reply-To: <35AAD98B.389C5B42@cartsys.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Mon, 13 Jul 1998, Nate Eldredge wrote: > Andris Pavenis wrote: > > > TEMP and TMP is used by gcc if TMPDIR is not defined (It's normally > > defined in DJGPP.ENV unless explicitly removed from there (I don't remember > > in which is looked first). NOTE: I'm talking about gcc-2.8.1 and didn't look > > in sources of previous versions. > > > > > > > > I wonder: why not? Seems to me we could just set TMPDIR to TEMP in > > > DJGPP.ENV. Since DOS users have to have TEMP set reasonably anyhow, > > > that would save trouble of this kind. > > > > > > > That can be one of solutions when DJGPP is residing on R/O disk. > > I don't think it's good by default. > > > > gcc ends so when tries to put temporary files on read only disk. > > I met this, when wrote my installation of DJGPP to CD and forgot > > to edit DJGPP.ENV before (I was hurrying). Such CD is nice if I > > have to go somewhere and compile some program as there is no need to > > install anything. > > Then I think what we really need is for GCC to handle that more > gracefully. A cursory glance through the FSF GCC sources didn't show > anyplace where it might abort if the file didn't open, but it still > might be there, or only in the DJGPP sources (which I don't have > handy). This is where `abort' giving SIGABRT and a traceback would be > helpful... > -- > It is in original sources of gcc: file: choose_temp.c procedure: char * choose_temp_base () (it is very end of this file) When gcc is not getting name of temporary file it's simply aborts. DJGPP port of gcc-2.8.1 now creates empty file when asked for name of temporary files to avoid conflicts between different DOS sessions running simultaneusly. Of course this fails if disk is read only. If we'll not create file then we'll not be able to safely run gcc from 2 DOS sessions simultaneusly. In such situation some other program more likely cpp will complain. Andris