Gary_Edmunds_Miller@cup.portal.com (11/15/89)
I was just using Emacs version 18.55 to test a recent port of GCC to a Charles River Data Systems/Universe 32. In the process a bug in alloc.c in Emacs 18.55 was found that causes a core dump. As an approximation of the code: ----- char staticvec1[NSTATICS * sizeof(Lisp_Object *)] = {0}; #define staticvec((Lisp_Object **)) staticvec1) void staticpro(varaddress) Lisp_Object *varaddress; { staticvec[staticidx++] = varaddress; ----- Now it just so happens that staticvec1 was aligned on an ODD byte, but GCC used a MOVE.L instruction on a 68000. A word write to an odd address causes a TRAP on a 68000. The fix is to define staticvec1 as an int and to descreas the size of staticvec1 by sizeof(int). .. RGDS GARY