From: Gary Leavens Newsgroups: comp.os.msdos.djgpp Subject: Bohem-Demers-Weiser garbage collector (gc) with C++ under DJGPP Date: Thu, 05 Jun 1997 17:37:59 -0500 Organization: Department of Computer Science, Iowa State Univ. Lines: 60 Message-ID: <33973FC7.67A6@cs.iastate.edu> NNTP-Posting-Host: larch.cs.iastate.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit CC: boehm AT hoh DOT mti DOT sgi DOT com, xiaokun AT aero DOT gla DOT ac DOT uk To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I'm trying to use the Boehm-Demers-Weiser garbage collector with the C++ interface under DJGPP. The C interface seems to work, this is with the 4.12alpha1 release of the gc system from http://reality.sgi.com/employees/boehm_mti/gc_source/ and DJGPP 2.01 and GNU gcc version 2.7.2.1. This version of the gc system has the latest fixes (from Kristian Kristensen and Fergus Henderson). What happens is that when I run C++ programs with the gc interface, I get messages like: Abort! STACK_GROWS_DOWN is defd, but stack appears to grow up sp = 0x198f48, GC_stackbottom = 0xc0174 stack direction = 3 Of course, I tried to compile it with STACK_GROWS_UP defined instead, but then none of the tests passes at all. (Perhaps the stack direction is different for C++ and C executables??) Also, when I try to run the cordtest program that comes with the gc system, that doesn't work either. The program never behaves like this on Unix. Here's some of the output from the makefile under djgpp. ./setjmp_test This appears to be a I386 running DJGPP Stack appears to grow down, which is the default. A good guess for STACKBOTTOM on this machine is 0x4D000. Note that this may vary between machines of ostensibly the same architecture (e.g. Sun 3/50s and 3/80s). On many machines the value is not fixed. A good guess for ALIGNMENT on this machine is 4. Generic mark_regs code may work ./gctest Completed 1 tests Finalized 2206/2206 objects - finalization is probably ok Total number of bytes allocated is 55227928 Final heap size is 4395008 bytes Collector appears to work Notice that the STACKBOTTOM macro is not the same as the number being reported in the Abort messages. When I run go32-v2, I get the massage... ... DPMI memory available: 8407 Kb DPMI swap space available 23353 Kb Any help would be appreciated. Gary Leavens -- 229 Atanasoff Hall, Department of Computer Science Iowa State Univ., Ames, Iowa 50011-1040 USA / leavens AT cs DOT iastate DOT edu phone: (515)294-1580 fax: (515)294-0258 ftp site: ftp.cs.iastate.edu URL: http://www.cs.iastate.edu/~leavens/homepage.html