From 60989daa1b1960468933a2ab85352d95829c329e Mon Sep 17 00:00:00 2001 From: k0kubun Date: Mon, 3 Dec 2018 12:32:01 +0000 Subject: mjit.c: eliminate -save-temps flag in a new variable cc_common_args. `cflags=-save-temps=obj` makes MJIT fail like: https://rubyci.org/logs/www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20181203T095000Z.log.html.gz This rubyci specifies -save-temps=obj in CFLAGS to use update-deps, and the flag is harmful when we want to use -pipe flag. mjit_worker.c: prefer cc_common_args over CC_COMMON_ARGS git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit_worker.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'mjit_worker.c') diff --git a/mjit_worker.c b/mjit_worker.c index c09268f3e3..9c77722905 100644 --- a/mjit_worker.c +++ b/mjit_worker.c @@ -215,6 +215,8 @@ static VALUE valid_class_serials; /* Used C compiler path. */ static const char *cc_path; +/* Used C compiler flags. */ +static const char **cc_common_args; /* Name of the precompiled header file. */ static char *pch_file; /* The process id which should delete the pch_file on mjit_finish. */ @@ -238,10 +240,11 @@ static char *libruby_pathflag; #if defined(__GNUC__) && \ (!defined(__clang__) || \ (defined(__clang__) && (defined(__FreeBSD__) || defined(__GLIBC__)))) -#define GCC_PIC_FLAGS "-Wfatal-errors", "-fPIC", "-shared", "-w", \ - "-pipe", +# define GCC_PIC_FLAGS "-Wfatal-errors", "-fPIC", "-shared", "-w", "-pipe", +# define MJIT_CFLAGS_PIPE 1 #else -#define GCC_PIC_FLAGS /* empty */ +# define GCC_PIC_FLAGS /* empty */ +# define MJIT_CFLAGS_PIPE 0 #endif static const char *const CC_COMMON_ARGS[] = { @@ -741,7 +744,7 @@ make_pch(void) rest_args[len - 2] = header_file; rest_args[len - 3] = pch_file; verbose(2, "Creating precompiled header"); - args = form_args(3, CC_COMMON_ARGS, CC_CODEFLAG_ARGS, rest_args); + args = form_args(3, cc_common_args, CC_CODEFLAG_ARGS, rest_args); if (args == NULL) { mjit_warning("making precompiled header failed on forming args"); CRITICAL_SECTION_START(3, "in make_pch"); @@ -785,7 +788,7 @@ compile_c_to_o(const char *c_file, const char *o_file) # ifdef __clang__ files[4] = pch_file; # endif - args = form_args(5, CC_COMMON_ARGS, CC_CODEFLAG_ARGS, files, CC_LIBS, CC_DLDFLAGS_ARGS); + args = form_args(5, cc_common_args, CC_CODEFLAG_ARGS, files, CC_LIBS, CC_DLDFLAGS_ARGS); if (args == NULL) return FALSE; -- cgit v1.2.3