[Top][All Lists]
[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
- [Gcl-devel] cygwin - the story continues,
Billinghurst, David (CRTS) <=