diff --git a/tcccoff.c b/tcccoff.c
index ddb296d1..0dcbe50f 100644
--- a/tcccoff.c
+++ b/tcccoff.c
@@ -84,6 +84,8 @@ int tcc_output_coff(TCCState *s1, FILE *f)
     Section *stext, *sdata, *sbss;
     int i, NSectionsToOutput = 0;
 
+    Coff_str_table = pCoff_str_table = NULL;
+
     stext = FindSection(s1, ".text");
     sdata = FindSection(s1, ".data");
     sbss = FindSection(s1, ".bss");
diff --git a/tccelf.c b/tccelf.c
index 805a885d..5971442a 100644
--- a/tccelf.c
+++ b/tccelf.c
@@ -509,7 +509,9 @@ static void relocate_section(TCCState *s1, Section *s)
     int type, sym_index;
     unsigned char *ptr;
     unsigned long val, addr;
+#if defined TCC_TARGET_I386 || defined TCC_TARGET_X86_64
     int esym_index;
+#endif
 
     sr = s->reloc;
     rel_end = (ElfW_Rel *)(sr->data + sr->data_offset);