delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/12/23/13:06:16

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f
From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <10112231807.AA18583@clio.rice.edu>
Subject: v2.03 refresh issue - passing 3K argument list [was Re: A new bug?]
To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii)
Date: Sun, 23 Dec 2001 12:07:47 -0600 (CST)
Cc: djgpp-workers AT delorie DOT com
In-Reply-To: <3C25BE85.17FE24BC@is.elta.co.il> from "Eli Zaretskii" at Dec 23, 2001 01:22:45 PM
X-Mailer: ELM [version 2.5 PL2]
Mime-Version: 1.0
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

In summary - I can reproduce the problem of the original poster, but I
cannot reproduce it "working" with files before the refresh (I see the
exact same problem with pre-refresh files) unless one of the pre-refresh
files is a bash 2.05 instead of bash 2.04.  In a causual inspection I
don't understand why it doesn't work with bash 2.04 or what would be 
needed to fix it.

> > I was able to reproduce this.  The makefile passes this symbol via a 
> > command line run by bash.  It seems like a sizing change - bash 2.04
> > fails with the original sizes but bash 2.05 is successful.  It appears 
> > that if the data being passed in the symbol is more than around 2000
> > characters it fails with the bash 2.04 provided in the refresh.
> 
> Sorry, I'm lost here (and had similar problems with the original
> report posted on c.o.m.d., that's why I didn't respond).  What
> ``symbol'' are we talking about here?  

The symbol is MASK - which just contains the contents `cat dtlist.aa`
The file dtlist.aa is around 3K in size and is the output of ls -1
(a set of names).  That set of names is then passed inside the makefile
to another procedure - but I've come up with a simpler example (2 files)
which can show the problem.

> And what makefile is involved here--can I see it?

It's in the GPC test distribution.  The original message on c.o.m.d 
gives the location.  Below I've includeded the content of the
message I sent to the OP yesterday after some testing.  I am 
convinced he was using a different version of bash (probably a 2.05
version) on the testing before the refresh.

> Also, the original report wasn't talking about 2000 characters, but
> about a much smaller limit, 128 characters, and I'm not sure how these
> two are related (see below).

Actually the split is 128 lines vs 250 lines, each file is around 12 
characters or so - so 128 lines ends up (with cr-lf terminators) around
1800 chars instead of 3000 chars.

> > I suspect this test file was created using bash 2.05 as the implementation
> > environment?
> > 
> > > -ls -1 *.pas | split -l 250 - dtlist.
> > > +ls -1 *.pas | split -l 128 - dtlist.
> > >   for %%f in (dtlist.*) do make MASK="`cat %%f`" pascal.check-long >> make.out


Subject: Re: [Fwd: ANNOUNCE: DJGPP V2.03 Refresh Beta]
To: Maurice DOT Lombardi AT ujf-grenoble DOT fr (Maurice Lombardi)
Date: Sat, 22 Dec 2001 16:46:03 -0600 (CST)

> I use it regularly with the stock bash-2.04 available on simtelnet,
> when recompiling gpc snapshots. No problem until refresh.

I put sh & bash.exe 2.04 (578,048 bytes, date 06/30/2001) from Simtel in a
a directory.  I added make.exe (203,776 bytes, date 07/14/2000) from
Simtel.  I added cat.exe (71,168 bytes, date 02/03/2000).  I also added
djecho (to display the file).  I ran tests with the test file to be "cat"ed
being 2145 bytes and 3250 bytes.  The short one succeeded, the long one
failed.  I tried the test on Windows 98, NT, and 2000 - all same behavior.

The test shows identical behavior with the refreshed bash and the bash
I got from Simtel (both fail with the bigger file).  bash 2.05 does 
work without problems when I tested it.

Please check the date and size of the bash which works for you.

I was able to make a small test with the files:

test.bat:
make MASK="`./cat test.fil`"

makefile:
SHELL = /bin/sh

all: test.fil
        ./djecho "$(MASK)"

- Raw text -


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