From 2b64f2f5705384aa85b5d65c89af7c9215129917 Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 27 Apr 2003 11:45:01 +0000 Subject: added -nostdlib --- tcc.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'tcc.c') diff --git a/tcc.c b/tcc.c index 58ae72a..2ce29b1 100644 --- a/tcc.c +++ b/tcc.c @@ -392,9 +392,9 @@ struct TCCState { /* exported dynamic symbol section */ Section *dynsym; - /* if true, no standard headers are added */ - int nostdinc; - + int nostdinc; /* if true, no standard headers are added */ + int nostdlib; /* if true, no standard libraries are added */ + /* if true, static linking is performed */ int static_link; @@ -9478,8 +9478,8 @@ int tcc_set_output_type(TCCState *s, int output_type) } /* add libc crt1/crti objects */ - if (output_type == TCC_OUTPUT_EXE || - output_type == TCC_OUTPUT_DLL) { + if ((output_type == TCC_OUTPUT_EXE || output_type == TCC_OUTPUT_DLL) && + !s->nostdlib) { if (output_type != TCC_OUTPUT_DLL) tcc_add_file(s, CONFIG_TCC_CRT_PREFIX "/crt1.o"); tcc_add_file(s, CONFIG_TCC_CRT_PREFIX "/crti.o"); @@ -9620,6 +9620,7 @@ enum { TCC_OPTION_m, TCC_OPTION_f, TCC_OPTION_nostdinc, + TCC_OPTION_nostdlib, TCC_OPTION_print_search_dirs, TCC_OPTION_rdynamic, TCC_OPTION_run, @@ -9653,6 +9654,7 @@ static const TCCOption tcc_options[] = { { "m", TCC_OPTION_m, TCC_OPTION_HAS_ARG }, { "f", TCC_OPTION_f, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP }, { "nostdinc", TCC_OPTION_nostdinc, 0 }, + { "nostdlib", TCC_OPTION_nostdlib, 0 }, { "print-search-dirs", TCC_OPTION_print_search_dirs, 0 }, { "v", TCC_OPTION_v, 0 }, { NULL }, @@ -9804,6 +9806,9 @@ int main(int argc, char **argv) case TCC_OPTION_nostdinc: s->nostdinc = 1; break; + case TCC_OPTION_nostdlib: + s->nostdlib = 1; + break; case TCC_OPTION_print_search_dirs: print_search_dirs = 1; break; -- cgit v1.3.1