diff --git a/Makefile b/Makefile index 4f18567..3d28f3f 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ endif endif else # not GCC ifeq (-$(findstring clang,$(CC))-,-clang-) -# make clang accept gnuisms in libtcc1.c +# make clang accept gnuisms in libcrt.c CFLAGS+=-fheinous-gnu-extensions endif endif @@ -113,29 +113,29 @@ ifdef CONFIG_WIN64 PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF) NATIVE_FILES=$(WIN64_FILES) PROGS_CROSS=$(WIN32_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS) -LIBTCC1_CROSS=lib/i386-win32/libtcc1.a -LIBTCC1=libtcc1.a +LIBTCC1_CROSS=lib/i386-win32/libcrt.a +LIBCRT=libcrt.a else ifdef CONFIG_WIN32 PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF) NATIVE_FILES=$(WIN32_FILES) PROGS_CROSS=$(WIN64_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS) -LIBTCC1_CROSS=lib/x86_64-win32/libtcc1.a -LIBTCC1=libtcc1.a +LIBTCC1_CROSS=lib/x86_64-win32/libcrt.a +LIBCRT=libcrt.a else ifeq ($(ARCH),i386) NATIVE_FILES=$(I386_FILES) PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) -LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a -LIBTCC1=libtcc1.a +LIBTCC1_CROSS=lib/i386-win32/libcrt.a lib/x86_64-win32/libcrt.a +LIBCRT=libcrt.a else ifeq ($(ARCH),x86-64) NATIVE_FILES=$(X86_64_FILES) PROGS_CROSS=$(I386_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) -LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a lib/i386/libtcc1.a -LIBTCC1=libtcc1.a +LIBTCC1_CROSS=lib/i386-win32/libcrt.a lib/x86_64-win32/libcrt.a lib/i386/libcrt.a +LIBCRT=libcrt.a else ifeq ($(ARCH),arm) NATIVE_FILES=$(ARM_FILES) PROGS_CROSS=$(I386_CROSS) $(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(C67_CROSS) -LIBTCC1=libtcc1.a -LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a lib/i386/libtcc1.a +LIBCRT=libcrt.a +LIBTCC1_CROSS=lib/i386-win32/libcrt.a lib/x86_64-win32/libcrt.a lib/i386/libcrt.a endif PROGS_CROSS_LINK=$(foreach PROG_CROSS,$(PROGS_CROSS),$($(PROG_CROSS)_LINK)) @@ -143,7 +143,7 @@ ifeq ($(TARGETOS),Darwin) PROGS+=tiny_libmaker$(EXESUF) endif -TCCLIBS = $(LIBTCC1) $(LIBTCC) $(LIBTCC_EXTRA) +TCCLIBS = $(LIBCRT) $(LIBTCC) $(LIBTCC_EXTRA) TCCDOCS = tcc.1 tcc-doc.html tcc-doc.info ifdef CONFIG_CROSS @@ -225,9 +225,9 @@ tiny_libmaker$(EXESUF): win32/tools/tiny_libmaker.c $(CC) -o $@ $< $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) # TinyCC runtime libraries -libtcc1.a : FORCE +libcrt.a : FORCE $(MAKE) -C lib native -lib/%/libtcc1.a : FORCE $(PROGS_CROSS) +lib/%/libcrt.a : FORCE $(PROGS_CROSS) $(MAKE) -C lib cross TARGET=$* FORCE: @@ -258,8 +258,8 @@ endif -$(INSTALL) -m644 tcc-doc.info "$(infodir)" mkdir -p "$(tccdir)" mkdir -p "$(tccdir)/include" -ifneq ($(LIBTCC1),) - $(INSTALL) -m644 $(LIBTCC1) "$(tccdir)" +ifneq ($(LIBCRT),) + $(INSTALL) -m644 $(LIBCRT) "$(tccdir)" endif $(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) $(top_srcdir)/tcclib.h "$(tccdir)/include" mkdir -p "$(libdir)" @@ -277,19 +277,19 @@ ifdef CONFIG_CROSS mkdir -p "$(tccdir)/win32/lib/64" ifneq ($(ARCH),i386) mkdir -p "$(tccdir)/i386" - $(INSTALL) -m644 lib/i386/libtcc1.a "$(tccdir)/i386" + $(INSTALL) -m644 lib/i386/libcrt.a "$(tccdir)/i386" cp -r "$(tccdir)/include" "$(tccdir)/i386" endif $(INSTALL) -m644 $(top_srcdir)/win32/lib/*.def "$(tccdir)/win32/lib" - $(INSTALL) -m644 lib/i386-win32/libtcc1.a "$(tccdir)/win32/lib/32" - $(INSTALL) -m644 lib/x86_64-win32/libtcc1.a "$(tccdir)/win32/lib/64" + $(INSTALL) -m644 lib/i386-win32/libcrt.a "$(tccdir)/win32/lib/32" + $(INSTALL) -m644 lib/x86_64-win32/libcrt.a "$(tccdir)/win32/lib/64" cp -r $(top_srcdir)/win32/include/. "$(tccdir)/win32/include" cp -r "$(tccdir)/include" "$(tccdir)/win32" endif uninstall: rm -fv $(foreach P,$(PROGS),"$(bindir)/$P") - rm -fv $(foreach P,$(LIBTCC1),"$(tccdir)/$P") + rm -fv $(foreach P,$(LIBCRT),"$(tccdir)/$P") rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P") rm -fv "$(tccdir)/include/tcclib.h" rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1" "$(infodir)/tcc-doc.info" @@ -310,7 +310,7 @@ install: $(PROGS) $(TCCLIBS) $(TCCDOCS) mkdir -p "$(tccdir)/doc" mkdir -p "$(tccdir)/libtcc" $(INSTALLBIN) -m755 $(PROGS) "$(tccdir)" - $(INSTALL) -m644 $(LIBTCC1) $(top_srcdir)/win32/lib/*.def "$(tccdir)/lib" + $(INSTALL) -m644 $(LIBCRT) $(top_srcdir)/win32/lib/*.def "$(tccdir)/lib" cp -r $(top_srcdir)/win32/include/. "$(tccdir)/include" cp -r $(top_srcdir)/win32/examples/. "$(tccdir)/examples" $(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) $(top_srcdir)/tcclib.h "$(tccdir)/include" @@ -320,8 +320,8 @@ install: $(PROGS) $(TCCLIBS) $(TCCDOCS) ifdef CONFIG_CROSS mkdir -p "$(tccdir)/lib/32" mkdir -p "$(tccdir)/lib/64" - -$(INSTALL) -m644 lib/i386-win32/libtcc1.a "$(tccdir)/lib/32" - -$(INSTALL) -m644 lib/x86_64-win32/libtcc1.a "$(tccdir)/lib/64" + -$(INSTALL) -m644 lib/i386-win32/libcrt.a "$(tccdir)/lib/32" + -$(INSTALL) -m644 lib/x86_64-win32/libcrt.a "$(tccdir)/lib/64" endif uninstall: @@ -340,7 +340,7 @@ tcc-doc.info: tcc-doc.texi -makeinfo $< # in tests subdir -export LIBTCC1 +export LIBCRT %est: $(MAKE) -C tests $@ 'PROGS_CROSS=$(PROGS_CROSS)' @@ -348,7 +348,7 @@ export LIBTCC1 clean: rm -vf $(PROGS) tcc_p$(EXESUF) tcc.pod *~ *.o *.a *.so* *.out *.exe libtcc_test$(EXESUF) $(MAKE) -C tests $@ -ifneq ($(LIBTCC1),) +ifneq ($(LIBCRT),) $(MAKE) -C lib $@ endif diff --git a/lib/Makefile b/lib/Makefile index e9e12f1..4bf2c7e 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,5 +1,5 @@ # -# Tiny C Compiler Makefile for libtcc1.a +# Tiny C Compiler Makefile for libcrt.a # TOP = .. @@ -38,15 +38,15 @@ endif DIR = $(TARGET) -native : ../libtcc1.a -cross : $(DIR)/libtcc1.a +native : ../libcrt.a +cross : $(DIR)/libcrt.a native : TCC = $(TOP)/tcc$(EXESUF) cross : TCC = $(TOP)/$(TARGET)-tcc$(EXESUF) -I386_O = libtcc1.o alloca86.o alloca86-bt.o $(BCHECK_O) -X86_64_O = libtcc1.o alloca86_64.o -ARM_O = libtcc1.o armeabi.o alloca-arm.o +I386_O = libcrt.o alloca86.o alloca86-bt.o $(BCHECK_O) +X86_64_O = libcrt.o alloca86_64.o +ARM_O = libcrt.o armeabi.o alloca-arm.o WIN32_O = $(I386_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o WIN64_O = $(X86_64_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o @@ -83,7 +83,7 @@ ifeq "$(TARGET)" "arm" TGT = -DTCC_TARGET_ARM XCC ?= $(TCC) -B$(TOP) else - $(error libtcc1.a not supported on target '$(TARGET)') + $(error libcrt.a not supported on target '$(TARGET)') endif endif endif @@ -102,7 +102,7 @@ ifdef XAR AR = $(XAR) endif -$(DIR)/libtcc1.a ../libtcc1.a : $(OBJ) $(XAR) +$(DIR)/libcrt.a ../libcrt.a : $(OBJ) $(XAR) $(AR) rcs $@ $(OBJ) $(DIR)/%.o : %.c $(XCC) -c $< -o $@ $(XFLAGS) diff --git a/lib/libtcc1.c b/lib/libcrt.c similarity index 100% rename from lib/libtcc1.c rename to lib/libcrt.c diff --git a/tcc.h b/tcc.h index 6a41137..b12a713 100644 --- a/tcc.h +++ b/tcc.h @@ -274,7 +274,7 @@ # define DEFAULT_ELFINTERP(s) default_elfinterp(s) #endif -/* library to use with CONFIG_USE_LIBGCC instead of libtcc1.a */ +/* library to use with CONFIG_USE_LIBGCC instead of libcrt.a */ #define TCC_LIBGCC USE_MUADIR(CONFIG_SYSROOT "/" CONFIG_LDDIR) "/libgcc_s.so.1" /* -------------------------------------------- */ diff --git a/tccelf.c b/tccelf.c index f0ed22b..5a5d4af 100644 --- a/tccelf.c +++ b/tccelf.c @@ -1443,16 +1443,16 @@ ST_FUNC void tcc_add_runtime(TCCState *s1) #ifdef CONFIG_USE_LIBGCC if (!s1->static_link) { tcc_add_file(s1, TCC_LIBGCC); - tcc_add_support(s1, "libtcc1.a"); + tcc_add_support(s1, "libcrt.a"); } else - tcc_add_support(s1, "libtcc1.a"); + tcc_add_support(s1, "libcrt.a"); #else - tcc_add_support(s1, "libtcc1.a"); + tcc_add_support(s1, "libcrt.a"); #endif } /* tcc_add_bcheck tries to relocate a call to __bound_init in _init so - libtcc1.a must be loaded before for __bound_init to be defined and + libcrt.a must be loaded before for __bound_init to be defined and crtn.o must be loaded after to not finalize _init too early. */ tcc_add_bcheck(s1); diff --git a/tccpe.c b/tccpe.c index b972d75..f7ef99e 100644 --- a/tccpe.c +++ b/tccpe.c @@ -1773,7 +1773,7 @@ static void pe_add_runtime(TCCState *s1, struct pe_info *pe) if (0 == s1->nostdlib) { static const char *libs[] = { - "libtcc1.a", "msvcrt", "kernel32", "", "user32", "gdi32", NULL + "libcrt.a", "msvcrt", "kernel32", "", "user32", "gdi32", NULL }; const char **pp, *p; for (pp = libs; 0 != (p = *pp); ++pp) { diff --git a/tests/Makefile b/tests/Makefile index e3824ba..a8b41f9 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -66,8 +66,8 @@ RUN_TCC = $(NATIVE_DEFINES) -DONE_SOURCE -run $(top_srcdir)/tcc.c $(TCCFLAGS) DISAS = objdump -d # libtcc test -ifdef LIBTCC1 - LIBTCC1:=$(TOP)/$(LIBTCC1) +ifdef LIBCRT + LIBCRT:=$(TOP)/$(LIBCRT) endif all test : $(TESTS) @@ -89,7 +89,7 @@ hello-run: ../examples/ex1.c @echo ------------ $@ ------------ $(TCC) -run $< -libtest: libtcc_test$(EXESUF) $(LIBTCC1) +libtest: libtcc_test$(EXESUF) $(LIBCRT) @echo ------------ $@ ------------ ./libtcc_test$(EXESUF) lib_path=.. @@ -101,7 +101,7 @@ moretests: $(MAKE) -C tests2 w32-prep: - cp ../libtcc1.a ../lib + cp ../libcrt.a ../lib # test.ref - generate using cc test.ref: tcctest.c @@ -242,4 +242,4 @@ clean: rm -vf *~ *.o *.a *.bin *.i *.ref *.out *.out? *.out?b *.cc \ *-cc *-tcc *.exe \ hello libtcc_test vla_test tcctest[1234] ex? tcc_g tcclib.h \ - ../lib/libtcc1.a + ../lib/libcrt.a diff --git a/tests/abitest.c b/tests/abitest.c index 3ad707a..d840d85 100644 --- a/tests/abitest.c +++ b/tests/abitest.c @@ -468,7 +468,7 @@ int main(int argc, char **argv) { const char *testname = NULL; int retval = EXIT_SUCCESS; - /* if tcclib.h and libtcc1.a are not installed, where can we find them */ + /* if tcclib.h and libcrt.a are not installed, where can we find them */ for (i = 1; i < argc; ++i) { if (!memcmp(argv[i], "lib_path=",9)) tccdir = argv[i] + 9; diff --git a/tests/libtcc_test.c b/tests/libtcc_test.c index bead0ff..4449afa 100644 --- a/tests/libtcc_test.c +++ b/tests/libtcc_test.c @@ -43,7 +43,7 @@ int main(int argc, char **argv) exit(1); } - /* if tcclib.h and libtcc1.a are not installed, where can we find them */ + /* if tcclib.h and libcrt.a are not installed, where can we find them */ if (argc == 2 && !memcmp(argv[1], "lib_path=",9)) tcc_set_lib_path(s, argv[1]+9); diff --git a/win32/tools/tiny_libmaker.c b/win32/tools/tiny_libmaker.c index 62d2a2e..29a692a 100644 --- a/win32/tools/tiny_libmaker.c +++ b/win32/tools/tiny_libmaker.c @@ -1,5 +1,5 @@ /* - * This program is for making libtcc1.a without ar + * This program is for making libcrt.a without ar * tiny_libmaker - tiny elf lib maker * usage: tiny_libmaker [lib] files... * Copyright (c) 2007 Timppa