From: Andy Eskilsson 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: 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) Content-Type: text/plain; charset=US-ASCII 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