Hi, everybody
I have downloaded the djgpp binary of this alpha. We are one step farther, the bug I have reported on 980401 is no more there. But there is one more. Trying to compile BGI2GRX demos, the compiler hangs under DOS/DJGPP. I have previously recompiled GRX22 and BCC2GRX which are used by BGI2GRX, and their demos with gcc 2.8.0. All runs correctly. To track the bug, I use no automake. BGI2GRX.PAS compiles without apparent problem. Then I compile the program bug.pas which in fine contains only:
program ModeList;
uses BGI2GRX;
begin end.
with
redir -e bug.lst gpc -v -o bug.exe bug.pas
the compiler hangs under plain DOS/DJGPP but finish after some time with a general protection fault message under bash1147
The content of bug.lst is then:
Using builtin specs. gpc version 2.8.0 f:/djgpp/lib/gcc-lib/djgpp/2.80/gpc-cpp.exe -lang-pascal -v -nocharescape -undef -D__GNUC__=2 -D__GPC__=2 -D__GNUC_MINOR__=8 -Dunix -Di386 -DGO32 -DMSDOS -DDJGPP=2 -D__unix__ -D__i386__ -D__GO32__ -D__MSDOS__ -D__DJGPP__=2 -D__unix -D__i386 -D__GO32 -D__MSDOS -D__DJGPP=2 -Asystem(unix) -Asystem(msdos) -Acpu(i386) -Amachine(i386) -D__BITS_LITTLE_ENDIAN__=1 -D__BYTES_LITTLE_ENDIAN__=1 -D__WORDS_LITTLE_ENDIAN__=1 -Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__ -Asystem(unix) -Acpu(i386) -Amachine(i386) bug.pas C:\TMP/ccaaaaaa.i GNU CPP version 2.8.0 (80386, BSD syntax) #include "..." search starts here: #include <...> search starts here: /usr/local/include JDIR/djgpp/include JDIR/lib/gcc-lib/djgpp/2.80/include $DJDIR/include End of search list. f:/djgpp/lib/gcc-lib/djgpp/2.80/gpc1.exe C:\TMP/ccaaaaaa.i -quiet -dumpbase bug.pas -version -famtmpfile=bug.gpc -o C:\TMP/ccaaaaaa.s GNU Pascal version 2.8.0 (djgpp) compiled by GNU C version 2.8.0. General Protection Fault at eip=1cee0f; flags=3012 eax=001d1d0e ebx=001c016f ecx=00000123 edx=00000000 esi=002d0000 edi=00012300 ebp=0000000d esp=001f5b18 cs=167 ds=16f es=16f fs=14f gs=17f ss=16f error=0000
(what is JDIR in the include search ? )
In a WIN311 DOS box there is also a general protection fault caught by the system, so that the DPMI server is not responsible.
A completely different problem, found while trying to recompile various programs. The BPCOMPAT 1.1 package have to be adapted to the new version. Some issues are simple: ParamCount and ParamStr are now builtin and the compiler barks because _p_paramcount and _p_paramstr no more exist in libgpc. The string issues have to be reconsidered: the trick Type String = bpString used with the _BORLAND_PASCAL_ compilation parameter causes problem because String[255] (e.g. in tFileRec in system.pas) is no more valid (I cannot understand how it can have been valid previouly). I can make a workaround in this case, but it would be better than the author have a more general look. There have been many discussions on strings in this mailing list, and I am a bit lost now.
An other independant problem. Is it usefull that I try to recompile the compiler under DJGPP now ? I had problems with the 971001 beta, and the configure.bat seems to be the same.