diff -ruN klic-3.003-2002-02-19c/include/klic/alloc.h klic-3.003-2002-02-19d/include/klic/alloc.h
--- klic-3.003-2002-02-19c/include/klic/alloc.h	Mon Feb 18 17:11:29 2002
+++ klic-3.003-2002-02-19d/include/klic/alloc.h	Tue Feb 19 15:15:23 2002
@@ -37,7 +37,7 @@
 extern void* malloc_check(unsigned long size);
 extern void* realloc_check(void* original, unsigned long newsize);
 extern void initalloc(void);
-extern void register_gc_hook(q*(* routine)());
+extern void register_gc_hook(void (*routine)(void));
 extern void register_after_gc_hook(void (*routine)(void));
 
 #endif /* _KLIC_ALLOC_H_ */
diff -ruN klic-3.003-2002-02-19c/runtime/alloc.c klic-3.003-2002-02-19d/runtime/alloc.c
--- klic-3.003-2002-02-19c/runtime/alloc.c	Tue Feb 19 13:54:53 2002
+++ klic-3.003-2002-02-19d/runtime/alloc.c	Tue Feb 19 15:16:41 2002
@@ -100,7 +100,7 @@
 
 extern void
 register_gc_hook(routine)
-  q* (*routine)();
+  void (*routine)(void);
 {
   declare_globals;
   if (num_gc_hooks >= gc_hooktab_size) {
diff -ruN klic-3.003-2002-02-19c/runtime/asyncio.c klic-3.003-2002-02-19d/runtime/asyncio.c
--- klic-3.003-2002-02-19c/runtime/asyncio.c	Tue Feb 19 14:40:05 2002
+++ klic-3.003-2002-02-19d/runtime/asyncio.c	Tue Feb 19 15:14:54 2002
@@ -218,22 +218,17 @@
 #define CopyIfNeeded(fd, array) \
 { \
   if ((array)[fd] != 0) { \
-    set_heapp(allocp); \
     copy_one_term(&array[fd]); \
-    allocp = heapp(); \
   } \
 }
 
-static q*
-gc_asyncio_streams(allocp, ntop, otop, nsize, osize)
-     q *allocp, *ntop, *otop;
-     unsigned long nsize, osize;
+static void
+gc_asyncio_streams(void)
 {
   long fd;
   for (fd=0; fd<fd_setsize; fd++) {
     CopyIfNeeded(fd, asyncio_streams);
   }
-  return allocp;
 }
 
 extern void
diff -ruN klic-3.003-2002-02-19c/runtime/export_table.c klic-3.003-2002-02-19d/runtime/export_table.c
--- klic-3.003-2002-02-19c/runtime/export_table.c	Sun Feb 17 15:43:03 2002
+++ klic-3.003-2002-02-19d/runtime/export_table.c	Tue Feb 19 15:19:57 2002
@@ -154,10 +154,8 @@
 }
 
 
-extern q*
-gc_exp_table(allocp, ntop, otop, nsize, osize)
-     q *allocp, *ntop, *otop;
-     unsigned long nsize, osize;
+extern void
+gc_exp_table(void)
 {
   declare_globals;
 
@@ -167,15 +165,12 @@
   j = 0;
   for(i=0; i<current_exp_size; i++){
     if(exp_table[i].data != (q) UNUSED_EXPREC){
-      set_heapp(allocp);
       newdata = general_gc(&(exp_table[i].data), gcsp);
       exp_table[i].data = newdata;
-      allocp = heapp();
       j++;
     }
     if(j == active_exp_entry){
       break;
     }
   }
-  return allocp;
 }
diff -ruN klic-3.003-2002-02-19c/runtime/gc.c klic-3.003-2002-02-19d/runtime/gc.c
--- klic-3.003-2002-02-19c/runtime/gc.c	Tue Feb 19 14:37:14 2002
+++ klic-3.003-2002-02-19d/runtime/gc.c	Tue Feb 19 15:27:42 2002
@@ -573,11 +573,11 @@
   heaplimit = (interrupt_off ? real_heaplimit : 0);
   heapbottom = real_heaplimit + incrementsize;
 
+  set_heapp(allocp);
   for( k=0; k<num_gc_hooks; k++ ){
-    allocp = gc_hook_table[k](allocp, ntop, otop, nsize, osize);
+    gc_hook_table[k]();
   }
 
-  set_heapp(allocp);
   for( ; pq->prio >= 0; pq = pq->next ){
     pq->q = copy_one_queue(pq->q);
   }
diff -ruN klic-3.003-2002-02-19c/runtime/kmain.c klic-3.003-2002-02-19d/runtime/kmain.c
--- klic-3.003-2002-02-19c/runtime/kmain.c	Mon Feb 18 15:43:57 2002
+++ klic-3.003-2002-02-19d/runtime/kmain.c	Tue Feb 19 15:17:45 2002
@@ -45,9 +45,9 @@
 #define IDLE_OFF() (perfmon_state.idle_on = 0)
 
 int receive_message();
-q* gc_exp_table();
-q* gc_decode_stack();
-q* scan_imp_table();
+void gc_exp_table(void);
+void gc_decode_stack(void);
+void scan_imp_table(void);
 #endif  /* DIST */
 
 #include "options.h"
diff -ruN klic-3.003-2002-02-19c/runtime/ktimer.c klic-3.003-2002-02-19d/runtime/ktimer.c
--- klic-3.003-2002-02-19c/runtime/ktimer.c	Tue Feb 19 14:41:57 2002
+++ klic-3.003-2002-02-19d/runtime/ktimer.c	Tue Feb 19 15:22:50 2002
@@ -97,18 +97,15 @@
 }
 
 
