Hi Folks,
the good news about the 20011123 version under IRIX 6.5 is that it compiles without problems and no test fails with the 20011123 test kit. The writeln works properly thanks to the --big-endian trick of Frank.
The bad news are:
- the kit won't compile with the native sed/grep but with the GNU versions only.
- the produced binary still leaks memory on string operations unless they are in the procedures.
- the -static switch is broken. Here is the log with the -v switch:
Reading specs from /var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/specs gpc version 20011123, based on 2.95.2 19991024 (release) /var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/gpcpp -lang-pascal -v -I/home/pugh/miklos/src -famtmpfile=/var/tmp/cca00jWd -fbig-endian -fdelphi-comments -D__GNU_PASCAL__ -undef -D__GNUC__=2 -D__GNUC_MINOR__=95 -D__GPC__=2 -D__GPC_MINOR__=0 -D__GPC_VERSION__=2.0 -D__GPC_RELEASE__=20011123 -D__BITS_BIG_ENDIAN__=1 -D__BYTES_BIG_ENDIAN__=1 -D__WORDS_BIG_ENDIAN__=1 -D__NEED_ALIGNMENT__=1 -Dunix -Dmips -Dsgi -Dhost_mips -DMIPSEB -D_MIPSEB -DSYSTYPE_SVR4 -D_LONGLONG -D_SVR4_SOURCE -D_MODERN_C -D__DSO__ -D__unix__ -D__mips__ -D__sgi__ -D__host_mips__ -D__MIPSEB__ -D_MIPSEB -D__SYSTYPE_SVR4__ -D_LONGLONG -D_SVR4_SOURCE -D_MODERN_C -D__DSO__ -D__unix -D__mips -D__sgi -D__host_mips -D__MIPSEB -D__SYSTYPE_SVR4 -Asystem(unix) -Asystem(svr4) -Acpu(mips) -Amachine(sgi) -D__CHAR_UNSIGNED__ -D__OPTIMIZE__ -D__LANGUAGE_C -D_LANGUAGE_C -DLANGUAGE_C -D__SIZE_TYPE__=unsigned int -D__PTRDIFF_TYPE__=int -D__EXTENSIONS__ -D_SGI_SOURCE -D_MIPS_FPSET=32 -D_MIPS_ISA=_MIPS_ISA_MIPS3 -D_ABIN32=2 -D_MIPS_SIM=_ABIN32 -D_MIPS_SZINT=32 -D_MIPS_SZLONG=32 -D_MIPS_SZPTR=32 -D_COMPILER_VERSION=601 -U__mips -D__mips=3 -D__mips64 das.p /var/tmp/cca00jWd.i GNU Pascal Compiler PreProcessor version 20011123, based on gcc-2.95.2 19991024 (release) [AL 1.1, MM 40] SGI running IRIX 6.x #include "..." search starts here: #include <...> search starts here: /home/pugh/miklos/src /var/tmp/gpc/include /var/tmp/gpc/mips-sgi-irix6.5/include /var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/include /usr/include End of search list. /var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/gpc1 /var/tmp/cca00jWd.i -mno-abicalls -quiet -dumpbase das.pas -O -version -famtmpfile=/var/tmp/cca00jWd -fbig-endian -o /var/tmp/cca00jWd.s GNU Pascal version 2.95.2 19991024 (release) (mips-sgi-irix6.5) compiled by GNU C version egcs-2.91.66 19990314 (egcs-1.1.2 release). GNU Pascal version is actually 20011123, based on gcc-2.95.2 19991024 (release) /usr/bin/as -O2 -g0 -nocpp -show -G 0 -w -n32 -o /var/tmp/cca00jWd1.o /var/tmp/cca00jWd.s /usr/bin/../../usr/lib32/cmplrs/as -DEFAULT:abi=n32:isa=mips4:proc=r10k -O2 -g0 -nocpp -show -G 0 -w -n32 -o /var/tmp/cca00jWd1.o /var/tmp/cca00jWd.s /usr/lib32/cmplrs/asm -t5_ll_sc_bug -EB -pic2 -elf -O2 -g0 -G0 -w -mips4 -n32 /var/tmp/cca00jWd.s -o /var/tmp/cca00jWd1.o /var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/collect2 -non_shared -init __do_global_ctors -fini __do_global_dtors -_SYSTYPE_SVR4 -woff 131 -n32 -o das.sgi /usr/lib32/mips3/nonshared/crt1.o /var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/crtbegin.o -L/var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2 -L/usr/bin -L/var/tmp/gpc/lib /var/tmp/cca00jWd1.o -lgpc -lm -dont_warn_unused -lgcc -warn_unused -L/usr/lib32/mips3 -L/usr/lib32 -dont_warn_unused -lc -warn_unused -dont_warn_unused -lgcc -warn_unused /var/tmp/gpc/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/crtend.o /usr/lib32/mips3/crtn.o ld32: FATAL 9 : I/O error (/usr/lib32/mips3/nonshared/crt1.o): No such file or directory collect2: ld returned 32 exit status
The crt1.o is actually in /usr/lib32/mips3. The /usr/lib32/mips3/nonshared is not exist. What is the civilized way to tell the compiler where to look for the proper objects? (Other than set up a symlink and fool the compiler.)
Nice work otherwise, cheers,
miklos