gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] mac os x port questions


From: Aurelien Chanudet
Subject: Re: [Gcl-devel] mac os x port questions
Date: Sun, 15 Feb 2004 12:53:21 +0100

By comparing with an older version of GCL (see gdb output below) which works on Mac OS X, I can identify some defaults which changed. These changes might be the origin of the problem. In file h/cmpinclude.h :

/* #define      INIT_HOLEPAGE   150 */
/* #define      INIT_NRBPAGE    50 */
/* #define      RB_GETA         512 */

#define INIT_HOLEPAGE   (6*HOLEPAGE/5)
#define INIT_NRBPAGE    (INIT_HOLEPAGE/3)
#define RB_GETA         (10*INIT_NRBPAGE)


Aurelien

---

Starting program: /src/gcl/unixport/raw_gcl
Reading symbols for shared libraries +.. done
Error in re-setting breakpoint 1:
Function "gcl_init_alloc" not defined.
Re-enabling shared library breakpoints: 1

Breakpoint 1, gcl_init_alloc () at alloc.c:730
warning: Source file is more recent than executable.

730       if (initialized) return;
(gdb) n
731       initialized=1;
(gdb) n
738         malloc_list = Cnil;
(gdb) n
739         enter_mark_origin(&malloc_list);
(gdb) n
743       holepage = INIT_HOLEPAGE;
(gdb) n
744       new_holepage = HOLEPAGE;
(gdb) p holepage
$1 = 150
(gdb) n
745       nrbpage = INIT_NRBPAGE;
(gdb) n
747       set_maxpage();
(gdb) n
766       INIT_ALLOC;
(gdb) p real_maxpage
$2 = 330948
(gdb) n
769       alloc_page(-(holepage + nrbpage));
(gdb) p core_end
$3 = 0xcc4000 ""
(gdb) p heap_end
$4 = 0xcc4000 ""
(gdb) p mach_mapstart
$5 = 0xcc4000 ""
(gdb) p mach_maplimit
$6 = 0x50cc4000 <Address 0x50cc4000 out of bounds>
(gdb) s
alloc_page (n=-200) at alloc.c:100
100             e = heap_end;
(gdb) n
101             if (n >= 0) {
(gdb) n
144             n = -n;
(gdb) n
145             m = (core_end - heap_end)/PAGESIZE;
(gdb) n
146             if (n <= m)
(gdb) p m
$7 = 0
(gdb) n
149             IF_ALLOCATE_ERR error("Can't allocate.  Good-bye!");
(gdb) p n
$8 = 200
(gdb) n
151             if (sgc_enabled)
(gdb) n
154             core_end += PAGESIZE*(n - m);
(gdb) n
155             return(e);}
(gdb) n
156     }
(gdb) n
gcl_init_alloc () at alloc.c:771
771       rb_start = rb_pointer = heap_end + PAGESIZE*holepage;
(gdb) p rb_start
$9 = 0x0
(gdb) n
772       rb_end = rb_start + PAGESIZE*nrbpage;
(gdb) n
773       rb_limit = rb_end - 2*RB_GETA;
(gdb) n
775       tm_table[(int)t_relocatable].tm_sgc = 50;
(gdb) n
778       for (i = 0;  i < MAXPAGE;  i++)
(gdb) list
773       rb_limit = rb_end - 2*RB_GETA;
774     #ifdef SGC
775       tm_table[(int)t_relocatable].tm_sgc = 50;
776     #endif
777
778       for (i = 0;  i < MAXPAGE;  i++)
779         type_map[i] = (char)t_other;
780
781 /* Unused (at present) tm_distinct flag added. Note that if cons
782          and fixnum share page types, errors will be introduced.
(gdb) p rb_start
$10 = 0xd5a000 ""
(gdb) p rb_end
$11 = 0xd8c000 ""
(gdb) b rb_limit
"rb_limit" is not a function
(gdb) p rb_limit
$12 = 0xd8bc00 ""
(gdb) p mach_maplimit
$13 = 0x50cc4000 <Address 0x50cc4000 out of bounds>
(gdb) p mach_mapstart
$14 = 0xcc4000 ""
(gdb) p holepage
$15 = 150
(gdb) p heap_end
$16 = 0xcc4000 ""





reply via email to

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