diff --git a/src/flash/flash.c b/src/flash/flash.c
index 6d47334b9302158f78c3689e112716149662871d..4df585bbc75dd9a11b008d59b03e9d4790024ddc 100644
--- a/src/flash/flash.c
+++ b/src/flash/flash.c
@@ -1178,7 +1178,7 @@ int default_flash_blank_check(struct flash_bank_s *bank)
 	int i;
 	int retval;
 	int fast_check = 0;
-	int blank;
+	u32 blank;
 
 	if (bank->target->state != TARGET_HALTED)
 	{
diff --git a/src/helper/command.c b/src/helper/command.c
index a8de14ee88bac62437a6735cdc83da8e70b8e4ad..d47203ca0060fcda7a331d2abac89a8777bbdeb2 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -653,7 +653,7 @@ static int jim_capture(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 command_context_t* command_init()
 {
 	command_context_t* context = malloc(sizeof(command_context_t));
-	extern unsigned const char startup_tcl[];
+	extern const char startup_tcl[];
 
 	context->mode = COMMAND_EXEC;
 	context->commands = NULL;
diff --git a/src/helper/jim-eventloop.c b/src/helper/jim-eventloop.c
index 7efd676330db930ce9e1837a0d1bcca50c5eacc2..625137047a0477902a246a1d9c82492a5c2c3dc8 100644
--- a/src/helper/jim-eventloop.c
+++ b/src/helper/jim-eventloop.c
@@ -524,9 +524,7 @@ static int JimELAfterCommand(Jim_Interp *interp, int argc,
 
 /* This extension is not dynamically loaded, instead it's linked statically,
    which is why we shouldn't use the unspecific 'Jim_OnLoad' name */
-#define Jim_OnLoad Jim_EventLoopOnLoad
-
-int Jim_OnLoad(Jim_Interp *interp)
+int Jim_EventLoopOnLoad(Jim_Interp *interp)
 {
     Jim_EventLoop *eventLoop;
 
diff --git a/src/helper/jim-eventloop.h b/src/helper/jim-eventloop.h
index 186190fd5d5ce11d118c6349d88d4a6377d4dcda..14887ac067ed3b9ceb00e488a24cdc8451e4730c 100644
--- a/src/helper/jim-eventloop.h
+++ b/src/helper/jim-eventloop.h
@@ -66,6 +66,8 @@ typedef void Jim_EventFinalizerProc(Jim_Interp *interp, void *clientData);
 #define JIM_API(x) x
 #define JIM_STATIC 
 
+JIM_STATIC int Jim_EventLoopOnLoad(Jim_Interp *interp);
+
 /* --- POSIX version of Jim_ProcessEvents, for now the only available --- */
 #define JIM_FILE_EVENTS 1
 #define JIM_TIME_EVENTS 2
diff --git a/src/target/target.c b/src/target/target.c
index b9d1929371349fdd4c86a3afd48c7077c89a973c..d0936d996585040898fd9a8dab87d8e94dd96273 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -2636,7 +2636,7 @@ static int target_mem2array(Jim_Interp *interp, target_t *target, int argc, Jim_
 {
 	long l;
 	u32 width;
-	u32 len;
+	int len;
 	u32 addr;
 	u32 count;
 	u32 v;
@@ -2818,7 +2818,7 @@ static int target_array2mem(Jim_Interp *interp, target_t *target, int argc, Jim_
 {
 	long l;
 	u32 width;
-	u32 len;
+	int len;
 	u32 addr;
 	u32 count;
 	u32 v;