diff -uNr tcc-0.9.27/libtcc.c tcc-0.9.27.mod/libtcc.c --- tcc-0.9.27/libtcc.c 2017-12-17 10:27:05.000000000 +0200 +++ tcc-0.9.27.mod/libtcc.c 2018-08-09 19:25:44.086756864 +0300 @@ -974,9 +974,20 @@ /* add libc crt1/crti objects */ if ((output_type == TCC_OUTPUT_EXE || output_type == TCC_OUTPUT_DLL) && !s->nostdlib) { - if (output_type != TCC_OUTPUT_DLL) + +#ifdef __ANDROID__ + if (output_type != TCC_OUTPUT_DLL) { + tcc_add_crt(s, "crtbegin_dynamic.o"); + } else { + tcc_add_crt(s, "crtbegin_so.o"); + } +#else + if (output_type != TCC_OUTPUT_DLL) { tcc_add_crt(s, "crt1.o"); + } tcc_add_crt(s, "crti.o"); +#endif // __ANDROID__ + } #endif return 0;