diff --git a/src/mzscheme/gc2/newgc.c b/src/mzscheme/gc2/newgc.c index 853f295e1c..95301fbbac 100644 --- a/src/mzscheme/gc2/newgc.c +++ b/src/mzscheme/gc2/newgc.c @@ -943,7 +943,7 @@ static void *get_backtrace(struct mpage *page, void *ptr) unsigned long delta; if (page->big_page) - ptr = PTR(page->addr + PREFIX_SIZE + WORD_SIZE); + ptr = PTR((char *)page->addr + PREFIX_SIZE + WORD_SIZE); delta = PPTR(ptr) - PPTR(page->addr); return page->backtrace[delta - 1]; diff --git a/src/mzscheme/src/salloc.c b/src/mzscheme/src/salloc.c index 1f17ee6399..07691b4b63 100644 --- a/src/mzscheme/src/salloc.c +++ b/src/mzscheme/src/salloc.c @@ -1462,7 +1462,7 @@ static void cons_onto_list(void *p) # ifdef MZ_PRECISE_GC START_XFORM_SKIP; # ifdef DOS_FILE_SYSTEM -extern void gc_fprintf(int ignored, const char *c, ...); +extern void gc_fprintf(FILE *ignored, const char *c, ...); # define object_console_printf gc_fprintf # endif # endif @@ -2039,7 +2039,7 @@ Scheme_Object *scheme_dump_gc_stats(int c, Scheme_Object *p[]) var_stack = (void **)t->jmpup_buf.gc_var_stack; delta = (long)t->jmpup_buf.stack_copy - (long)t->jmpup_buf.stack_from; /* FIXME: stack direction */ - limit = (void *)t->jmpup_buf.stack_copy + t->jmpup_buf.stack_size; + limit = (char *)t->jmpup_buf.stack_copy + t->jmpup_buf.stack_size; } GC_dump_variable_stack(var_stack, delta, limit, NULL, scheme_get_type_name, diff --git a/src/worksp/gc2/make.ss b/src/worksp/gc2/make.ss index f7635ae83d..6d271ce1bb 100644 --- a/src/worksp/gc2/make.ss +++ b/src/worksp/gc2/make.ss @@ -11,6 +11,7 @@ (system s)) (define accounting-gc? #t) +(define backtrace-gc? #f) (define opt-flags "/O2 /Oy-") (define re:only #f) @@ -169,6 +170,9 @@ (string-append "/D LIBMZ_EXPORTS " (if accounting-gc? "/D NEWGC_BTC_ACCOUNT " + "") + (if backtrace-gc? + "/D MZ_GC_BACKTRACE " "")) "mz.pch" #f)) @@ -214,6 +218,9 @@ (if accounting-gc? "/D NEWGC_BTC_ACCOUNT " "/D USE_COMPACT_3M_GC ") + (if backtrace-gc? + "/D MZ_GC_BACKTRACE " + "") mz-inc)) (c-compile "../../mzscheme/src/mzsj86.c" "xsrc/mzsj86.obj" '() mz-inc) @@ -323,7 +330,10 @@ wx-inc (and use-precomp? "xsrc/wxprecomp.h") "-DGC2_JUST_MACROS /FI../../../mzscheme/gc2/gc2.h" - "-DGC2_AS_IMPORT" + (string-append "-DGC2_AS_IMPORT" + (if backtrace-gc? + " /D MZ_GC_BACKTRACE" + "")) "wx.pch" indirect?)))