From: Martin Str|mberg Message-Id: <199902181951.UAA05608@father.ludd.luth.se> Subject: Re: make crash To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Thu, 18 Feb 1999 20:51:59 +0100 (MET) Cc: djgpp AT delorie DOT com (DJGPP) In-Reply-To: from Eli Zaretskii at "Feb 7, 99 11:44:18 am" X-Mailer: ELM [version 2.4ME+ PL15 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com According to Eli Zaretskii: > > On 6 Feb 1999, Martin Str|mberg wrote: > > > Ok. I know what is causing the problem. My environment variable SHELL > > is set to "f:/djgpp/bin/-bash.exe". > > Why would you need that? AFAIK, -bash is only needed in interactive > invocation, to make it a login shell, but should never be necessary > (and could be even dangerous) after that. Because it's the right thing to do(tm)! Because DOZE has no sense of logging in, every invocation of the shell must be a log in shell, and the easiest way to arrange that is having -BASH.EXE point to BASH.EXE. Here's a symified traceback: bash$ make make all-recursive make.exe[1]: Entering directory `f:/hackery/tar/gnu/tar-1.12' g:/dj100000: g:/dj100000: line 2: syntax error: unexpected end of file Abort! Exiting due to signal SIGABRT Raised at eip=0001c792 eax=000b723c ebx=00000120 ecx=00000000 edx=00000000 esi=00004000 edi=00000000 ebp=000b72e8 esp=000b7238 program=F:\HACKERY\LIBC\BIN\MAKE.EXE cs: sel=0f57 base=838b8000 limit=000dffff ds: sel=0f5f base=838b8000 limit=000dffff es: sel=0f5f base=838b8000 limit=000dffff fs: sel=011f base=00016840 limit=0000ffff gs: sel=0faf base=00000000 limit=0010ffff ss: sel=0f5f base=838b8000 limit=000dffff App stack: [000b84f8..000384f8] Exceptn stack: [00037ea8..00035f68] Call frame traceback EIPs: 0x0001c6b0 ___djgpp_traceback_exit+48 0x0001c792 _raise+94 0x0001f403 _abort+27 0x00026f22 __put_path2+58 0x00026ecd __put_path+13 0x0002a40e __chmod+58 0x00021ddd _remove+61 0x0001b51f _system+699 0x0000582d _start_job_command+665, line 985 of job.c 0x00005982 _start_waiting_job+98, line 1096 of job.c 0x00005c1f _new_job+495, line 1273 of job.c 0x00004b4e _execute_file_commands+90, line 359 of commands.c 0x0000dd46 _remake_file+74, line 962 of remake.c 0x0000d706 _update_file_1+2102, line 652 of remake.c 0x0000ca67 _update_file+35, line 310 of remake.c 0x0000c730 _update_goal_chain+316, line 150 of remake.c 0x00002ef3 _main+3411, line 1549 of main.c 0x0001a2f2 ___crt1_startup+174 make.exe: *** [all-recursive-am] Error -1 bash$ symify -o /hackery/tar.sym /hackery/libc/bin/make.exe As far as I could trace it, it's the call to system() that crashes. How do I step into system with gdb? My usual trick of copying the .c file and adding it to the makefile doesn't work. New Model Army, The Love of Hopeless Causes, MartinS