gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: gcl on ms windows


From: Camm Maguire
Subject: [Gcl-devel] Re: gcl on ms windows
Date: 13 Feb 2002 22:26:41 -0500

Greetings!

Dan Stanger <address@hidden> writes:

> I made a list of the things I have done to try to get gcl to build
> maxima on ms windows, and
> the things I have determined:
> 
> Gcl built maxima as late as March 2001, using cygwin.
> 

Great!  You sure, not mingw??  Are the maxima sources from that date
still available?

> As of 2/2/2002, gcl built with cygwin will not build maxima.  The
> compiler fails on building
> the macros.
> 
> Using Doug Lea's malloc breaks saving gcl.
> 

Not surprising.  Gcl's malloc wraps around a page allocator using
sbrk.  Pages are marked as to the type of lisp object they will hold.
The pages must be contiguous for this scheme to work, as it is used
for "contblock" objects, for example.  I've done part of the logi
change that would be necessary to use an external mm, but its not
trivial. 

> I think Dr. Schelter was using his own free lists for memory during
> garbage collection.
> 

Yes.

> If gc is causing a problem, then it is not causing a assertion in
> malloc.
> 

???  cannot grok this.


> I replaced DBEGIN with a variable using sbrk.
> 

OK, DBEGIN can be several tens of megabytes before the address of the
first malloc without problem, as specified in the comments, and as
also empirically observed.  The type manager array, for example, which
described the data on the various pages, doesn't start having useful
info until about 1/4 of the way into the array.

In any case, you can't just replace this with sbrk(0). as its value
will change as it is invoked, and the indices into the type manager
array, for example, won't be consistent.  You could invoke once on
starupt and save to some global variable called dyn_dbegin, if you
wanted too.

> I made changes to use raw_gcl and load files at startup, from
> /usr/local/gcl.
> 

To compile maxima?  Does this work?

> I modified make to accept compiler options to pass to the compiler.
> 

Great!  Love to see the change.

> Mingw was not usable either, probably because it allocates a heap below
> and above
> the program but I cannot confirm this.
> 

:-(  I thought this was near working?

> Recent gcl builds do not core dump on startup with gcl.
> 

An encouraging sign!  But I thought we had working stand-alone gcl for
a while, but just couldn't do heavy duty things like compile maxima, no?

> The compiler option system-p seems to add a explict entry point for a
> object file,
> making the data file unnecessary.
> 

I think your later message clarifies this, right?


> There is some unknown compiler option that puts the include files in the
> beginning
> of the c code based on the current configuration.
> 

As you've discovered, :system-p.

> I think I have made most progress building on linux, and then copying
> the c and h files
> to windows and compiling there.
> 

So what have you accomplished thus far with this setup?

take care, and thanks for the report!!!

> 
> 
> 
> 

-- 
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]