delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/03/14/08:36:26

From: Andy Eskilsson <x-aes AT telelogic DOT se>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Boehm-Demers-Weiser Garbage Collector with DJGPP?
Date: 14 Mar 1997 10:51:57 +0100
Organization: Telelogic AB, Sweden
Lines: 72
Sender: x-aes AT vega
Message-ID: <ksendin6ma.fsf@telelogic.se>
References: <5g2tgq$35o_002 AT fmsc DOT com DOT au>
Reply-To: x-aes AT telelogic DOT se
NNTP-Posting-Host: vega.telelogic.se
Mime-Version: 1.0 (generated by tm-edit 7.101)
CC: pmonks AT iname DOT com
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

/ pmonks AT iname DOT com (Peter Monks) wrote:
| Has anyone successfully compiled the Boehm-Demers-Weiser garbage collector 
| with DJGPP?

Threw an eye at it *plunk* and found following:

Add the following code:

# ifdef __DJGPP__
#  define caddr_t void*
# endif	

before line 863 (extern caddr_t sbrk();) in os_dep.c (don't know how
quick and dirty this trick is, but sbrk seems to return void*, maybe
even a typedef would be better but ahh well :-)

Hmm managed to get it through compilation, and gctest.exe seems to work.

d:/Stuff/Porting/gc: ./gctest.exe
Completed 1 tests
Finalized 2206/2206 objects - finalization is probably ok
Total number of bytes allocated is 55226072
Final heap size is 5218304 bytes
Collector appears to work

BUT! When having norton system doctor (monitor cpu-load memory and so
on) in the background, gctest sigsegv's every time, closing system
doctorhaven't tried running it under win95's system monitor.

I don't know if I should follow it up or so, if you want more info,
just call out :-)

d:/Stuff/Porting/gc: ./gctest.exe
Exiting due to signal SIGSEGV
Page fault at eip=00004e07, error=0004
eax=000001fc ebx=00000000 ecx=00070000 edx=00000000 esi=00006980 edi=00070044
ebp=000639f8 esp=000639bc program=D:\STUFF\PORTING\GC\GCTEST.EXE
cs: sel=00f7  base=83647000  limit=fffeffff
ds: sel=00ff  base=83647000  limit=fffeffff
es: sel=00ff  base=83647000  limit=fffeffff
fs: sel=00d7  base=00008e60  limit=0000ffff
gs: sel=010f  base=00000000  limit=ffffffff
ss: sel=00ff  base=83647000  limit=fffeffff

Call frame traceback EIPs:
  0x00004e07
  0x0000493b
  0x00006c9d
  0x00006ba0
  0x000033e6
  0x000037fe
  0x000039d7
  0x00003b0c
  0x00002386
  0x00002961
  0x00009b36
[exited with 255]

Call frame traceback EIPs:
  0x00004e07   _GC_mark_from_mark_stack+631
  0x0000493b   _GC_mark_some+75
  0x00006c9d   _GC_stopped_mark+61
  0x00006ba0   _GC_try_to_collect_inner+56
  0x000033e6   _GC_init_inner+206
  0x000037fe   _GC_generic_malloc_inner+94
  0x000039d7   _GC_generic_malloc+23
  0x00003b0c   _GC_malloc+76
  0x00002386   _run_one_test+18
  0x00002961   _main+33
  0x00009b36   ___crt1_startup+138

	/Andy

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019