Frank Heckenbach a écrit:
Maurice Lombardi wrote:
I have now tried to build gpc with gcc-3.1.1 under djgpp
It might be a problem with the executable suffix. I hope the following patch with the corresponding code from 3.1.1's gcc.c will fix it.
That was part of the solution. With this patch it goes up to the compilation of strings.pas. It dies with
------------------------------------------------------------------
../.././xgpc -B../.././ -c -I. -W -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -g -O2 --unit-path=/dev/c/djgpp/gnu/gcc311s2/gnu/gcc-3.11/gcc/p/rts --automake `cat needed-options` -DRTS_RELEASE_STRING="'`cat /dev/c/djgpp/gnu/gcc311s2/gnu/gcc-3.11/gcc/p/rts/rts-version`'" -DGCC_VERSION="'3.11'" /dev/c/djgpp/gnu/gcc311s2/gnu/gcc-3.11/gcc/p/rts/string.pas gpc1.exe: internal error: Segmentation violation Please submit a full bug report, with preprocessed source if appropriate. See URL:http://www.gnu-pascal.de/todo.html for instructions. make.exe[3]: *** [string.o] Error 1 make.exe[3]: Leaving directory `c:/djgpp/gnu/gcc311s2/gnu/gcc-3.11/build.djg/gcc/p/rts' make.exe[2]: *** [pascal.rts] Error 2 make.exe[2]: Leaving directory `c:/djgpp/gnu/gcc311s2/gnu/gcc-3.11/build.djg/gcc' make.exe[1]: *** [stage2_build] Error 2 make.exe[1]: Leaving directory `c:/djgpp/gnu/gcc311s2/gnu/gcc-3.11/build.djg/gcc' make.exe: *** [bootstrap] Error 2
--------------------------------------------------------------------------------
rerunning this with -v gives a more explicit message:
-------------------------------------------------------------------------------
Reading specs from ../.././specs Configured with: ../configure i586-pc-msdosdjgpp --prefix=/dev/env/DJDIR --disab le-nls --enable-languages=pascal --enable-checking Thread model: single gpc version 20021111, based on gcc-3.1.1 ../.././gpcpp.exe -v -I. -iprefix ../.././../lib/gcc-lib/djgpp/3.11/ -isystem . ./.././include -famtmpfile=c:\djgpp\tmp/ccCEMbWl.gpa -funit-path=/dev/c/djgpp/gn u/gcc311s2/gnu/gcc-3.11/gcc/p/rts -fautomake -fdelphi-comments -D__GNU_PASCAL__ -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GPC__=2 -D__GPC_MINOR__=1 -D__GPC_VERSION__= 2.1 -D__GPC_RELEASE__=20021111 -D__BITS_LITTLE_ENDIAN__=1 -D__BYTES_LITTLE_ENDIA N__=1 -D__WORDS_LITTLE_ENDIAN__=1 -D__NEED_NO_ALIGNMENT__=1 -D__MSDOS__ -D__GO32 __ -D__DJGPP__=2 -D__unix__ -D__MSDOS__ -D__GO32__ -D__DJGPP__=2 -D__unix__ -Asy stem=msdos -Asystem=unix -D__OPTIMIZE__ -W -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Acpu=i386 -Amachine=i386 -Di386 -D __i386 -D__i386__ -D__tune_i586__ -D__tune_pentium__ -DMSDOS -DGO32 -DDJGPP=2 -D unix -remap -imacros ../.././djgpp.ver -DRTS_RELEASE_STRING='20021111' -DGCC_VER SION='3.11' /dev/c/djgpp/gnu/gcc311s2/gnu/gcc-3.11/gcc/p/rts/string.pas c:\djgpp \tmp/cc48odIx.i GNU Pascal Compiler PreProcessor version 20021111, based on gcc-3.1.1 (80386, BS D syntax) {$include "..."} search starts here: {$include <...>} search starts here: . End of search list. ../.././gpc1.exe c:\djgpp\tmp/cc48odIx.i -quiet -dumpbase string.pas -g -O2 -W -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declaration s -version -famtmpfile=c:\djgpp\tmp/ccCEMbWl.gpa -funit-path=/dev/c/djgpp/gnu/gc c311s2/gnu/gcc-3.11/gcc/p/rts -fautomake -o c:\djgpp\tmp/ccKEoOhP.s GNU Pascal version 3.1.1 (djgpp) compiled by GNU C version 3.1.1. GNU Pascal version is actually 20021111, based on gcc-3.1.1 gpc1.exe: tree check: expected class 't', have '<' (unlt_expr) in pushdecl, at p /gpc-decl.c:2800 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://www.gnu-pascal.de/todo.html for instructions. [exited with 1]
----------------------------------------------------------------------------------
Maurice