gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] cygwin - the story continues


From: Billinghurst, David (CRTS)
Subject: [Gcl-devel] cygwin - the story continues
Date: Thu, 20 Dec 2001 13:01:08 -0000

More debugging on cygwin.  This may be my last effort before I head off
on holidays for a couple of weeks.

We have:

#define CSTACK_ADDRESS 22934424
#define DBEGIN 0x1a000000
#define PAGEWIDTH 12
#define MAXPAGE 32*1024
#define pagetochar(x) ((char*)(((x)<<PAGEWIDTH + DBEGIN)


We get

GCL (GNU Common Lisp)  April 1994  32768 pages

Unrecoverable error: NULL_OR_ON_C_STACK macro invalid.


Breakpoint 1, main (argc=4, argv=0x1a1030c0, envp=0x1a10127c) at
main.c:119
initlisp () at main.c:351

(gdb) print &j
$5 = (int *) 0x22ddc0

(gdb) print ((object)&Cnil_body)  <- This is Cnil
$6 = (union lispunion *) 0x52c23c

(gdb) print ((unsigned long)core_end)
$7 = 438075392   which is 0x1a1c8000


The original cygwin definition of NULL_OR_ON_C_STACK 
won't pass.  We have &j < DBEGIN and  Cnil < DBEGIN
and require Cnil > DBEGIN

The proposed one of (x)==0 || (x) > pagetochar(MAXPAGE+1)
doesn't work either.
pagetochar(MAXPAGE+1) = (((32*1024+1)<<12) + DBEGIN = 0x22001000
but &j < DBEGIN < pagetochar(MAXPAGE+1)

Note that:
     core_end > DBEGIN
and  core_end < pagetochar(MAXPAGE+1)
so core_end will pass original test but fail proposed test. 

Merry Christmas

+++++++++++++++++++++++++++++++++++++++++
(Mr) David Billinghurst
Comalco Research Centre
PO Box 316, Thomastown, Vic, Australia, 3074
Phone:  +61 3 9469 0642
FAX:            +61 3 9462 2700
Email:  address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]