X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f X-Authentication-Warning: itservs.wilkes.edu: apache set sender to fdonahoe AT wilkes DOT edu using -f X-Authentication-Warning: itservs.wilkes.edu: apache set sender to fdonahoe AT wilkes DOT edu using -f Message-ID: <1101049845.41a0aff592598@webmail.wilkes.edu> Date: Sun, 21 Nov 2004 10:10:45 -0500 From: fdonahoe AT wilkes DOT edu To: DJGPP_CVS List Cc: fdonahoe AT wilkes DOT edu Subject: djgpp 2.04 crash in libc.a MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2 X-Originating-IP: 146.94.1.215 X-Track: Weight 4, 54 X-Actual-From: [146.94.1.100] Resent-Date: Sun, 21 Nov 2004 10:22:48 -0500 Resent-From: fdonahoe AT wilkes DOT edu Resent-To: djgpp-workers AT delorie DOT com Resent-Message-ID: <1101050568 DOT 41a0b2c83f53e AT webmail DOT wilkes DOT edu> Reply-To: djgpp-workers AT delorie DOT com After obtaining the CVS snapshot of Nov. 13, 2004 I recompiled djgpp 2.04s with the gcc 3.4.2 which had recompiled itself with the 2.04 alpha djgpp from Nov. 17, 2003. OS=Windows XP Home Edition. ComSpec=c:\WINDOWS\system32\cmd.exe Then the binary utilities, 2.1.5, difference utilities, 4.8.1, file utilities 4.1 were build and tested. The file utilities failed some tests but, in this case, the new build passed every test the released binary did and one besides, the empty file test. So the new builds were stripped, compressed (UPX) and installed. Then the sed412s package compiled without trouble but ... While running check on the newly compiled program there was crash. FAIL: eval The rebuilt sed had failed one out of the fifty-two tests provided, in contrast to the released binary which passed all. LC_ALL=C ../sed/sed -f ./eval.sed < ./eval.inp > eval.out Exiting due to signal SIGSEGV General Protection Fault at eip=00016416 eax=00000000 ebx=00000006 ecx=00000000 edx=00000006 esi=00000002 edi=00000006 ebp=000bccb8 esp=000bcca0 program=C:\djg\gnu\sed-4.1-2\sed\sed.exe cs: sel=04b7 base=036f0000 limit=000dffff ds: sel=04bf base=036f0000 limit=000dffff es: sel=04bf base=036f0000 limit=000dffff fs: sel=048f base=00035990 limit=0000ffff gs: sel=04cf base=00000000 limit=0010ffff ss: sel=04bf base=036f0000 limit=000dffff App stack: [000bef18..0003ef1c] Exceptn stack: [0003ee3c..0003cefc] Call frame traceback EIPs: 0x00016416 free+69, file malloc.c 0x00017c6b popen+248, file popen.c 0x00006f72 .debug_info+982, file c:/djg/gnu/sed-4.1-2/ \ sed/execute.c, line 1399 0x00002179 .comment+9 0x000157ad __crt1_startup+657, file crt1.c These programs are part of the libc.a source. The sizes and modification dates of these files are: -----m root 10928 Jun 13 2002 src/libc/ansi/stdlib/malloc.c -----m root 6071 Jun 1 23:08 src/libc/posix/stdio/popen.c -----m root 6570 Aug 19 23:08 src/libc/crt0/crt1.c Excerpted from sed/execute.c 1391 if (!cmd_length) 1392 { 1393 str_append (&line, "", 1); 1394 pipe = popen(line.active, "r"); 1395 } 1396 else 1397 { 1398 cur_cmd->x.cmd_txt.text[cmd_length - 1] = 0; 1399 pipe = popen(cur_cmd->x.cmd_txt.text, "r"); 1400 output_missing_newline(&output_file); 1401 } 1402 The package was reconfigured for --build=i786-pc-msdosdjgpp and crashed again during testing, this time from a different part of sed/execute.c but for a similar reason. LC_ALL=C ../sed/sed -f ./eval.sed < ./eval.inp > eval.out Exiting due to signal SIGSEGV General Protection Fault at eip=00016446 eax=00000000 ebx=00000006 ecx=00000000 edx=00000006 esi=00000002 edi=00000006 ebp=000bceb8 esp=000bcea0 program=C:\djg\gnu\sed-4.1-2\sed\sed.exe cs: sel=0b97 base=038c0000 limit=000dffff ds: sel=0b9f base=038c0000 limit=000dffff es: sel=0b9f base=038c0000 limit=000dffff fs: sel=0b6f base=00035a10 limit=0000ffff gs: sel=0baf base=00000000 limit=0010ffff ss: sel=0b9f base=038c0000 limit=000dffff App stack: [000bf118..0003f11c] Exceptn stack: [0003f03c..0003d0fc] Call frame traceback EIPs: 0x00016446 free+182, file ct_upper.c 0x00017e6b fread+75, file fread.c 0x00006fa2 .debug_info+1030, file c:/djg/gnu/sed-4.1-2/ \ sed/execute.c, line 492 0x00002179 .comment+9 0x000157dd fprintf+45, file fprintf.c These programs are part of the libc.a source. The sizes and modification dates of these files are: -----m root 1761 Mar 10 2001 src/libc/ansi/ctype/ct_upper.c -----m root 2144 Oct 17 2002 src/libc/ansi/stdio/fread.c -----m root 693 Jun 8 2002 src/libc/ansi/stdio/fprintf.c Excerpted from sed/execute.c 483 ^L 484 static inline void output_missing_newline P_((struct output *)); 485 static inline void 486 output_missing_newline(outf) 487 struct output *outf; 488 { 489 if (outf->missing_newline) 490 { 491 ck_fwrite("\n", 1, 1, outf->fp); 492 outf->missing_newline = false; 493 } 494 } 495 Regards Frank ----------------------------------------------------------------------- This mail was sent through Wilkes Webmail: http://webmail.wilkes.edu Wilkes Webmail is using IMP: http://horde.org/imp/