Mail Archives: djgpp-workers/2001/12/23/13:06:16
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 -