diff --git a/src/c/alloc_2.d b/src/c/alloc_2.d
index 4bcd87d..aa68a47 100644
--- a/src/c/alloc_2.d
+++ b/src/c/alloc_2.d
@@ -33,6 +33,9 @@
 
 static void gather_statistics();
 static void ecl_mark_env(struct cl_env_struct *env);
+extern void GC_push_all(char *bottom, char *top);
+extern void GC_push_conditional(char *bottom, char *top, int all);
+extern void GC_set_mark_bit(const void *p);
 
 #ifdef GBC_BOEHM_PRECISE
 # if GBC_BOEHM
diff --git a/src/c/hash.d b/src/c/hash.d
index 43c006f..35853b3 100644
--- a/src/c/hash.d
+++ b/src/c/hash.d
@@ -46,7 +46,7 @@ _hash_eql(cl_hashkey h, cl_object x)
 		h = _hash_eql(h, x->ratio.num);
 		return _hash_eql(h, x->ratio.den);
 	case t_singlefloat:
-		return hash_string(h, (unsigned char*)&ecl_single_float(x), sizeof(ecl_signle_float(x)));
+		return hash_string(h, (unsigned char*)&ecl_single_float(x), sizeof(ecl_single_float(x)));
 	case t_doublefloat:
 		return hash_string(h, (unsigned char*)&ecl_double_float(x), sizeof(ecl_double_float(x)));
 #ifdef ECL_LONG_FLOAT
diff --git a/src/c/unixint.d b/src/c/unixint.d
index 47509a2..1ec5cbd 100644
--- a/src/c/unixint.d
+++ b/src/c/unixint.d
@@ -534,6 +534,8 @@ asynchronous_signal_servicing_thread()
 			interrupt_signal =
 				ecl_option_values[ECL_OPT_THREAD_INTERRUPT_SIGNAL];
 			sigdelset(&handled_set, interrupt_signal);
+		} else {
+			interrupt_signal = -1;
 		}
 		pthread_sigmask(SIG_BLOCK, &handled_set, NULL);
 	}
@@ -608,7 +610,7 @@ static void
 handler_fn_prototype(fpe_signal_handler, int sig, siginfo_t *info, void *data)
 {
 	cl_object condition;
-        int code, old_errno = errno;
+        int code;
 	cl_env_ptr the_env;
 	reinstall_signal(sig, fpe_signal_handler);
         /* The lisp environment might not be installed. */
@@ -783,7 +785,6 @@ ecl_check_pending_interrupts(cl_env_ptr env)
 static cl_object
 do_catch_signal(int code, cl_object action, cl_object process)
 {
-	cl_object code_fixnum = ecl_make_fixnum(code);
         if (action == ECL_NIL || action == @':ignore') {
                 mysignal(code, SIG_IGN);
                 return ECL_T;
diff --git a/src/h/external.h b/src/h/external.h
index 395316e..0959b76 100755
--- a/src/h/external.h
+++ b/src/h/external.h
@@ -1101,7 +1101,7 @@ extern ECL_API cl_object ecl_make_int64_t(ecl_int64_t i);
 #ifdef ecl_long_long_t
 extern ECL_API ecl_ulong_long_t ecl_to_ulong_Long(cl_object p);
 extern ECL_API ecl_long_long_t ecl_to_long_long(cl_object p);
-extern ECL_API cl_object ecl_make_ulong_long(ecl_ulong_long_t i);
+extern ECL_API cl_object ecl_make_ulong_Long(ecl_ulong_long_t i);
 extern ECL_API cl_object ecl_make_long_long(ecl_long_long_t i);
 #endif /* ecl_long_long_t */
 
diff --git a/src/h/legacy.h b/src/h/legacy.h
index c5e0c5f..b748f81 100644
--- a/src/h/legacy.h
+++ b/src/h/legacy.h
@@ -120,7 +120,7 @@
 
 #define number_to_float(x) ((float)ecl_to_double(x))
 
-#define ecl_make_unsigned_long_Long(o) ecl_make_ulong_long(o)
+#define ecl_make_unsigned_long_Long(o) ecl_make_ulong_Long(o)
 #define ecl_to_unsigned_long_long(o) ecl_to_ulong_long(o)
 
 #define ADIMLIM ECL_ARRAY_DIMENSION_LIMIT