-static q* gc_timer_data(allocp, ntop, otop, nsize, osize)
-     q *allocp, *ntop, *otop;
-     unsigned long nsize, osize;
+static void
+gc_timer_data(void)
 {
   struct timer_reservation_rec *trec;
-  set_heapp(allocp);
   for (trec = timer_reservations;
        trec != 0;
        trec = trec->next) {
     copy_one_term(&trec->data);
   }
-  return heapp();
 }
 
 void init_klic_timer_handling()
diff -ruN klic-3.003-2002-02-19c/runtime/sendrecv.c klic-3.003-2002-02-19d/runtime/sendrecv.c
--- klic-3.003-2002-02-19c/runtime/sendrecv.c	Sun Feb 17 15:43:34 2002
+++ klic-3.003-2002-02-19d/runtime/sendrecv.c	Tue Feb 19 15:21:48 2002
@@ -526,10 +526,8 @@
   }
 }
 
-extern q*
-gc_decode_stack(allocp, ntop, otop, nsize, osize)
-  q *allocp, *ntop, *otop;
-  unsigned long nsize, osize;
+extern void
+gc_decode_stack(void)
 {
   declare_globals;
   q* decode_stack_tmp;
@@ -539,13 +537,10 @@
 
   decode_stack_tmp = decode_stack;
   while( decode_stack_tmp != decode_stack_ptr ){
-    set_heapp(allocp);
     newdata = general_gc(decode_stack_tmp, gcsp);
     *decode_stack_tmp = newdata;
-    allocp = heapp();
     decode_stack_tmp++;
 
     /* fprintf(stderr, "Node %d gc_decode_stack\n", my_node); */
   }
-  return allocp;
 }
diff -ruN klic-3.003-2002-02-19c/runtime/signal.c klic-3.003-2002-02-19d/runtime/signal.c
--- klic-3.003-2002-02-19c/runtime/signal.c	Tue Feb 19 14:44:20 2002
+++ klic-3.003-2002-02-19d/runtime/signal.c	Tue Feb 19 15:23:21 2002
@@ -139,18 +139,15 @@
 
 /* Garbage collection hook */
 
-static q* gc_signal_streams(allocp, ntop, otop, nsize, osize)
-     q *allocp, *ntop, *otop;
-     unsigned int nsize, osize;
+static void
+gc_signal_streams(void)
 {
   int sig;
-  set_heapp(allocp);
   for (sig = 0; sig < NSIG; sig++) {
     if (signal_streams[sig] != 0) {
       copy_one_term(&signal_streams[sig]);
     }
   }
-  return heapp();
 }
 
 static int streamed_signal_handler(allocp, sig)
diff -ruN klic-3.003-2002-02-19c/runtime/sysc.kl1 klic-3.003-2002-02-19d/runtime/sysc.kl1
--- klic-3.003-2002-02-19c/runtime/sysc.kl1	Tue Feb 19 14:47:05 2002
+++ klic-3.003-2002-02-19d/runtime/sysc.kl1	Tue Feb 19 15:24:21 2002
@@ -13,16 +13,13 @@
 
 extern void copy_one_term();
 
-static q* gc_postmortem_args(allocp, ntop, otop, nsize, osize)
-     q *allocp, *ntop, *otop;
-     unsigned int nsize, osize;
+static void
+gc_postmortem_args(void)
 {
   declare_globals;
-  set_heapp(allocp);
   if (postmortem_args != 0) {
     copy_one_term(&postmortem_args);
   }
-  return heapp();
 }
 ".
 
