From 077619848623e9c7f8d6d8041596199115b7fc68 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Sun, 3 May 2020 15:49:48 -0700 Subject: [PATCH] Debug Solaris's MJIT failure using -Winvalid-pch https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T170004Z.fail.html.gz --- mjit_worker.c | 6 +++++- test/lib/jit_support.rb | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mjit_worker.c b/mjit_worker.c index 59428804eb..145ad54383 100644 --- a/mjit_worker.c +++ b/mjit_worker.c @@ -266,7 +266,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", +# ifdef __sun +# define GCC_PIC_FLAGS "-Winvalid-pch", "-fPIC", "-shared", "-w", "-pipe", +# else +# define GCC_PIC_FLAGS "-Wfatal-errors", "-fPIC", "-shared", "-w", "-pipe", +# endif # define MJIT_CFLAGS_PIPE 1 #else # define GCC_PIC_FLAGS /* empty */ diff --git a/test/lib/jit_support.rb b/test/lib/jit_support.rb index 26d3d97b8a..60944527f3 100644 --- a/test/lib/jit_support.rb +++ b/test/lib/jit_support.rb @@ -56,7 +56,7 @@ module JITSupport return @supported if defined?(@supported) @supported = RbConfig::CONFIG["MJIT_SUPPORT"] != 'no' && UNSUPPORTED_COMPILERS.all? do |regexp| !regexp.match?(RbConfig::CONFIG['MJIT_CC']) - end && !appveyor_pdb_corrupted? && !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) && /mingw/ !~ RUBY_PLATFORM && /solaris/ !~ RUBY_PLATFORM # TODO: remove mingw / solaris exclusion after investigation + end && !appveyor_pdb_corrupted? && !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) && /mingw/ !~ RUBY_PLATFORM # TODO: remove mingw exclusion after investigation end # AppVeyor's Visual Studio 2013 / 2015 are known to spuriously generate broken pch / pdb, like: