Message-Id: <200005302138.AAA13874@alpha.netvision.net.il> Date: Wed, 31 May 2000 00:38:23 +0200 X-Mailer: Emacs 20.6 (via feedmail 8.1.emacs20_6 I) and Blat ver 1.8.5b From: "Eli Zaretskii" To: sandmann AT clio DOT rice DOT edu CC: djgpp-workers AT delorie DOT com In-reply-to: <10005301321.AA11392@clio.rice.edu> (sandmann@clio.rice.edu) Subject: Re: W2k References: <10005301321 DOT AA11392 AT clio DOT rice DOT edu> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) > Date: Tue, 30 May 2000 08:21:01 -0500 (CDT) > > > I could easily make a variant of Make that does this, but I'm not sure > > Make alone will solve the problem. In a typical Unix build, you have > > something like this: > > > > make -> make -> bash -> gcc -> cc1 > > > > or this: > > > > make -> bash -> make -> gcc -> cc1 > > > > or even this: > > > > make -> bash -> make -> bash -> gcc -> cc1 > > > > So perhaps at least Bash should support this option, in order to test > > it. > > I'm willing to test builds with whatever images you provide. At this > point I'd be happy if any make would work. I've put a version of Make linked with a hacked dosexec.c on my server, it's available for anon ftp: ftp://is.elta.co.il/pub/make_nex.zip Unzip make.exe and try to use it. If you set W2KBUG in the environment (the value is not important), it will toggle exceptions before invoking child programs. The diffs against dosexec.c in djlsr203.zip are reproduced below, so if Someone (tm) can build Bash for Charles, please feel free... --- src/libc/dos/process/dosexec.c~0 Thu Jun 3 13:27:36 1999 +++ src/libc/dos/process/dosexec.c Tue May 30 23:21:58 2000 @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -1098,8 +1099,12 @@ int __spawnve(int mode, const char *path errno = is_dir ? EISDIR : ENOENT; return -1; } + if (getenv("W2KBUG")) + __djgpp_exception_toggle(); errno = e; i = interpreters[i].interp(rpath, argvp, envpp); + if (getenv("W2KBUG")) + __djgpp_exception_toggle(); if (mode == P_OVERLAY) exit(i); return i;