gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] GCL on mingw


From: Camm Maguire
Subject: Re: [Gcl-devel] GCL on mingw
Date: 12 Dec 2003 15:14:56 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Hi Vadim, and thanks!

"Vadim V. Zhytnikov" <address@hidden> writes:

> > 1) value of the configure determined define DBEGIN
> 
> #define DBEGIN _dbegin
> 
> with hard coded _dbegin = 0x10100000
> 

I know this is in main.c, but doesn't configure put out a line like
this:

checking finding DBEGIN... got 0x8000000


?

> > 2) on building a gcl with --enable-debug, run under gdb, breaking at
> >    main, and report the value of 'p sbrk(0)'
> 
> 270663680
> 

OK.

> > 3) break at init_lisp, stop at this line:
> >     if (NULL_OR_ON_C_STACK(&j) == 0
> >         || NULL_OR_ON_C_STACK(Cnil) != 0
> >         || (((unsigned long )core_end) !=0
> >             && NULL_OR_ON_C_STACK(core_end) != 0))
> >       { /* check person has correct definition of above */
> >         error("NULL_OR_ON_C_STACK macro invalid");
> >       }
> >    and report the values returned by 'p &j', 'p &Cnil_body', and 'p
> >    core_end'.
> >
> 
> I guess you mean initlisp.  But I really have a trouble with
> this test.  If I make
>   (gdb) br initlisp
> GDB responds that it will stop at some address.
> So far so good. But when I make
>   (gdb) run
> GCL starts but nothing happens - no breakpoint is activated.
> What I'm doing wrong?

For this you need to run gdb on raw_gcl, and invoke as (in gdb):

r ./ <foo

in the unixport subdir.

> 
> > 4) Try to let me know if the C stack counts up or down.  I.e. break in
> >    some function with a local variable defined, and print the address
> >    of that variable, and compare it to the address of a local variable
> >    defined in a surrounding function (i.e. a parent function).
> >
> 
> Stack counts down as far as I understand.  At least this is frame
> addresses for trivial recursive function:
> 
> 0: 0x22fe48
> 1: 0x22fe68
> 2: 0x22fe88

OK, thanks!  Do you knwo what the default stack size limits are on
mingw?  I think its 8M by default on Debian Linux.  Is there a system
call that can be made to determine this value?

The stack and the heap are clearly not overlapping.  My guess is that
the static areas won't pose a problem as well.  Which leaves shared
libs as a possibility.  We may have to get the backtrace from the
failure to allocate error to pinpoint this.

Take care,

> ...
> 
> 
> 
> 
> 
> -- 
>       Vadim V. Zhytnikov
> 
>        <address@hidden>
>       <address@hidden>
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

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