[gclist] Additional compatibilty problems with B-W GC and Win2k/xp
Sun, 20 Jan 2002 17:58:00 -0800
I've found two possible additional compatibility problems with Win2k/xp. One
is when linking the GC with a simple program that uses stream IO (cout) the
GC detects an invalid free. This appears to be fixed by not using inlines
for the global new and deletes.
The second problem has to do with small allocations. I found it by
attempting to allocate a char array of 0x75 bytes long and found that the GC
detected a smashed value. It turns out that in debug mode the DEBUG_BYTES
macro allocated one byte to less then the requested amount if
ALL_INLINE_POINTERS is active. The problem can be fixed by changing the
definition of DEBUG_BYTES.
Also, the first problem I reported a few days ago can also be fixed by
defining USE_GLOBAL_ALLOC. I'm not sure what the best solution is, that will
have to be up to someone with much more insight then I.
Finally, I've created 3 test programs that show each of these problems and a
possible fix for each. I have a 1.2MB zip file I can email to anyone that is