Mail Archives: djgpp/1997/03/14/08:36:26
/ 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 -