diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-03 12:32:01 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-03 12:32:01 +0000 |
commit | 60989daa1b1960468933a2ab85352d95829c329e (patch) | |
tree | 3362832c21f1d0c508dafc97c22449f2ea0bf225 /mjit_worker.c | |
parent | edbac1b986d6cbacf191bd1fde15e5de801a4935 (diff) |
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
Diffstat (limited to 'mjit_worker.c')
-rw-r--r-- | mjit_worker.c | 13 |
1 files changed, 8 insertions, 5 deletions
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; |