Mail Archives: djgpp-workers/1999/03/15/05:01:09
~
On Sun, 14 Mar 1999, Eli Zaretskii wrote:
>
> On Fri, 12 Mar 1999, Peter Gerwinski wrote:
>
> > Sorry - my mistake. :-( It was a trivial problem (a missing
> > "export SHELL=g:/djgpp/bin/bash.exe").
>
> Where did you need to put this line? In general, shell scripts
> should work correctly without such a setting, provided that you have
> sh.exe (a symlink to bash.exe) somewhere on your PATH.
>
> > The test is running now
> > but is somewhat slow (at least a factor of ten slower than under
> > Linux), probably due to a lot of pipes being involved.
>
> Yes, pipes and `command` expansion are much slower in the DJGPP port,
> because they are emulated with disk files. Having TMPDIR pointed to a
> large RAM disk helps to some degree.
>
There is still problems:
simply 'make' in tests directory:
I'm getting SIGABRT in make with both make-3.77 and
make-3.76.1 . I specially put back original binaries
of make.exe from make377b.zip to get usable stack trace
(see and of this message). Some error messages seems to generated
at very begin of loop.
'SHELL=$DJDIR/bin/sh.exe make' from bash works. However I'm
getting problems later due to Win9X DPMI problems (large number
of processes). Therefore I tried this running bash under
DOSEMU-0.99.9 in Linux (kernel-2.2.3, glibc-2.1, etc). Had to increase
max number of simultanous DPMI clients for DOSEMU and rebuild it as
the default (8) was insufficient. After that I got following results
(from more than 700 tests I included only ones which had at least some
problems). So I had 4 failures from more than 700 tests
Andris
----------------------- Test results ----------------------------------
TEST fjf119.pas: Failed: 439
TEST fjf120.pas: Failed: 439439439
In file included from fjf203.c:1:
c:/djgpp/include/stdio.h:72: parse error before `char'
c:/djgpp/include/stdio.h:73: parse error before `const'
c:/djgpp/include/stdio.h:75: parse error before `char'
c:/djgpp/include/stdio.h:77: parse error before `char'
c:/djgpp/include/stdio.h:78: parse error before `const'
c:/djgpp/include/stdio.h:80: parse error before `const'
c:/djgpp/include/stdio.h:82: parse error before `void'
c:/djgpp/include/stdio.h:86: parse error before `char'
c:/djgpp/include/stdio.h:87: parse error before `char'
c:/djgpp/include/stdio.h:90: parse error before `char'
c:/djgpp/include/stdio.h:91: parse error before `char'
c:/djgpp/include/stdio.h:92: parse error before `char'
c:/djgpp/include/stdio.h:94: parse error before `char'
c:/djgpp/include/stdio.h:97: parse error before `const'
c:/djgpp/include/stdio.h:98: parse error before `char'
c:/djgpp/include/stdio.h:102: parse error before `const'
c:/djgpp/include/stdio.h:103: parse error before `char'
c:/djgpp/include/stdio.h:104: parse error before `const'
c:/djgpp/include/stdio.h:113: parse error before `const'
c:/djgpp/include/stdio.h:115: parse error before `char'
c:/djgpp/include/stdio.h:126: parse error before `char'
c:/djgpp/include/stdio.h:127: parse error before `const'
c:/djgpp/include/stdio.h:128: parse error before `const'
c:/djgpp/include/stdio.h:136: parse error before `char'
c:/djgpp/include/stdio.h:137: parse error before `char'
c:/djgpp/include/stdio.h:138: parse error before `const'
c:/djgpp/include/stdio.h:139: parse error before `char'
c:/djgpp/include/stdio.h:140: parse error before `char'
gpc1.exe: c:/djgpp/bin/gpc.exe exited with status 1
./fjf203.pas:2: `fjf203.c' could not be compiled
TEST fjf203.pas: failed
TEST fjf57.pas: OK
./longr1.pas:4: warning: requested alignment for X is greater than implemented alignment of 12.
TEST longr1.pas: OK
./markus4.pas:6: warning: requested alignment for X is greater than implemented alignment of 12.
TEST markus4.pas: OK
./sven15.pas:8: warning: requested alignment for Pi_l is greater than implemented alignment of 12.
c:/djgpp/tmp/ccdyzunj: In function `program_Longrealbug':
sven15.pas:16: undefined reference to `sinl'
sven15.pas:19: undefined reference to `sinl'
sven15.pas:26: undefined reference to `cosl'
sven15.pas:29: undefined reference to `cosl'
TEST sven15.pas: failed
./sven5.pas:4: warning: requested alignment for R is greater than implemented alignment of 12.
TEST sven5.pas: OK
---------------------------------------------------------------------------------------
Some comments:
Problems with fjf203.c: seems that gcc option -traditional breaks stdio.h
from DJGPP. This does not happen in Linux (glibc-2.1)
--------------- Output I'm getting from 'make' without setting SHELL --------
rm -f *.o *.gpm *.gpi a.out *.dat
echo "GPC-TEST-BEGIN"; \
echo "=========================="; \
for x in ./*.pas ; do \
xb=`basename $x`; \
xr=`echo "$x" | sed -e 's/\.pas/\.run/'` ; \
xi=`echo "$x" | sed -e 's/\.pas/\.in/'` ; \
if [ `grep -c executable-file-name $x` -gt 0 ]; then \
aout="" ; \
else \
aout="-o a.out" ; \
fi ; \
rm -f a.out 2>/dev/null ; \
if grep -i "Program.*;" >/dev/null $x ; then \
if grep WRONG >/dev/null $x ; then \
gpc -g -O3 -Wall --automake --unit-path=. --unit-path=./../rts --object-path=. --object-path=./../units --executable-path=. `grep FLAG $x | sed 's/(\*\ FLAG\ //' | sed 's/\ \*)//'` $aout $x 2> /dev/null ; \
echo -n "TEST $xb: " ; \
if [ -f "a.out" ] ; then \
echo -n "failed: " ; \
./a.out ; \
else \
echo "OK" ; \
fi ; \
else \
gpc -g -O3 -Wall --automake --unit-path=. --unit-path=./../rts --object-path=. --object-path=./../units --executable-path=. `grep FLAG $x | sed 's/(\*\ FLAG\ //' | sed 's/\ \*)//'` $aout $x; \
echo -n "TEST $xb: " ; \
if [ -f $xr ]; then \
if [ -f $xi ] ; then \
$xr < $xi ; \
else \
$xr ; \
fi ; \
else \
if [ -f "a.out" ] ; then \
if [ -f $xi ] ; then \
./a.out $x < $xi ; \
else \
./a.out $x ; \
fi ; \
else \
echo "failed" ; \
fi ; \
fi ; \
fi ; \
fi ; \
done; \
echo "=========================="; \
echo "GPC-TEST-END"
GPC-TEST-BEGIN
==========================
Syntax error
Bad command or file name
Bad command or file name
c:/djgpp/bin/sed.exe: -e expression #1, char 15: Unknown option to 's'
Abort!
Exiting due to signal SIGABRT
Raised at eip=0001eaaf
eax=00074d2c ebx=00000000 ecx=00000000 edx=00000000 esi=00004000 edi=00000120
ebp=00074dd8 esp=00074d1c program=C:\DJGPP\BIN/make.exe
cs: sel=010f base=401f2000 limit=0009ffff
ds: sel=0117 base=401f2000 limit=0009ffff
es: sel=0117 base=401f2000 limit=0009ffff
fs: sel=00f7 base=0001ff40 limit=0000ffff
gs: sel=012f base=00000000 limit=bfffffff
ss: sel=0117 base=401f2000 limit=0009ffff
App stack: [000763ac..000363ac] Exceptn stack: [00036300..000343c0]
Call frame traceback EIPs:
0x0001bdab
0x0001eaaf
0x00027e0d
0x00027dbd
0x00028f2b
0x00021711
0x0001a93c
0x00005831
0x000053d4
0x00005c3d
0x00004b6e
0x0000dbf1
0x0000d5b6
0x0000c91f
0x0000d7fc
0x0000d0b9
0x0000c91f
0x0000c5ee
0x00002eff
0x000197de
- Raw text -