From 2220467fcf27dbdf6b0d6d8cc56eb65bc35a78ab Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Tue, 27 Apr 2010 20:13:19 +0200 Subject: [PATCH] Don't load libtcc1 on arch where it doesn't exist ARM architecture doesn't have any libtcc1 implementation but tcc load libtcc1.a in all case. This patch add a conditional preprocessor instruction to load libtcc1.a only when there is an implementation for the target architecture. --- Makefile | 1 + tccelf.c | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index f53ea85..3ee162d 100644 --- a/Makefile +++ b/Makefile @@ -49,6 +49,7 @@ endif ifeq ($(ARCH),arm) NATIVE_DEFINES=-DTCC_TARGET_ARM +NATIVE_TARGET=-DWITHOUT_LIBTCC NATIVE_DEFINES+=$(if $(wildcard /lib/ld-linux.so.3),-DTCC_ARM_EABI) NATIVE_DEFINES+=$(if $(shell grep -l "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo),-DTCC_ARM_VFP) endif diff --git a/tccelf.c b/tccelf.c index 91a203e..4ea8dc8 100644 --- a/tccelf.c +++ b/tccelf.c @@ -1232,10 +1232,14 @@ ST_FUNC void tcc_add_runtime(TCCState *s1) tcc_add_library(s1, "c"); tcc_add_file(s1, CONFIG_SYSROOT "/lib/libgcc_s.so.1"); #else - char buf[1024]; tcc_add_library(s1, "c"); - snprintf(buf, sizeof(buf), "%s/%s", s1->tcc_lib_path, "libtcc1.a"); - tcc_add_file(s1, buf); +#ifndef WITHOUT_LIBTCC + { + char buf[1024]; + snprintf(buf, sizeof(buf), "%s/%s", s1->tcc_lib_path, "libtcc1.a"); + tcc_add_file(s1, buf); + } +#endif #endif } /* add crt end if not memory output */