salkind%nyu@sri-unix.UUCP (03/16/84)
From: Lou Salkind <salkind@nyu> Subject: Efl fails in 4.2 Index: usr.bin/efl 4.2BSD Description: Efl bombs out, even on the simplest files. It reports something like: f77 -F ../gas/gpertsub.e File ../gas/gpertsub.e: calloc(1024 words) Bad count word 1024 Highwater mark 2384 words. 2155 words left over ***Compiler error on line 15. Line 15: out of memory. Termination code 11 and then then goes into an infinite loop. Repeat-By: (file above not included) Fix: The problem is that efl defines its own memory allocation routines alloc, malloc, calloc, free, cfree with different calling conventions. Some routine in the C library (probably stdio) eventually calls one of the efl routines and corrupts the memory allocation arena. (Actually, it is surprising it worked in 4.1.) To fix the problem, add the following lines (after the #define ALLOC) to the defs file: #define calloc efl_calloc #define alloc efl_alloc #define malloc efl_malloc #define cfree efl_cfree #define free efl_free