>>>> "Volker" == Volker Zell writes:
Volker> With the 2 latest versions of the cygwin dll (namley
Volker> cygwin1.dll version 1.5.20/21 the cygwin compiled xemacs
Volker> crashes with the following minimal init.el:
Volker> (require 'un-define)
Volker> There is a 10 MB lisp backtrace.
Unlikely to be useful. Thanks for omitting it!
Volker> Running under gdb gives the following:
Volker> Program received signal SIGSEGV, Segmentation fault.
Volker> 0x005b3043 in probe ()
Volker> (gdb) bt
Volker> #0 0x005b3043 in probe ()
Volker> #1 0x00013720 in ?? ()
Volker> #2 0x004113c9 in optimize_byte_code (instructions=279204260,
constants=293326848, program=0x204540 "", program_length=0x22b394,
varbind_count=0x22b398)
Volker> at /usr/src/xemacs-21.4.19/src/bytecode.c:1627
The code at bytecode.c:1627 is the last line calling alloca_array
below. I wonder if maybe the compiler doesn't like the local
declaration of struct jump in the middle of the declarations with
initializations, or maybe either the compiler or cygwin.dll just
doesn't handle alloca_array as we expect. alloca_array is a macro in
lisp.h:
#define alloca_array(type, len) ((type *) alloca ((len) * sizeof (type)))
----------------------------------------------------------------
optimize_byte_code (/* in */
Lisp_Object instructions,
Lisp_Object constants,
/* out */
Opbyte * const program,
int * const program_length,
int * const varbind_count)
{
size_t instructions_length = XSTRING_LENGTH (instructions);
size_t comfy_size = 2 * instructions_length;
int * const icounts = alloca_array (int, comfy_size);
int * icounts_ptr = icounts;
/* We maintain a table of jumps in the source code. */
struct jump
{
int from;
int to;
};
f struct jump * const jumps = alloca_array (struct jump, comfy_size);
struct jump *jumps_ptr = jumps;
----------------------------------------------------------------
--
School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.