www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2004/11/21/12:04:15

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 <dj AT delorie DOT com>
Cc: fdonahoe AT wilkes DOT edu
Subject: djgpp 2.04 crash in libc.a
MIME-Version: 1.0
User-Agent: Internet Messaging Program (IMP) 3.2
X-Originating-IP: 146.94.1.215
X-Track: Weight 4, 54
X-Actual-From: <fdonahoe AT wilkes DOT edu> [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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019