Hi Camm.
| > Following your overnight advice I set base in unexnt.c to
| > DBEGIN+PAGESIZE*500 rather than DBEGIN which puts DBEGIN below the
| > DBEGIN+start
| > of the heap sufficiently to avoid that early call to GBC.
| >
|
| Great!
|
| > raw_pre_gcl.exe then barfs in the first find_package due to
| a problem
| > in the check_package_designator() macro.
| >
|
| I've seen this before too, but have forgotten the cause. It
| is simple if memory serves.
Would you agee that the sequence below is wrong, specifically the part
where set_type_of alters the value of *(object*) obj.
The new value of 0x80090000 is above the immediate fixnum configuration
constant and so causes the later problem with find_package.
==========================================================
Breakpoint 3, alloc_object (t=t_string) at alloc.c:364
364 if ((obj=maybe_alloc_on_stack(tm->tm_size,t))) {
(gdb) s
370 CHECK_INTERRUPT;
(gdb) n
372 obj = tm->tm_free;
(gdb) n
373 if (obj == OBJNULL) {
(gdb) n
389 tm->tm_free = OBJ_LINK(obj);
(gdb) s
390 --(tm->tm_nfree);
(gdb) obj->c.c_cdr
Undefined command: "obj-". Try "help".
(gdb) p obj->c.c_cdr
$1 = 0xa0170000
(gdb) p *(object *) obj
$2 = 0xa0170000
(gdb) n
391 (tm->tm_nused)++;
(gdb) n
392 set_type_of(obj,t);/*FIXME try removing this*/
(gdb) s
393 return(obj);
(gdb) p *(object *) obj
$3 = 0x80090000
(gdb) p obj->c.c_cdr
$4 = 0x80090000
(gdb)
==========================================================
Cheers
Mike Thomas
_______________________________________________
Gcl-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gcl-devel