зеркало из https://github.com/github/ruby.git
mjit_worker.c: pass -nostdlib when making pch as well
[Bug #15513] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
b32fb23083
Коммит
ec3cdb34ce
|
@ -247,6 +247,14 @@ static char *libruby_pathflag;
|
|||
# define MJIT_CFLAGS_PIPE 0
|
||||
#endif
|
||||
|
||||
// Use `-nodefaultlibs -nostdlib` for GCC where possible, which does not work on mingw and cygwin.
|
||||
// This seems to improve MJIT performance on GCC.
|
||||
#if defined __GNUC__ && !defined __clang__ && !defined(_WIN32) && !defined(__CYGWIN__)
|
||||
# define GCC_NOSTDLIB_FLAGS "-nodefaultlibs", "-nostdlib",
|
||||
#else
|
||||
# define GCC_NOSTDLIB_FLAGS /* empty */
|
||||
#endif
|
||||
|
||||
static const char *const CC_COMMON_ARGS[] = {
|
||||
MJIT_CC_COMMON MJIT_CFLAGS GCC_PIC_FLAGS
|
||||
NULL
|
||||
|
@ -260,11 +268,8 @@ static const char *const CC_DLDFLAGS_ARGS[] = {
|
|||
MJIT_DLDFLAGS
|
||||
#if defined __GNUC__ && !defined __clang__
|
||||
"-nostartfiles",
|
||||
# if !defined(_WIN32) && !defined(__CYGWIN__)
|
||||
"-nodefaultlibs", "-nostdlib",
|
||||
# endif
|
||||
#endif
|
||||
NULL
|
||||
GCC_NOSTDLIB_FLAGS NULL
|
||||
};
|
||||
|
||||
static const char *const CC_LIBS[] = {
|
||||
|
@ -734,6 +739,9 @@ make_pch(void)
|
|||
# ifdef __clang__
|
||||
"-emit-pch",
|
||||
# endif
|
||||
// -nodefaultlibs is a linker flag, but it may affect cc1 behavior on Gentoo, which should NOT be changed on pch:
|
||||
// https://gitweb.gentoo.org/proj/gcc-patches.git/tree/7.3.0/gentoo/13_all_default-ssp-fix.patch
|
||||
GCC_NOSTDLIB_FLAGS
|
||||
"-o", NULL, NULL,
|
||||
NULL,
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче