diff -urN tinycc.old/Makefile tinycc/Makefile
--- tinycc.old/Makefile	2015-03-25 18:37:57.000000000 +0300
+++ tinycc/Makefile	2015-03-25 20:45:45.000000000 +0300
@@ -140,6 +140,7 @@
 LIBTCC1_CROSS=lib/i386-win/libtcc1.a lib/x86_64-win/libtcc1.a lib/i386/libtcc1.a lib/x86_64/libtcc1.a \
     lib/arm64/libtcc1.a
 LIBTCC1=libtcc1.a
+BCHECK=yes
 else ifeq ($(ARCH),x86-64)
 NATIVE_FILES=$(X86_64_FILES)
 PROGS_CROSS=$($(I386_CROSS)_LINK) $($(WIN32_CROSS)_LINK) $($(WIN64_CROSS)_LINK)  $(ARM_CROSS) $(ARM64_CROSS) $(C67_CROSS) $(WINCE_CROSS)
@@ -284,6 +285,10 @@
 	mkdir -p "$(tccdir)/$(ARCH)"
 	$(INSTALL) -m644 $(LIBTCC1) "$(tccdir)/$(ARCH)"
 endif
+ifneq ($(BCHECK),)
+	-mkdir -p "$(tccdir)/$(ARCH)"
+	$(INSTALL) -m644 lib/$(ARCH)/bcheck.o "$(tccdir)/$(ARCH)"
+endif
 	$(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) $(top_srcdir)/tcclib.h "$(tccdir)/include"
 	mkdir -p "$(libdir)"
 	$(INSTALL) -m644 $(LIBTCC) "$(libdir)"
@@ -303,6 +308,7 @@
 	mkdir -p "$(tccdir)/arm64"
 	$(INSTALL) -m644 lib/arm64/libtcc1.a "$(tccdir)/arm64"
 	$(INSTALL) -m644 lib/i386/libtcc1.a "$(tccdir)/i386"
+	$(INSTALL) -m644 lib/i386/bcheck.o "$(tccdir)/i386"
 	$(INSTALL) -m644 lib/x86_64/libtcc1.a "$(tccdir)/x86-64"
 	$(INSTALL) -m644 $(top_srcdir)/win32/lib/*.def "$(tccdir)/win32/lib"
 	$(INSTALL) -m644 lib/i386-win/libtcc1.a "$(tccdir)/win32/lib/32"
diff -urN tinycc.old/tccelf.c tinycc/tccelf.c
--- tinycc.old/tccelf.c	2015-03-25 18:37:57.000000000 +0300
+++ tinycc/tccelf.c	2015-03-25 20:50:05.000000000 +0300
@@ -1564,7 +1564,10 @@
         pinit = section_ptr_add(init_section, 5);
         pinit[0] = 0xe8;
         put32(pinit + 1, -4);
-        sym_index = find_elf_sym(symtab_section, "__bound_init");
+	tcc_add_support(s1, "bcheck.o");
+	sym_index = find_elf_sym(symtab_section, "__bound_init");
+	if (!sym_index)
+	    tcc_error("__bound_init not defined");
         put_elf_reloc(symtab_section, init_section,
                       init_section->data_offset - 4, R_386_PC32, sym_index);
     }
