From d4381d2ceb725a05857e5e5f39b697f005bb5abb Mon Sep 17 00:00:00 2001 From: k0kubun Date: Thu, 2 Aug 2018 14:40:36 +0000 Subject: mjit.c: skip compaction on MinGW because linking multiple .o files is problematic without having `static` to the same function definitions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mjit.c b/mjit.c index e292c27017..29f8737115 100644 --- a/mjit.c +++ b/mjit.c @@ -872,6 +872,7 @@ link_o_to_so(const char **o_files, const char *so_file) static void compact_all_jit_code(void) { +# ifndef _WIN32 /* This requires header transformation but we don't transform header on Windows for now */ struct rb_mjit_unit *unit; struct rb_mjit_unit_node *node; double start_time, end_time; @@ -921,11 +922,11 @@ compact_all_jit_code(void) add_to_list(node, &compact_units); if (!mjit_opts.save_temps) { -#ifdef _WIN32 +# ifdef _WIN32 unit->so_file = strdup(so_file); /* lazily delete on `clean_object_files()` */ -#else +# else remove_file(so_file); -#endif +# endif } CRITICAL_SECTION_START(3, "in compact_all_jit_code to read list"); @@ -952,6 +953,7 @@ compact_all_jit_code(void) free(unit); verbose(1, "JIT compaction failure (%.1fms): Failed to compact methods", end_time - start_time); } +# endif /* _WIN32 */ } #endif /* _MSC_VER */ -- cgit v1.2.3