aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
authorJean-Claude Beaudoin <jean.claude.beaudoin@gmail.com>2016-09-29 16:23:11 -0400
committerJean-Claude Beaudoin <jean.claude.beaudoin@gmail.com>2016-09-29 16:23:11 -0400
commitd5a1e32ac326904696fb13b6028e5754f426bed1 (patch)
tree74ff1d5034139b26e24faee63a050b091ceff748 /libtcc.c
parentbeab3f8c715ea00af09c2df0b32ce23288384770 (diff)
downloadtinycc-d5a1e32ac326904696fb13b6028e5754f426bed1.tar.gz
tinycc-d5a1e32ac326904696fb13b6028e5754f426bed1.tar.bz2
Prevent tail spin crash when option -pthread is used.
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libtcc.c b/libtcc.c
index 827d3c0..d631a43 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -2410,8 +2410,10 @@ PUB_FUNC int tcc_parse_args(TCCState *s, int argc, char **argv)
if (s->output_type == 0)
s->output_type = TCC_OUTPUT_EXE;
- if (pas->pthread && s->output_type != TCC_OUTPUT_OBJ)
- tcc_set_options(s, "-lpthread");
+ if (pas->pthread && s->output_type != TCC_OUTPUT_OBJ) {
+ args_parser_add_file(s, "-lpthread", TCC_FILETYPE_BINARY);
+ s->nb_libraries++;
+ }
if (s->output_type == TCC_OUTPUT_EXE)
tcc_set_linker(s, (const char *)pas->linker_arg.data);