aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2014-01-03 18:17:52 +0800
committerThomas Preud'homme <robotux@celest.fr>2014-01-03 18:20:51 +0800
commit9e79b18bca641b12b6b12e5cec46202f6d6fad65 (patch)
tree35687520eaca3006f31d94ceee8637d61b87918f
parente0e9a2a29562ac0f07c5d29070e1797fa48b144f (diff)
downloadtinycc-9e79b18bca641b12b6b12e5cec46202f6d6fad65.tar.gz
tinycc-9e79b18bca641b12b6b12e5cec46202f6d6fad65.tar.bz2
Use libtcc.a for static link even with USE_LIBGCC
When statically linking, runtime library should be static as well. tcc could link with libgcc.a but it's in a gcc version specific directory. Another solution, followed by this patch, is to use libtcc.a when statically linking, even if USE_LIBGCC was configured.
-rwxr-xr-xconfigure2
-rw-r--r--tccelf.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/configure b/configure
index d654fd9..cc8ca5a 100755
--- a/configure
+++ b/configure
@@ -273,7 +273,7 @@ Advanced options (experts only):
--strip-binaries strip symbol tables from resulting binaries
--disable-static make libtcc.so instead of libtcc.a
--disable-rpath disable use of -rpath with the above
- --with-libgcc use /lib/libgcc_s.so.1 instead of libtcc.a
+ --with-libgcc use libgcc_s.so.1 instead of libtcc.a in dynamic link
--enable-mingw32 build windows version on linux with mingw32
--enable-cygwin build windows version on windows with cygwin
--enable-cross build cross compilers
diff --git a/tccelf.c b/tccelf.c
index 91155e3..caa8281 100644
--- a/tccelf.c
+++ b/tccelf.c
@@ -1363,7 +1363,12 @@ ST_FUNC void tcc_add_runtime(TCCState *s1)
if (!s1->nostdlib) {
tcc_add_library(s1, "c");
#ifdef CONFIG_USE_LIBGCC
- tcc_add_file(s1, TCC_LIBGCC);
+ if (!s1->static_link)
+ tcc_add_file(s1, TCC_LIBGCC);
+#if !defined WITHOUT_LIBTCC
+ else
+ tcc_add_support(s1, "libtcc1.a");
+#endif
#elif !defined WITHOUT_LIBTCC
tcc_add_support(s1, "libtcc1.a");
#endif