
////////////////// Linux ////////////////////////

Platform:  Linux
Date: 	   27.2.1999 
Author:    Jrg Mensing

1) Double fclose() lead to core dump
pascl/pcomp.P:comment out beginning line 326
(* This close will be done in 'sql__exit'. If it is done here,
   a core dump is produced on LINUX during sql__exit.... jrg 25.2.1999 *)
(*
      if control ['o'] then begin
         CloseObjFile;
      end;
 *)
gram/codeservice.h:17
(* procedure CloseObjFile; *)
(* external; *)


this called a routine close the ObjFile, which is used
to store the output. This does the first close, but the 'rediroutput' Routine
stored the file into a global array used during sql__exit() to do a second
close...
Solution: Call to CloseObjFile() removed from pascl/pcomp.P
or pcomp/pcomp.c:614 (if no ptoc exists...) and definition removed from 
common/genc_util.c:527 
/*
 * This is bad....
 * The ObjFile is closed twice. Here and during sql__exit()
 * Since sql__exit is always called this Routine is not only
 * not needed, but would lead to an error...
 */
/*
 *  CloseObjFile ()
 *  {
 *      fclose (ObjFile);
 *  }
 */


2) Symboltable size increased from 2048 to 8192

ptoc Symbol table was too small...

If working ptoc already exists, modify the pascal file line:

common/symtab.i:23:   SymSize = 8192;

and the C_Header Files lines:

common/symtab.ci:240:# define SymSize           8192
common/stab.h:12:#define StabLength 8192
common/strtab.h:9:#define StabLength 8192
 
and recompile: make clean;make!


If you do not trust ptoc do modify following lines in exisiting C_Files...
(unfortunatly this was the case during the LINUX port...)

common/symtab.ci:240:# define SymSize           8192
common/symtab.i:23:#    SymSize = 8192;
common/stab.h:12:#define StabLength 8192
common/strtab.h:9:#define StabLength 8192
pcomp/dump_hdg.c:157:  } STab[8192];
pcomp/genc.c:158:  } STab[8192];
pcomp/genc_typ.c:158:  } STab[8192];
pcomp/init.c:157:  } STab[8192];
pcomp/optdriver.c:158:  } STab[8192];
pcomp/optm1.c:158:  } STab[8192];
pcomp/optm15.c:157:  } STab[8192];
pcomp/optm2.c:158:  } STab[8192];
pcomp/optm5.c:157:  } STab[8192];
pcomp/optm6.c:157:  } STab[8192];
pcomp/pcomp.c:162:SYMTAB STab[8192];
pcomp/sem.c:160:  } STab[8192];
pcomp/semutil.c:158:  } STab[8192];
pcomp/symtab.c:158:  } STab[8192];
pcomp/sysprocs.c:159:  } STab[8192];
pcomp/temp_util.c:157:  } STab[8192];
pcomp/utilities.c:158:  } STab[8192];

and recompile: make ( NO make clean!!!! )

////////////////// IA 64 ////////////////////////

Date:     8.9.00 
Platform: IA64 
Author:	  R.Roedling

- Runtime Library names changed.
    ptocntr.lib -> ptocntr64.lib
    ptocnts.lib -> ptocnts64.lib

- The symbol table size increased from 8192 to 32768

