diff -Naurb w3m-0.5.2.orig/main.c w3m-0.5.2/main.c
--- w3m-0.5.2.orig/main.c	2007-05-31 10:19:50.000000000 +0900
+++ w3m-0.5.2/main.c	2009-11-09 08:20:02.184953443 +0900
@@ -312,7 +312,11 @@
 	    lock = 0;
 	}
     }
+#if GC_VERSION_MAJOR >= 7 && GC_VERSION_MINOR >= 2
+    else if (orig_GC_warn_proc = GC_get_warn_proc())
+#else
     else if (orig_GC_warn_proc)
+#endif
 	orig_GC_warn_proc(msg, arg);
     else
 	fprintf(stderr, msg, (unsigned long)arg);
@@ -842,7 +846,11 @@
     mySignal(SIGPIPE, SigPipe);
 #endif
 
+#if GC_VERSION_MAJOR >= 7 && GC_VERSION_MINOR >= 2
+    GC_set_warn_proc(wrap_GC_warn_proc);
+#else
     orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
+#endif
     err_msg = Strnew();
     if (load_argc == 0) {
 	/* no URL specified */
